github jlcodes99/cockpit-tools v1.3.43
Cockpit Tools v1.3.43

2 hours ago

更新日志(中文)

[1.3.43] - 2026-09-08

新增

  • 分离 Codex 上下文设置与模型管理:普通账号默认跟随官方模型目录,只有用户明确开启并确认“模型管理”后才使用 Cockpit 配置目录;开启后可添加、删除、排序和调整模型,但不会自动跟随官方目录更新,并可一键恢复当前版本的 Cockpit 默认模型清单、顺序、推理强度和默认模型,确认“应用配置”后才会落盘。模型管理不再设置单模型上下文或压缩阈值,历史覆盖会自动清理;独立的紧凑“上下文管理”支持跟随官方、516K / 460K1M / 900K 与自定义方案,统一写入当前 Codex 实例的官方顶层配置并对该实例所有账号生效,切号时保持不变,恢复“跟随官方”时会移除对应配置。
  • Codex 可见模型支持自定义排序:模型列表可通过拖拽调整顺序,新模型会插入到相同来源的模型之后;下次通过 Cockpit 启动 Codex 后,下拉模型顺序与保存的列表一致。
  • 保留 Business 账号的 Team 历史额度#2293):账号切换为按量计费 Business 模式后,可继续查看移除席位前保存的 Team 额度和预计重置时间;历史数据按用户与工作区隔离,并明确标记为本地快照而非当前可用额度。

修复

  • 兼容 Homebrew 6 的 Cask 安装流程#2279):移除已废弃的 URL 验证参数,并将安装后隔离属性清理迁移到 postflight_steps,保持原有安装行为不变且不再显示废弃警告。
  • 修复 WebSocket 长连接的分次用量统计#2292):同一 Responses WebSocket 连接中的每次执行会分别记录 Token 用量并去重,保留实际账号归属;握手失败和 Token 限制请求仍进入原有诊断记录。
  • 修复 Antigravity GCP ToS 账号切换资格与状态丢失#2286):切号和实例启动前会补齐 GCP ToS 与项目元数据,正确写入 OAuth 信息并保留 IDE 已有的模型、功能和历史状态缓存;账号页可识别 GCP ToS 账号,已存在的 Antigravity 与 Antigravity IDE 数据目录会同步接收切号凭据。
  • 修复 Codex API 服务恢复后仍不可用或界面疑似卡住:Sidecar 被意外终止时会在后台限次自动恢复,并保留账号、API Key 与既有端口配置;账号恢复不再等待持久化写入,会忽略恢复前已开始请求产生的过期失败状态,按账号显示恢复进度,并在超时后明确提示而不会让弹框持续忙碌。正常停止在系统支持时优先优雅退出,且不会被自动拉起。端口清理只处理当前实例或已成为孤儿的匹配 Sidecar,多开实例、DMG 副本或其他程序占用端口时会保留对方并改用可用端口,避免互相中断服务。
  • 修复第三方 API 路由无法关闭:关闭路由后会保存明确的禁用状态并保留渠道配置,重新打开设置或更换绑定账号时不会再次自动开启;运行中的实例会在下次通过 Cockpit 启动时应用变更,当前会话保持可用。
  • 修复混合路由下即时语音不可用:语音通话建立与实时控制连接会使用同一本地网关和账号;退出 Cockpit 时不再提前恢复仍在运行的 Codex 实例,避免当前会话后续请求出现 401
  • 修复第三方 GPT 模型缺少 Fast 和 Ultra 档位:带渠道前缀的已知 GPT 模型会保留对应的推理强度、速度档位和上下文能力,同时继续按用户保存的模型顺序展示。
  • 修复模型路由配置的草稿与提示状态:刷新账号不会覆盖尚未保存的渠道配置,未选择模型的渠道可以正常保存,切号预览中的保存成功提示也会正常显示。

感谢 @we1jia#2259)的贡献。

Changelog (English)

[1.3.43] - 2026-09-08

Added

  • Separate Codex context settings from model management: ordinary accounts follow the official model catalog by default and use the Cockpit catalog only after the user explicitly enables and confirms model management. Enabled catalogs can add, remove, reorder, and adjust models but no longer update automatically with the official catalog; a one-click reset restores the current release's Cockpit default model list, order, reasoning levels, and default model, with no disk changes until Apply Configuration is confirmed. Model management no longer sets per-model context windows or compaction thresholds, and legacy overrides are removed automatically. The standalone compact Context Management dialog offers Follow official, 516K / 460K, 1M / 900K, and Custom options, writes overrides through the current Codex instance's official top-level settings for every account in that instance, preserves them across account switches, and removes them when returning to official defaults.
  • Custom ordering for Codex visible models: model rows can now be reordered by dragging, and newly added models are inserted after models from the same source. The Codex model picker follows the saved order after the next launch through Cockpit.
  • Preserve Team quota history for Business accounts (#2293): after an account moves to usage-based Business mode, the last Team quota and expected reset times remain visible. Historical data is isolated by user and workspace and is clearly marked as a local snapshot rather than currently available quota.

Fixed

  • Support the Homebrew 6 Cask installation flow (#2279): remove the deprecated URL verification argument and migrate post-install quarantine cleanup to postflight_steps, preserving existing installation behavior without deprecation warnings.
  • Preserve per-execution WebSocket usage accounting (#2292): every execution on a long-lived Responses WebSocket connection records and deduplicates its own token usage while retaining account attribution; failed handshakes and token-limit blocks continue through the existing diagnostics path.
  • Fix Antigravity GCP ToS account eligibility and state loss during switching (#2286): account switches and instance launches prepare GCP ToS and project metadata before injection, encode the OAuth metadata correctly, and preserve existing IDE model, feature, and history caches. GCP ToS accounts are identified in the account UI, and switching synchronizes credentials to existing Antigravity and Antigravity IDE data directories.
  • Fixed Codex API Service recovery remaining unavailable or appearing stuck: an unexpectedly terminated Sidecar now performs rate-limited background recovery while preserving accounts, API keys, and the existing port configuration. Account recovery no longer waits on durable state writes, ignores stale failures from requests that started before recovery, uses per-account progress feedback, and returns a visible timeout instead of leaving the dialog busy. Normal stops prefer a graceful exit where supported and are never auto-restarted. Port cleanup only stops a matching Sidecar owned by the current instance or an orphan, while live parallel instances, DMG copies, and unrelated processes are preserved and the service moves to an available port instead of interrupting them.
  • Fixed third-party API routing being impossible to disable: disabling routing now persists an explicit off state while retaining channel configuration, so reopening settings or changing the bound account no longer enables it again. Running instances apply the change on the next launch through Cockpit without interrupting the current session.
  • Fixed instant voice under mixed routing: voice call setup and realtime control connections now use the same local gateway and account. Exiting Cockpit no longer restores profiles for Codex instances that are still running, avoiding subsequent 401 failures in the active session.
  • Fixed missing Fast and Ultra options for third-party GPT models: known GPT models with a channel prefix retain the corresponding reasoning levels, speed tiers, and context capabilities while continuing to follow the user-saved model order.
  • Fixed draft and notice state in model-routing configuration: refreshing accounts no longer overwrites unsaved channel configuration, channels with no selected models can be saved, and the account-switch preview now shows its save-success notice correctly.

Thanks @we1jia for the contribution (#2259).

Don't miss a new cockpit-tools release

NewReleases is sending notifications on new releases.