wucm667
68653fb2cc
fix: allow messages dispatch for composite groups
2026-08-21 18:01:16 +08:00
IanShaw027
7c53a842e4
合并上游 main,保留 5925 的 Grok 重试上限与 5888 的协议兼容修复
...
同账号重试采用次数上限加 deadline;畸形 tools 在出站前删除;compaction 422 与结构化错误扫描一并保留。
2026-08-21 08:49:44 +08:00
IanShaw
e62ec2c42f
Revert "feat(429): add configurable cooldown and retry strategies"
...
This reverts commit 6c3edc0956 .
2026-08-20 05:44:21 -07:00
IanShaw
6c3edc0956
feat(429): add configurable cooldown and retry strategies
2026-08-20 05:43:43 -07:00
IanShaw
39485f2e28
更新 Grok 默认模型与官方计费目录
2026-08-20 02:32:22 -07:00
IanShaw
48615d5d1f
Merge remote-tracking branch 'upstream/main' into fix/openai-responses-compatibility
...
# Conflicts:
# backend/internal/handler/ops_error_logger.go
2026-08-20 00:31:12 -07:00
Wesley Liddick
740f580801
Merge pull request #5842 from SavitarC/feat/adaptive-api-protocol
...
feat(accounts): 添加账号支持自适应API 协议
2026-08-20 14:43:41 +08:00
IanShaw
d1c6456d08
合并上游最新主分支兼容修复
2026-08-19 23:15:50 -07:00
IanShaw
e4f869e0c7
完善运维错误详情兼容展示
2026-08-19 23:13:47 -07:00
SavitarC
b3092145db
fix(accounts): harden adaptive protocol compatibility
2026-08-20 13:57:25 +08:00
Wesley Liddick
cb7fef14c0
Merge pull request #5838 from xuhaihan/fix/admin-user-role-select-styling
...
fix(frontend): align admin role selector styling
2026-08-20 13:40:21 +08:00
SavitarC
85051616f9
feat(accounts): add adaptive API protocol routing
2026-08-20 11:52:05 +08:00
Wesley Liddick
1b5dc676a9
Merge pull request #5851 from IanShaw027/feat/channel-pricing-tier-multipliers
...
fix(billing): restore Fast tier pricing under channel overrides, add configurable multipliers
2026-08-20 10:13:17 +08:00
hansnow
1f2a87adb0
fix(admin): 补全平台筛选选项
2026-08-20 10:00:09 +08:00
IanShaw
d4d2c746c5
前端:修正账号长上下文开关门控
2026-08-19 06:35:11 -07:00
IanShaw
26be82cc85
前端:配置渠道倍率并精简长上下文开关
2026-08-19 06:35:11 -07:00
Wesley Liddick
32a0d9ba2d
Merge pull request #5837 from xuhaihan/fix/cn-provider-quota-cell-layout
...
fix(frontend): prevent CN quota labels overlapping bars
2026-08-19 21:05:26 +08:00
Wesley Liddick
32ecd5cc62
Merge pull request #5847 from wucm667/feat/issue-5826-cn-header-overrides
...
feat(accounts): support header overrides for CN providers
2026-08-19 20:28:36 +08:00
wucm667
1b30a2d747
feat(accounts): support header overrides for CN providers
2026-08-19 19:03:39 +08:00
hank
63839f193a
fix(frontend): align admin role selector styling
2026-08-19 16:47:51 +08:00
hank
994fbfeddb
fix(frontend): prevent CN quota labels overlapping bars
2026-08-19 16:47:51 +08:00
hank
f917d19d3e
test(frontend): align Grok API key placeholder assertion
2026-08-19 16:47:11 +08:00
shaw
bd1ccd9736
Merge remote-tracking branch 'origin/main' into fix/issue-5796-composite-new-platforms
2026-08-19 14:47:34 +08:00
wucm667
b171bb0e4a
fix(composite): support CN providers
...
Extend composite routing, pricing, migrations, and admin options for Kimi, GLM, and DeepSeek.
2026-08-19 13:01:25 +08:00
Kingsley
58e147fba6
feat(composite): support Codex endpoints
2026-08-19 04:40:32 +00:00
Wesley Liddick
e61595fb35
Merge pull request #5780 from Randark-JMT/fix/channel-monitor-p2
...
fix(monitor): P2 audit follow-ups — credential/balance semantics, capability checks, single account load, quota placeholder UI
2026-08-19 11:21:35 +08:00
Wesley Liddick
359fd12b2e
Merge pull request #5749 from Randark-JMT/chore/remove-sora-leftovers
...
chore: remove leftover Sora references after platform removal
2026-08-19 09:41:25 +08:00
Randark
2c250bfd73
fix(monitor-ui): localize the "quota" placeholder model across monitor views
...
纯配额模式的主模型存储值是占位符 "quota"(数据源是关联账号而非模型),
此前在管理列表主模型列、用户端监控卡片、用户端详情弹窗、运行结果弹窗
四处被当作真实模型名直接渲染,读起来像假模型。
新增 useChannelMonitorFormat.formatMonitorModel:占位符替换为本地化
「配额」标签(复用既有 monitorCommon.checkMode.quota,零新增 i18n 键),
quota_probe/probe 的真实模型名不受影响;纯匹配逻辑(如 15d/30d 可用率
按模型名回查 detail)仍用原始值。
问题定位备注:另一反馈「设置页看不到 channel_monitor_show_quota 开关」
经查为部署镜像过旧(开关随 #5761 于 08-18 合入,反馈环境容器构建于
08-15),上游代码中开关完整存在,更新镜像即可,无需改码。
2026-08-18 10:35:57 +00:00
Randark
c9effc4560
fix(frontend): monitor form check-mode restore, account unbinding and mode badge
...
审计 P2-7 三处前端收尾:
- 切离 antigravity 时对称还原 check_mode:antigravity 强制 quota,但反向
切走没有还原——编辑存量 antigravity 监控换平台后停留在 quota,目标平台
未必支持。现切走时还原为 probe 并清掉占位模型 'quota'(回填值),否则
probe 模式拿 'quota' 当探活模型(与离开 grok 清 DEFAULT_GROK_MODEL
同一先例)。
- update 切回 probe 显式发 account_id=0:后端语义 0=解绑、null=不动,
此前 probe 模式 payload 带 null,存量关联永远清不掉。仅 update——
create 发 0 会落 &0 触发外键违约(API 类型注释同步写明)。
- 管理列表 provider 徽章旁并列 check_mode 徽章(checkModeLabel 此前
定义了却无处使用):quota 系=蓝、probe=中性灰,三种模式一眼可分;
i18n 复用既有 monitorCommon.checkMode.*,零新增键。
2026-08-18 10:28:28 +00:00
Wesley Liddick
e0c48a19ed
Merge pull request #5761 from Randark-JMT/feat/channel-monitor-quota-mode
...
feat(monitor): 渠道监控配额模式——关联账号展示用量/余额(重启 #5387)
2026-08-18 17:36:27 +08:00
Randark
5cbd0c96a2
fix(monitor-ui): 关联账号选择器改服务端搜索+回填,OpenAI 配额模式加消耗提示
...
- 选择器改为 /admin/accounts?platform=&search= 服务端搜索(50 条/页,
300ms 防抖由 Select 承担),AbortController + 序列守卫防乱序覆盖
- 已绑定账号不在结果页时用 getById 回填为固定选项,删除「不在列表即
静默清空绑定」;绑定仅在显式切换 provider 或账号确实失效时清空(带提示)
- OpenAI 平台配额模式显示 Codex 探测额度消耗提示;checkModeQuotaHint
修正为「不发送探活请求」不再宣称「不产生 LLM 请求」
- grok spec 补齐缺失的 accounts mock;新增账号选择器 7 用例
(加载/防抖搜索/回填保留/失效清空/提示门控/固定选项/切平台清空)
2026-08-18 09:14:44 +00:00
Randark
03c3f3b6fc
feat(ui): Select 组件支持可选远程搜索(remote/loading props + search 事件)
...
- remote 模式始终显示搜索框且不做本地过滤,输入 300ms 防抖后 emit('search')
- 关闭/卸载时取消排队中的防抖定时器,避免尾随空 query
- loading 时空态显示加载文案;未设 remote 时行为不变(回归用例保障)
2026-08-18 09:14:31 +00:00
shaw
8f6f459835
fix(channels): support kimi/zhipu/deepseek platforms in channel pricing
...
- ChannelsView platformOrder now includes the three CN provider
platforms so channel pricing can be configured for them; composite
group expansion/attachment stays limited to the five main platforms
(matches backend isConcreteRequestPlatform and composite-routes
target_platform validation)
- SyncPricingModels maps kimi->moonshot, zhipu->zhipu,
deepseek->deepseek; also fixes gemini mapping to "google" which
matched zero catalog entries (provider key is "gemini")
- Add CN platform colors to channel pricing model tag classes
2026-08-18 17:12:01 +08:00
Wesley Liddick
685455985b
Merge pull request #5765 from IanShaw027/feat/grok-from-personal-main
...
feat(grok): 用量条补齐本站 24h/7d/30d 聚合,并隐藏空预付与 0 限额已用
2026-08-18 15:35:42 +08:00
IanShaw027
fd42d3722d
fix: hide Grok prepaid and used/limit when they are empty
...
Skip the prepaid chip without a positive balance, and skip used/limit when monthly limit is 0.
2026-08-18 14:55:08 +08:00
Wesley Liddick
1870b58c1d
Merge pull request #5721 from lyy0709/codex/bulk-openai-settings
...
fix(openai): complete bulk account settings
2026-08-18 14:53:55 +08:00
IanShaw027
269fbcac0e
feat: Grok 用量条补齐本站 24h/7d/30d 聚合
...
把已有的本地窗口统计接到 Free 24h 与付费 7d/30d 进度条,避免只显示官方百分比。
2026-08-18 14:50:57 +08:00
Wesley Liddick
c792b44bb2
Merge pull request #5712 from xiaobo121388/main
...
feat: add Ollama Cloud usage query action
2026-08-18 14:05:27 +08:00
Wesley Liddick
c76ff55997
Merge pull request #2148 from feitianbubu/pr/ops-error-detail-support-custom-time
...
feat: ops 错误详情弹窗支持自定义时间区间
2026-08-18 13:52:34 +08:00
Wesley Liddick
5c12960285
Merge pull request #4005 from feitianbubu/fix/header-role-i18n
...
fix(ui): localize user role label in app header
2026-08-18 13:52:15 +08:00
Wesley Liddick
f6d6613ec6
Merge pull request #4006 from feitianbubu/fix/native-controls-dark-mode
...
fix(ui): adapt native form controls to dark mode via color-scheme
2026-08-18 13:51:57 +08:00
Wesley Liddick
5dfac8bffa
Merge pull request #4049 from feitianbubu/fix/dashboard-token-cache-breakdown
...
fix(dashboard): include cache tokens in token card breakdown
2026-08-18 13:51:42 +08:00
Wesley Liddick
632b4f4faa
Merge pull request #4053 from feitianbubu/fix/announcements-empty-state-copy
...
fix(announcements): use proper empty-state copy instead of error message
2026-08-18 13:51:21 +08:00
Wesley Liddick
3d9a0a71bd
Merge pull request #4057 from feitianbubu/fix/ops-sla-zero-window
...
fix(ops): show neutral SLA card when window has no requests
2026-08-18 13:51:09 +08:00
Wesley Liddick
8532344745
Merge pull request #5715 from wucm667/fix/issue-3917-current-main
...
fix(frontend): isolate AccountsView helper data loading
2026-08-18 13:50:39 +08:00
Randark
302a10b886
test(monitor-ui): 配额视图渲染与开关门控用例
...
- 新增 MonitorQuotaView.spec:tier window/label 的 i18n 映射与未知
token 透出、阈值配色(≥90 红/≥75 黄/其余绿)、进度条宽度钳制、
多币种余额与单余额回退、plan_level 徽章、错误截断与失败态不渲染 tiers
- 新增 MonitorCard.quota.spec:latest_quota 受系统开关门控,
无快照或开关关闭时不渲染
- 既有工厂/断言补 check_mode、account_id;provider 网格断言 4→8
2026-08-18 05:10:10 +00:00
Randark
a20e1c00cc
feat(monitor-ui): 配额模式表单、用量快照视图与 8 平台支持
...
管理端:
- MonitorFormDialog:新增检查方式三态分段控件(探活/配额/探活+配额),
provider 网格扩展至 8 平台(+antigravity/kimi/zhipu/deepseek),
国产平台默认 endpoint 预填、antigravity 强制 quota-only;配额模式
显示关联账号选择器(复用 adminAPI.accounts.list 按平台过滤),
隐藏 endpoint/api_key/模型等探活专属字段
- 新建共用 MonitorQuotaView:用量窗口进度条(阈值/样式对齐账号页
CNProviderQuotaCell)、多币种余额、plan_level 徽章与错误态;
window/label 机器 token 走 i18n,未知 token 原样透出(前向兼容)
- 列表主模型单元格内联 latest_quota;运行结果弹窗逐行展示配额;
筛选栏/模板管理/格式化 composable 同步 8 平台(配色对齐
utils/platformColors.ts);ProviderIcon 搬运 4 家官方 SVG
用户端:
- MonitorCard 支持 latest_quota,渲染受 channel_monitor_show_quota
系统开关(isChannelMonitorQuotaVisible)控制,服务端剥离为第一道防线
设置与 i18n:
- 管理设置页新增「向用户展示渠道用量/余额」开关(默认关闭);
zh/en 全量补充 providers/checkMode/quota 文案
2026-08-18 05:09:58 +00:00
Wesley Liddick
8869775ed3
Merge pull request #5636 from feitianbubu/fix/proxy-status-expired-i18n-key
...
fix(i18n): add missing expired key to account status block used by proxy list
2026-08-18 10:06:56 +08:00
Wesley Liddick
f66a42c40e
Merge pull request #5697 from feitianbubu/fix/ops-error-distribution-legend-labels
...
fix(admin): show category labels in ops error distribution legend
2026-08-18 10:05:39 +08:00
Randark
7e45634df9
chore: remove leftover Sora references after platform removal
...
PR #1463 removed the Sora platform, but some references survived:
- README/README_CN/README_JA kept the 'Sora status (temporarily
unavailable)' sections and gateway.sora_* docs that the removal PR
never touched.
- deploy/config.example.yaml still documented ~130 lines of sora_*
gateway keys, the top-level sora: direct-client/storage block, and
token_refresh.sync_linked_sora_accounts - none of which map to any
field in the config structs anymore.
- The OIDC login PR (02a66a01c , branched off pre-removal main and
merged 4 days after #1463 ) re-added the dead
PublicSettings.SoraClientEnabled field, which no code ever sets.
- A release sync (748a84d87 ) re-introduced sora i18n keys that the
later i18n split (d9e514f98 ) faithfully carried into
locales/{zh,en}/admin/{overview,settings}.ts. No component references
any of these keys.
This drops all of the above. Pure deletions, no behavior change.
2026-08-18 00:51:30 +00:00