更新日志(中文)
[1.3.57] - 2026-09-18
新增
- Codex 客户端底部额度改为跟随当前所选模型:绑定 API 服务的实例底部按当前所选模型显示各自的样式与点击弹框。GPT 原生模型恢复「账号 / 5h / 周」三个并排胶囊,点击打开账号池状态弹框(套餐明细、Grok 平台额度行、余额行、可用/异常/冷却);Grok 模型显示
● Build 94%这类「产品短名 + 剩余百分比」,点击打开 Grok 额度弹框(产品行、账号数、剩余百分比);DeepSeek 显示● 余额 ¥19.11,点击打开余额弹框(按币种的总余额)。切换模型时样式与弹框一起切换,只显示当前模型真实存在的额度,没有数据的窗口不渲染胶囊;打开模型选择器、切换推理档位时界面上的临时占位文案不会被当成模型名,底部不会跳到其它模型的样式。刷新按钮保持不变,并在刷新账号池的同时重新拉取余额与 Grok 额度。 - API 服务成员弹框支持跨平台选账号(默认全部平台):集合成员列表现在把 Codex 与 Grok 平台的账号放在同一张列表里,行内交互(勾选、优先级、生图策略默认禁用、标签、请求数)完全一致,末尾标签显示「Grok」,额度只展示 GrokBuild;顶部新增平台筛选,默认「全部平台」。勾选 Grok 账号即接入为 API 服务上游,模型目录自动带入(默认
grok-4.6 / grok-4.5 / grok-4.3,可在「模型与能力」中调整),也可用于混合模型路由;上游凭据由 Grok 账号统一维护,令牌过期自动刷新,本地网关仍按实例独立启动。Grok 账号只在这个入口添加,「添加账号」弹框不再单独提供 Grok 页签。
变更
- 「添加账号」弹框页签顺序调整:顺序改为「官方登录 → OAuth 授权 → Token / JSON → API Key → 导入」,官方登录排在最前,并且打开弹框时默认就选中官方登录。
- API 服务点击弹框新增一行余额:绑定 API 服务的实例底部仍只显示账号池与额度徽章,点开弹框后在配额明细下方显示一行「余额 ¥xx.xx」。余额汇总 API 服务账号池里可查官方余额的 DeepSeek 账号,按币种合并;池里没有这类账号时不显示该行,也不展示总余额、赠金余额、充值余额等明细。
修复
- 修复上下文压缩使用切换前的旧模型(例如 gpt-5.5):账号池里没有能承接官方 GPT 模型的账号(例如只加了 Grok)时,API 服务与实例 profile 现在会强制走本地压缩——压缩由当前选择的模型完成,不再把远端压缩请求带着旧模型 ID 发出去;含 OAuth 订阅账号或声明了 GPT 壳位的账号池(DeepSeek 网关模式)行为不变。
- 修复账号池没有 GPT 能力时仍显示官方 GPT 模型:API 服务与供应商网关 profile 的客户端模型清单改为只反映账号池真实能承接的模型——账号池为空、或池里只有 Grok 等第三方账号且其目录里没有 GPT/Codex 名称时,不再塞入官方推荐 GPT 集(客户端内部需要的隐藏条目仍保留)。OAuth 订阅账号、以及声明了 GPT 壳位的供应商账号行为不变。
- 修复账号池没有 GPT 能力时仍显示
GPT-5.6 Reserve:API 服务 profile 的客户端模型目录只会在已有官方 GPT 模型、或用户自己列出gpt-reserve时才追加额度兜底条目;账号池清单也不再在没有账号可承接官方模型时保留它,只加 DeepSeek / Grok 账号的池子不会再出现该选项。 - 修复 Grok 供应商账号在账号总览里多占一行:加入 API 服务的 Grok 账号只在「添加至 API 服务」的 Grok 平台行里呈现,不再同时出现在账号总览的账号列表与统计里(成员弹框仍拿完整账号列表,勾选状态不受影响)。
- 修复 GPT 名字的请求被静默交给 DeepSeek 导致工具调用失效:DeepSeek 供应商账号不再把 Codex 内置模型 id(
gpt-5.6-sol/gpt-5.6-terra/gpt-5.6-luna)当作客户端可见模型名,存量模型映射会迁移为 DeepSeek 官方 slug 加当前目录壳位;provider gateway 也不再把未声明的 Codex/GPT 模型 id 兜底成默认上游模型,因此 GPT 请求会明确报「模型不可用」,而不是由只能返回文本工具调用标记(如 DeepSeek 的<||DSML||...>)的非 GPT 上游作答。 - 修复切换实例绑定后 DeepSeek 余额徽标与 API 服务额度徽章重叠:切换绑定会残留上一套注入的宿主节点和定时器,两套徽章此前会叠在同一位置。现在 API 服务注入运行时会清理残留的余额宿主,切到 DeepSeek 绑定时会清理残留的额度徽章,同一位置只保留与当前绑定匹配的那一套。
- 修复上游内容审核 4xx 把 Codex 会话卡在重连循环:DeepSeek 等上游返回
Content Exists Risk这类内容审核 400/403 时,本地网关不再把原始错误抛给客户端,而是以 200 正常结束本轮并给出「本轮内容被上游内容审核拦截,请切换模型后重试」的明确文案;普通参数错误、额度与限流仍按原状态码返回。 - 修复开启混合模型路由会隐式打开「开机自启」与「启动最小化」:此前开启实例的第三方 API 路由时会一并把
app_auto_launch_enabled与startup_minimized写入全局配置,这两个开关会在没有告知的情况下被打开。现在路由不再改写这些通用设置,两个开关完全由用户控制;开启确认弹框也不再提示会启用开机自启。
Changelog (English)
[1.3.57] - 2026-09-18
Added
- The Codex client quota badge now follows the selected model: instances bound to the API service show each model's own badge style and its own popover. Native GPT models keep the three side-by-side
Accounts / 5h / Weeklypills, and clicking one opens the account-pool popover (plan breakdown, a Grok platform quota row, balance rows, and the available / abnormal / cooling footer); Grok models show● Build 94%— a short product name plus the remaining percentage — and clicking it opens a Grok quota popover (product row, account count, remaining percentage); DeepSeek shows● 余额 ¥19.11(Balance ¥19.11) and opens a balance popover that lists the total balance per currency. Switching models switches the style and the popover together, only quota the current model really has is rendered (windows without data produce no pill), and the temporary placeholder text shown while the model picker is open or the reasoning effort is changed is never treated as a model name, so the badge cannot jump to another model's style. The refresh button is unchanged and now also re-fetches the balance and Grok quotas alongside the account pool. - The API-service members dialog now picks accounts across platforms (all platforms by default): Codex and Grok platform accounts share one member list with identical row interactions — selection, priority, image policy (disabled by default), tag and request count — while the trailing tag reads
Grokand the quota shows only GrokBuild. A new platform filter defaults to All platforms. Selecting a Grok account makes it an API-service upstream and brings in the model catalog automatically (grok-4.6 / grok-4.5 / grok-4.3by default, editable under Models & Capabilities); the account can also be used in mixed model routing. Credentials stay managed by the Grok account, tokens refresh automatically, and the local gateway still starts per instance. Grok accounts are added only from this entry; the Add-account dialog no longer offers a Grok tab.
Changed
- Reordered the Add-account dialog tabs: the order is now Official login → OAuth authorization → Token / JSON → API Key → Import, with official login first and selected by default when the dialog opens.
- The API-service popover now shows a balance line: instances bound to the API service still show only the account-pool and quota badges at the bottom, and opening the popover now shows a single
Balance ¥xx.xxline below the quota breakdown. The value sums the DeepSeek accounts in the API-service pool whose official balance endpoint is available, merged per currency, and the line is hidden when no such account exists. No total, granted or topped-up breakdown is shown.
Fixed
- Fixed context compaction using the previously selected model (for example gpt-5.5): when the account pool has no account that can serve official GPT models (for example a Grok-only pool), API-service and instance profiles now force local compaction, so compaction runs on the currently selected model instead of sending a remote compaction request that still carries the old model ID. Pools with an OAuth subscription account or with provider accounts that declare GPT shell slots (DeepSeek gateway mode) are unchanged.
- Fixed official GPT models still showing when the account pool has no GPT capability: the client model list for API-service and provider-gateway profiles now reflects only what the pool can actually serve — with an empty pool, or with only third-party accounts such as Grok whose catalogs contain no GPT/Codex names, the official GPT set is no longer injected (hidden client-internal entries remain). OAuth subscription accounts and provider accounts that declare GPT shell slots behave as before.
- Fixed
GPT-5.6 Reservestill showing when the account pool has no GPT capability: the API-service profile catalog only appends the quota fallback entry (gpt-reserve) when the catalog already contains an official GPT model or the user explicitly listed it, and the pooled model list no longer keeps it when no account can serve official models — a pool with only DeepSeek / Grok accounts no longer offers it. - Fixed the Grok provider account taking an extra row in the accounts overview: a Grok account added to the API service is now represented only by its Grok platform row inside Add to API service, and no longer also appears in the overview account list and counts (the members dialog still receives the full account list, so its selection state is unaffected).
- Fixed GPT-named requests being silently answered by DeepSeek and losing tool calls: DeepSeek provider accounts no longer expose Codex built-in model IDs (
gpt-5.6-sol/gpt-5.6-terra/gpt-5.6-luna) as client-visible models, and existing mappings are migrated to DeepSeek official slugs plus the current catalog shells. A provider gateway also stops falling back to its default upstream model for an undeclared Codex/GPT model ID, so a GPT request is reported as unavailable instead of being answered by a non-GPT upstream that can only return raw text tool-call markup (for example DeepSeek's<||DSML||...>). - Fixed the DeepSeek balance badge overlapping the API-service quota badges after switching an instance binding: switching the binding left the previous injection's host node and timers behind, so both badge rows were drawn on top of each other. API-service injection now cleans up a leftover balance host, and switching to a DeepSeek binding cleans up a leftover quota badge, so only the injection matching the current binding stays in place.
- Fixed upstream content-moderation 4xx trapping a Codex thread in reconnect loops: when an upstream such as DeepSeek returns a content-moderation 400/403 (
Content Exists Riskand similar), the local gateway no longer forwards the raw error; it completes the turn with HTTP 200 and a clear notice that the turn was blocked and the model should be switched. Ordinary validation errors, quota and rate-limit responses are unchanged. - Fixed mixed model routing silently turning on "Launch at login" and "Start minimized": enabling an instance's third-party API routing also wrote
app_auto_launch_enabledandstartup_minimizedinto the global config, so both switches were turned on without telling you. Routing no longer touches those general settings and both switches are controlled only by you; the enable-confirmation dialog no longer says launch at login will be turned on.