更新日志(中文)
[1.3.35] - 2026-09-01
新增
- Codex Desktop 支持混合模型路由:Codex 实例可选将指定模型或 namespace 分流到已配置的第三方 API,同时让官方订阅模型继续走官方链路;启动预览现提供路由开关、供应商/模型选择和模型可见性同步。
- 支持 DeepSeek V4 Flash Vision:新增
deepseek-v4-flash-vision-exp视觉模型及图片输入元数据,Codex 可通过原生直连和 Provider gateway 链路发送input_image内容。 - Cursor 配额失败账号筛选与批量删除:账号列表可快速定位配额查询失败的账号,并一次性删除筛选结果。
变更
- Codex API Service 异常账号弹框改为纯账号级展示:不再单独显示池级摘要;每个不可用账号会展示对应模型、失败原因,并在可恢复时提供单账号或全部恢复操作。
- 各平台添加账号弹框尺寸统一:桌面端统一采用 Codex 的 760px 大弹框基准,移动端继续自适应可用宽度。
- 混合路由生命周期隔离:第三方 Provider gateway 按 Codex profile 独立管理;关闭路由或停止 profile 时会恢复 Cockpit 管理的
config.toml状态,启动中断或失败也会执行相同的回退清理。 - 托盘菜单重建合并:150ms 短窗口内的重复重建请求会合并处理,减少账号变更期间的重复磁盘读取。
- 侧边栏布局跨版本保留:布局保存到数据目录的
ui_preferences.json,升级后自动恢复并兼容旧的平台条目。
修复
- 恢复 WorkBuddy、CodeBuddy 与 CodeBuddy CN 在新版官方客户端下的额度查询:OAuth 与刷新请求头、WorkBuddy 接口及带版本号的登录参数、个人/企业计费请求体、响应解析、无限额度和 WorkBuddy 共享登录文件布局均与最新版官方行为对齐;刷新失败时保留原额度快照。
- 修复 Qoder OAuth 授权完成后弹框停留且账号未显示的问题:授权成功现在会确认新账号已写入并出现在列表后自动关闭弹框;列表读取异常或账号不可见时保留弹框并提示失败,避免显示假成功。
- 修复 Qoder macOS 切号仍复用旧内存会话的问题:现在可以识别并关闭当前版本的
Qoder IDE.app主进程,再注入凭据并重新启动默认实例。 - 修复 Codex API Service 激活忽略所选实例的问题:从非默认实例激活时,现在会准备并启动所选 profile,不再固定修改和启动
__default__。 - 对齐 ZCode 3.10.2 客户端的额度查询:请求补齐官方来源元数据与设备标识,避免服务端将请求判定为
parameter error;支持数字字符串形式的余额与重置时间,官方成功但暂无套餐时保留套餐标签并清除旧失败状态。 - 对齐 Devin/Windsurf 官方额度请求元数据:额度查询会从已安装客户端动态读取产品版本与 Language Server 版本,避免旧的
1.0.0占位版本被服务端拒绝。 - 对齐 Claude 官方客户端的新额度响应:账号管理现在支持解析最新版 Claude Desktop 返回的
limits[]额度封装,覆盖会话、周额度、Sonnet 专属额度和额外用量。 - 修复 Codex API Service 高流量统计反复复制无界内存事件历史的问题:历史日志改为从 SQLite 流式聚合,运行时只保留最近 100 条事件,统计落盘也不再重复复制事件列表。
- 过期 Codex 订阅按有效套餐归类:已过期的 Plus/Pro 账号会显示并分组为
FREE,本地 API Service 的免费账号限制也使用有效套餐判断。
感谢 @enenH(#2159)、@we1jia(#2155)、@HUF457(#2110)、@yifayun(#2089)、@Jonesxq(#1986)和 @TakaSoap(#2056)的贡献。
Changelog (English)
[1.3.35] - 2026-09-01
Added
- Mixed model routing for Codex Desktop: Codex instances can optionally route selected models or namespaces to configured third-party API providers while keeping official subscription models on the official route. The launch preview now provides the routing switch, provider/model selection, and synchronized model visibility.
- DeepSeek V4 Flash Vision support: The dedicated
deepseek-v4-flash-vision-expmodel is now exposed with image-input metadata, allowing Codex to sendinput_imagecontent through the native and provider-gateway paths. - Cursor quota-failure filtering and batch deletion: quickly find accounts whose quota lookup failed and delete all filtered failures in one action.
Changed
- Codex API Service account issues now use an account-only view: the dialog no longer shows a separate pool-level summary; every unavailable account shows the affected model and failure reason, with per-account or bulk recovery when available.
- Unified account-add dialog sizing across platforms: desktop dialogs now use the same 760px wide-dialog baseline as Codex while continuing to fit the available width on mobile screens.
- Mixed-routing lifecycle isolation: third-party provider gateways are managed per Codex profile, and disabling routing or stopping a profile restores the Cockpit-managed
config.tomlstate. Aborted or failed launches also perform the same fallback cleanup. - Coalesced tray-menu rebuilds: duplicate rebuild requests within a 150 ms window are merged, reducing repeated disk reads during account changes.
- Sidebar layout survives updates: the layout is persisted to
ui_preferences.jsonin the data directory and restored after upgrades, including remapping legacy platform entries.
Fixed
- Restored WorkBuddy, CodeBuddy, and CodeBuddy CN quota queries against current official clients: OAuth and refresh headers, WorkBuddy endpoints and versioned login parameters, personal and enterprise billing payloads, response parsing, unlimited quotas, and WorkBuddy's shared sign-in file layout now follow the latest official behavior; failed refreshes preserve the previous quota snapshot.
- Fixed Qoder OAuth completion leaving the dialog open without showing the account: authorization now confirms that the new account is persisted and visible in the list before closing the dialog; list failures or a missing account keep the dialog open and report failure instead of showing a false success.
- Fixed Qoder account switching on macOS reusing the previous in-memory session: the current
Qoder IDE.appmain process is now detected and closed before credentials are injected and the default instance is relaunched. - Fixed Codex API Service activation ignoring the selected instance: activating from a non-default instance now prepares and launches that profile instead of always changing and starting
__default__. - Aligned ZCode quota queries with the 3.10.2 desktop client: official source metadata and device identity headers are now sent so the service does not reject requests as
parameter error; numeric-string balances and reset timestamps are accepted, and a successful no-plan response preserves the plan label while clearing stale failures. - Aligned Devin/Windsurf quota-request metadata with the official client: quota queries now read the installed product and Language Server versions dynamically instead of sending stale
1.0.0placeholders that current servers can reject. - Aligned Claude Web quota parsing with the current official client: the account manager now reads the
limits[]usage envelope (including session, weekly, Sonnet-scoped, and extra-usage meters) returned by the installed Claude desktop client. - Fixed Codex API Service high-volume statistics repeatedly copying unbounded in-memory event history: historical logs are now aggregated from SQLite as a stream, the runtime keeps only the latest 100 events, and persistence no longer duplicates the event list.
- Expired Codex subscriptions are classified by effective plan: expired Plus/Pro accounts now display and group as
FREE, and local API Service free-account limits use the effective plan as well.
Thanks @enenH (#2159), @we1jia (#2155), @HUF457 (#2110), @yifayun (#2089), @Jonesxq (#1986), and @TakaSoap (#2056) for their contributions.