更新日志(中文)
[1.3.15] - 2026-07-29
新增
- Grok CLI 支持第三方 API Key 接口:添加账号时可选择 xAI 官方或 OpenAI 兼容第三方接口,并配置 Base URL、模型 ID 与 API Key;API Key 账号使用独立
GROK_HOME,不会覆盖官方 OAuth 登录,密钥只注入对应的 CLI 进程。 - CodeBuddy CN 新增可选的切号共享本地会话能力:开关默认关闭;开启后切换本机账号时会合并本地会话正文与恢复数据库,修改前创建本地备份,内容不会上传。
- Codex 模型供应商一键测试支持先选模型再测:可从已选供应商的模型目录中选择、手动输入模型 ID,或保持自动探测,不再固定只用优先模型测试。(#1729)
- Codex API 服务请求日志可展示思考强度与服务等级:请求带有
reasoning.effort/reasoning_effort或service_tier时,日志列表会显示对应值,便于核对实际调用参数。(#1690) - Codex 可隐藏中转站额度:在设置与 Codex 快捷设置中提供开关,可隐藏中转 / New API 类额度面板,减轻列表重叠与视觉干扰;偏好写入用户配置。(#1692)
- 编辑 Codex 模型供应商时,已有 API Key 较多可搜索定位。(#1750)
- WorkBuddy 支持可配置自动签到:默认关闭;可按账号设置随机签到时间段与日志保留,不会在未开启时对已有账号发起签到。
- macOS 菜单栏可显示实时额度:默认关闭;可在设置中选择监控平台,并可选显示账号标识前缀。
- MFA 速查支持 Google Authenticator 迁移二维码批量导入:可扫描
otpauth-migration://迁移码并批量写入本地 MFA 记录。 - Claude 额度展示可切换「已用% / 剩余%」:默认仍为已用百分比;开启后仅改变 UI 展示,自动切号与预警阈值仍按已用比例计算。
变更
- ChatGPT Web Session 导入改为仅支持查看额度:不再自动注册为 Agent Identity,也不再加入 Codex API 服务账号池;导入后可查看额度,但不能切号、启动官方客户端或 CLI,也不能加入 API 服务或作为 OAuth 绑定账号。
- Codex API 服务透明对齐官方 Multi-Agent V2 请求逻辑:仅对 Codex Desktop 与
codex-tui请求生效;网关按上游模型目录更新spawn_agent描述、规范化加密 agent 消息、为非 Codex 上游协议完成转换,并在响应中恢复 collaboration namespace,不新增用户操作流程或设置项。 - Codex API 用量统计升级为 canonical token accounting v2:输入缓存读写、未缓存输入、普通输出与推理输出使用互斥桶统计;矛盾或无法分类的上游数据明确标记为
inconsistent/unclassified,避免缓存和推理 token 重复计数。 - Codex API 服务账号成员支持明确设置“最高 / 正常 / 最低”三级使用优先级:三级优先级统一作用于所有调度策略与会话亲和;最高优先使用,正常账号继续遵循所选调度规则,最低仅在更高优先级账号不可用时使用。旧版备用账号配置继续兼容并视为最低优先级。
- Codex API 服务主页面的调度选项补齐会话亲和及过期时间设置:可直接启用或关闭会话亲和,并配置与成员管理弹框一致的 60~86400 秒 TTL。
- Responses 中转类 API Key 切号改为走内置 OpenAI provider +
openai_base_url:与官方直连投影方式对齐,避免误用 local-access provider 标识。 - CI 构建矩阵与正式发布工作流加速:preflight 拆分为可并行步骤,并优化缓存与矩阵调度。
修复
- 修复 Codex API 服务平均延迟把失败或 0ms 通讯错误也算进均值的问题:平均延迟仅统计成功请求。(#1657)
- 修复 Windows NSIS 重装/更新时桌面快捷方式重复堆积的问题:安装前会清理 Cockpit Tools 已知的历史桌面与开始菜单快捷方式,再创建当前版本快捷方式。(#1656)
- 修复 Codex 自动压缩上下文后,xAI 等严格校验的 Chat Completions 服务商返回 HTTP 400 的问题:Responses→Chat Completions 转换在没有有效工具时会移除
tool_choice,避免客户端进入无限重连。(#1727) - 修复导入 ChatGPT Web Session 时因 Agent Identity runtime 注册返回 HTTP 403 导致导入失败的问题:此类格式不再发起 runtime 注册,按仅查额账号导入。
- 修复 Windows Desktop 会话路径含
\\?\\前缀时工作目录规范化异常的问题。 - 修复自定义图标写入 localStorage 配额失败时可能撑坏布局的问题。
- 修复 Windows CLI 快速启动在
system终端下弹出裸 PowerShell 的问题:检测到 Windows Terminal 时优先通过wt启动,未安装时保持原有回退。 - 修复 Codex API 服务页等处硬编码中文 fallback 的问题:补齐对应 i18n 键与默认文案。
- 修复 Codex Responses 在 HTTP 与 WebSocket 切换、上游 1009 关闭或失败 tool turn 后可能丢失上下文或污染后续请求的问题:增量请求只复用原 WebSocket 与原账号,无法安全续接时要求完整重放;1009 不再触发账号轮转,失败 turn 不再写入全局 tool cache。
- 修复第三方 Responses 上游明确拒绝
input[N].namespace或max_output_tokens时请求直接失败的问题:仅在 400 且上游明确返回 unknown/unsupported parameter 时删除被拒字段并安全重试,保留最多 6 次、请求体去重及工具项类型校验。 - 修复 Codex Responses 输入项 ID 超出 64 字符导致上游拒绝的问题:超长 ID 按 Unicode 字符确定性缩短并避免冲突;携带加密内容的超长 reasoning 项按官方兼容规则移除。
- 修复 Codex API 服务混合套餐账号池可能将 Spark 请求路由到无权限账号的问题:网关根据账号额度中的模型权限生成账号级排除规则,并在会话亲和及其他调度规则前过滤不支持的账号;OAuth 与限定账号范围的 API Key 池均会只把 Spark 请求发送给真正可用的账号。感谢 @kin001(#1759)。
- 修复 Codex 切号会重置 Memories 等官方
[features]设置的问题:启动前清理现在会完整保留官方 features 表,仅继续修复 Cockpit 管理的配置格式。感谢 @we1jia(#1734)。 - 修复 Cockpit 重启而受管 Codex 实例仍在运行时额度浮层无法恢复的问题:启动后会在后台识别已经运行的默认实例与多开实例,恢复其真实 CDP 端口及 profile 专属注入,不阻塞主窗口显示。
- 修复 Codex profile 切回内置 OpenAI 模式后仍残留 API 服务模型目录的问题:只清理 Cockpit 预留的目录及接管备份,保留用户自定义目录,后续切号或 API Key 模型目录同步不再复用过期模型。感谢 @kin001(#1718)。
- 修复 New API 供应商仅返回 Token 分配或计费字段时账号不显示额度的问题:账号页、首页与供应商页面统一兼容
quotaLimit、quotaRemaining和accessUntil备用字段。感谢 @kin001(#1712)。 - 修复二进制或无效 UTF-8 rollout 文件导致 Codex 启动或会话可见性修复失败的问题:修复流程现在只处理普通
rollout-*.jsonl文件,遇到不可读条目会记录诊断并跳过,不再中断启动。感谢 @kin001(#1710)。 - 修复 xAI 图片生成与编辑请求遗漏用量统计的问题:成功请求、上游失败、限流和请求构造失败都会写入用量事件,并记录实际请求模型。感谢 @Ac-spider(#1629)。
- 修复 Codex 批量导入过快完成时可能一直停留在准备状态的问题:扫描先于前端取得会话 ID 完成时,会立即恢复已持久化的最终预览,不改变导入协议或凭据格式。感谢 @HUF457(#1716)。
Changelog (English)
[1.3.15] - 2026-07-29
Added
- Grok CLI supports third-party API Key endpoints: when adding an account, users can choose official xAI or an OpenAI-compatible third-party endpoint and configure its Base URL, model ID, and API key; API-key accounts use an isolated
GROK_HOME, do not overwrite the official OAuth login, and inject the key only into the corresponding CLI process. - CodeBuddy CN adds optional local-session sharing when switching accounts: the switch is off by default; when enabled, account switches merge local session content and restore databases, create a local backup before changes, and do not upload session content.
- Codex model-provider one-click test supports choosing the model first: pick a model from selected providers’ catalogs, enter a custom model ID, or keep auto discovery instead of always testing a fixed preferred model. (#1729)
- Codex API Service request logs show reasoning effort and service tier: when the request carries
reasoning.effort/reasoning_effortorservice_tier, the log list shows those values so users can verify what was actually called. (#1690) - Codex can hide relay-station quota: a setting in Settings and the Codex quick-settings popover hides mid-relay / New API style balance panels to reduce clutter; the preference is stored in user config. (#1692)
- Editing a Codex model provider with many API keys supports searching the existing-key list. (#1750)
- WorkBuddy supports configurable auto check-in: off by default; users can set per-account random check-in windows and log retention, and saved accounts are never checked in while the feature is disabled.
- macOS menu bar can show live quota: off by default; users can pick the monitored platform and optionally show an account-prefix badge.
- MFA vault supports Google Authenticator migration QR batch import:
otpauth-migration://payloads can be scanned and saved into local MFA records in bulk. - Claude quota display can switch between used % and remaining %: used percentage remains the default; enabling remaining % only changes presentation while auto-switch and alert thresholds still use the used ratio.
Changed
- ChatGPT Web Session imports now support quota viewing only: they are no longer registered automatically as Agent Identity accounts and are not added to the Codex API Service account pool; after import, quota can still be checked, but switching, launching the official client or CLI, joining API Service, and OAuth binding are blocked.
- Codex API Service now transparently aligns official Multi-Agent V2 requests with upstream behavior: only Codex Desktop and
codex-tuirequests are eligible; the gateway refreshesspawn_agentmodel details, normalizes encrypted agent messages, converts them for non-Codex upstream protocols, and restores the collaboration namespace in responses without adding a user-facing workflow or setting. - Codex API usage now follows canonical token accounting v2: cache reads, cache writes, uncached input, non-reasoning output, and reasoning output use mutually exclusive buckets, while contradictory or unknown upstream data is explicitly classified as
inconsistentorunclassifiedto prevent cache and reasoning token double-counting. - Codex API Service account members now support explicit Highest, Normal, and Lowest usage priorities: priority tiers apply consistently across every routing strategy and session affinity; Highest accounts are used first, Normal accounts keep the selected routing behavior, and Lowest accounts are used only when the higher tiers are unavailable. Existing backup-account settings remain compatible as Lowest priority.
- Codex API Service routing options now expose session affinity and its expiry in the main service page: users can enable or disable affinity and set the same 60–86,400 second TTL available from the member-management dialog.
- Responses relay API Key projections now use the built-in OpenAI provider with
openai_base_url: this aligns desktop switch projections with official direct routing and avoids the local-access provider id for ordinary relays. - CI build-matrix and release workflows are faster: preflight work is split into parallel jobs with improved caching and matrix scheduling.
Fixed
- Fixed Codex API Service average latency including failed or zero-ms transport errors: latency averages now count successful requests only. (#1657)
- Fixed Windows NSIS reinstalls/updates leaving duplicate desktop shortcuts: the installer removes known prior desktop and Start Menu shortcuts for Cockpit Tools before creating the current ones. (#1656)
- Fixed strict Chat Completions providers such as xAI returning HTTP 400 after Codex automatic context compaction: Responses-to-Chat-Completions conversion now omits
tool_choicewhen no effective tools are available, preventing the client from entering a reconnect loop. (#1727) - Fixed ChatGPT Web Session imports failing when Agent Identity runtime registration returned HTTP 403: this format no longer attempts runtime registration and is imported as a quota-only account.
- Fixed Windows Desktop session working-directory normalization when paths use the
\\?\\prefix. - Fixed layout breakage when custom icon localStorage writes hit quota errors.
- Fixed Windows CLI quick launch opening a bare PowerShell window for the
systemterminal: when Windows Terminal is available the launch goes throughwt, otherwise the previous PowerShell fallback remains. - Fixed hardcoded Chinese fallback strings on the Codex API Service page and related controls: missing i18n keys and default strings are filled in.
- Fixed Codex Responses losing context or contaminating later requests after HTTP/WebSocket transport changes, upstream 1009 closes, or failed tool turns: incremental requests remain bound to the original WebSocket and credential, unsafe continuation requires a full replay, 1009 no longer rotates credentials, and failed turns never commit to the global tool cache.
- Fixed third-party Responses requests failing immediately when upstream explicitly rejects
input[N].namespaceormax_output_tokens: only explicit 400 unknown/unsupported-parameter responses remove the rejected field and retry, retaining the upstream six-attempt limit, body-state deduplication, and tool-item type checks. - Fixed Codex Responses input item IDs longer than 64 characters being rejected upstream: overlong IDs are shortened deterministically by Unicode character count with collision avoidance, while overlong reasoning items carrying encrypted content are removed according to the upstream compatibility rule.
- Fixed Codex API Service mixed-plan account pools routing Spark requests to accounts without access: the gateway derives per-account model exclusions from quota entitlements and filters ineligible accounts before session affinity and other routing rules; both OAuth pools and API Key pools scoped to selected accounts now send Spark requests only to accounts that support it. Thanks @kin001 (#1759).
- Fixed Codex account switching resetting official
[features]settings such as Memories: pre-launch cleanup now preserves the complete official features table while continuing to repair only Cockpit-owned configuration formatting. Thanks @we1jia (#1734). - Fixed quota overlays not recovering when Cockpit restarts while managed Codex instances remain open: startup now discovers the already-running default and multi-instance processes in the background, recovers their actual CDP ports, and restores profile-specific injection without blocking the main window.
- Fixed stale API Service model catalogs remaining after switching a Codex profile back to built-in OpenAI mode: Cockpit removes only its reserved catalog and takeover backup while preserving arbitrary user catalogs, so later account switches or API Key catalog synchronization no longer reuse stale models. Thanks @kin001 (#1718).
- Fixed New API accounts showing no quota when the provider returns token-allocation or billing-only fields: account, dashboard, and provider views now share normalized
quotaLimit,quotaRemaining, andaccessUntilfallbacks. Thanks @kin001 (#1712). - Fixed Codex startup or session-visibility repair failing on binary or invalid UTF-8 rollout files: repair now handles only plain
rollout-*.jsonlfiles and skips unreadable entries with diagnostics instead of cancelling startup. Thanks @kin001 (#1710). - Fixed xAI image generation and editing requests being omitted from usage statistics: successful requests, upstream failures, rate limits, and request-construction failures now publish usage events with the actual requested model. Thanks @Ac-spider (#1629).
- Fixed fast Codex batch imports sometimes remaining indefinitely in the preparing state: when scanning completes before the frontend receives the session ID, the persisted terminal preview is reconciled immediately without changing the import protocol or credential format. Thanks @HUF457 (#1716).