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

4 hours ago

更新日志(中文)

[1.1.5] - 2026-07-11

新增

  • Codex API 服务支持保护绑定 OAuth 账号的额度:可分别为 5 小时和周窗口设置 1% 到 100% 的保留值;任一剩余额度达到保留值时,HTTP、WebSocket、内置网关、sidecar 和会话亲和路由只会从可用池中移除该绑定账号,配额快照缺失、过期、无效或刷新失败时按不可用处理。
  • OAuth 额度保护支持持续监控和状态展示:API 服务运行期间每分钟刷新绑定账号额度,并在成功使用后按节流规则补充刷新;sidecar 模式无需重启即可热更新动态配额快照,Codex 账号卡片会在接近或达到保留值时显示生效窗口、剩余额度和保留值。

变更

  • 公告弹框改为全应用生效:公告检查由常驻应用层 Host 负责,不再依赖仪表盘是否打开;后台定时、窗口聚焦和恢复可见时会按节流规则刷新,已有弹框关闭后再展示公告,页面切换也不会重复提示。
  • Codex 账号选择器与账号总览行为统一:账号总览会保存搜索状态,API 服务成员选择器和 OAuth 绑定选择器复用相同的搜索、套餐与有效性、标签、分组、排序方向和自定义顺序;缺少可用 refresh_token 的 OAuth 账号会保留在列表中并显示为不可选和对应说明,不再直接从选择器中消失。
  • Codex API Key 用量刷新改为跨页面集中管理:定时刷新会更新适用的 API Key 账号,仪表盘、账号总览和模型供应商管理共享同一份用量缓存;不支持用量查询的供应商会被记住以避免重复请求,手动刷新仍可强制重试。
  • 桌面更新和发布资产改为精确匹配目标:Windows MSI 与 NSIS、macOS Apple Silicon 与 Intel,以及 Linux x86_64 和 ARM64 的 AppImage、DEB、RPM 分别使用独立签名清单和稳定文件名;全部目标构建完成前继续保留旧版 latest.json,避免老客户端读取到不完整的发布元数据。

修复

  • 修复 Codex 5.6 Responses Lite 请求兼容问题gpt-5.6-solgpt-5.6-terragpt-5.6-luna 现在会声明并强制禁用并行工具调用,Responses Lite 请求头会在 /responses/responses/compact、HTTP 和 WebSocket 链路中保留,非 Lite 模型也会保留显式设置的 parallel_tool_calls: false
  • 修复 Windows 官方 ChatGPT 启动路径迁移问题:发现逻辑现在优先选择 ChatGPT Store 包;检测到 ChatGPT 后会迁移已保存的官方 Codex Store 路径,排除仅名称命中的辅助程序,同时保留用户自定义可执行文件路径。
  • 修复异常 Codex 配额响应被当作满额的问题:缺失或超出范围的 used_percent 以及账号准备失败现在会持久化为刷新错误,不再产生误导性的剩余额度或绕过额度保护。

Changelog (English)

[1.1.5] - 2026-07-11

Added

  • Codex API Service can protect quota on its bound OAuth account: separate 1-100% reserves can be configured for the 5-hour and weekly windows; HTTP, WebSocket, embedded-gateway, sidecar, and session-affinity routing remove only the bound account from the eligible pool when either remaining quota reaches its reserve, while missing, stale, invalid, or failed quota snapshots fail closed.
  • OAuth quota protection is continuously monitored and visible: while API Service is running, the bound account quota refreshes every minute and after successful use with request throttling; sidecar mode hot-reloads the dynamic quota snapshot without restarting, and the Codex account card shows the effective window, remaining quota, and reserve when quota is near or below the configured threshold.

Changed

  • Announcement popups now work across the entire app: announcements are checked from a persistent app-level host instead of only when the dashboard is open, with throttled background, focus, and visibility refreshes; popups wait for existing dialogs to close and do not repeat when navigating between pages.
  • Codex account selectors now share the account-overview behavior: overview search state is persisted, and the API Service member picker plus OAuth binding selector reuse the same search, plan and validity, tag, group, sort direction, and custom-order rules; OAuth accounts without a usable refresh_token remain visible but disabled with an explanation instead of disappearing from the picker.
  • Codex API Key usage refresh is centralized across account views: scheduled refreshes update eligible API Key accounts, and cached usage is shared between the dashboard, account overview, and model provider manager; providers without usage-query support are remembered to avoid repeated requests, while manual refresh can force a retry.
  • Desktop updates and release assets now resolve the exact target: Windows MSI and NSIS, macOS Apple Silicon and Intel, and Linux AppImage, DEB, and RPM packages for x86_64 and ARM64 receive separate signed manifests and stable asset names; legacy latest.json remains available until all target builds finish so older clients do not receive incomplete release metadata.

Fixed

  • Fixed Codex 5.6 Responses Lite request compatibility: gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna now advertise and enforce disabled parallel tool calls, the Responses Lite header is preserved across /responses, /responses/compact, HTTP, and WebSocket paths, and non-Lite models retain an explicit parallel_tool_calls: false setting.
  • Fixed Windows official ChatGPT launch-path migration: discovery now prefers the ChatGPT Store package over legacy Codex packages, migrates saved official Codex Store paths when ChatGPT is available, rejects keyword-matching helper executables, and preserves custom executable paths.
  • Fixed invalid Codex quota responses being treated as fully available: missing or out-of-range used_percent values and account-preparation failures are persisted as refresh errors instead of producing misleading remaining quota or bypassing quota protection.

Don't miss a new cockpit-tools release

NewReleases is sending notifications on new releases.