Codex Manager v0.6.1
概览
v0.6.1 是本地代理内核拆分与 Codex 路由管理的签名稳定版候选源。本版本使用独立版本的 CLIProxyAPI 官方预编译 sidecar 承载本地 OAuth 凭据池,并把外部 Responses 兼容供应商收敛到“Codex 配置”由 Codex 直接访问。
本 note 随 tag source 定版,但不预先宣称 GitHub Release 已公开。最终 published 状态必须以该 exact source SHA 的主线 CI、受保护签名与公证、九项草稿资产回下载复验、人工 Publish 和 published-mode 公开复验为准。
主要变化
- 桌面主体与 CLIProxyAPI 内核使用独立版本;内置当前审核基线
v7.2.145的六个平台资产名与 SHA-256,只从官方固定 tag URL 下载,不请求或追随上游latest,也不在本机编译 Go 内核。 - 安装器使用有界下载、受限解压和应用私有 staging;安装后记录二进制摘要,状态与启动前统一复核版本、资产、archive 摘要和 binary 摘要,不一致时要求切回审核基线。
- 首页和“本地代理”页面提供 CLIProxyAPI 的显式启停、PID、已安装版本、审核基线及 OpenAI、Claude、Gemini 兼容 API URL;本地代理只承载已启用的 CLIProxyAPI OAuth 档案池。
- CLIProxyAPI OAuth 文件经原生选择器导入并保存到独立 Keychain,运行时只投影到应用私有的
0700目录和0600文件;官方 Codex OAuth 不进入该凭据域。 - “Codex 配置”支持官方直连、本地 CLIProxyAPI 和外部 Responses provider 的独立路由档案;外部 API Key 保存在 Keychain,由 Codex 通过受控
auth.command直接使用,不进入 CLIProxyAPI 运行配置。 - 外部 provider 保存采用 HTTP(S) URL 语法校验,不在保存时访问或解析网络;仍拒绝 URL 用户名、密码、query 和 fragment。删除被配置档案引用的 provider 或覆盖活动路由继续 fail closed。
- 删除本地代理与外部 provider 之间的 API-key sidecar、动态
latest、GitHub API/checksums 双重运行门禁、DNS/私网探测和无关网关状态互锁;保留 loopback、随机本机 client key、Keychain、秘密不进入 SQLite/普通 DTO/日志,以及固定资产摘要校验。 - 修复受管 CLIProxyAPI 子进程异常退出后的恢复死锁:完整内核不再因运行错误被误报为未安装,下一次启动、安装、端口或 OAuth 档案操作会先回收已退出句柄并执行 checkpoint。Demo 外部 provider ID 同步使用原生契约要求的 UUID。
- 英文与简体中文 README、应用截图、隐私与安全策略、供应链说明、架构、能力矩阵、开发计划和本版本 note 已同步。GitHub Description、Topics、平台范围、
LICENSE和第三方许可事实没有变化,记录为no change。
验证状态
implemented:OAuth-only 本地代理、固定审核内核、独立外部 provider 路由、Keychain 边界、首页开关、测试与文档已进入同一候选源。tested:定版前执行前端 95/95、Rust workspace 测试(core 7/7、desktop 110 通过且 3 项依赖已安装签名 ChatGPT bundle 或真实网络下载而默认忽略、storage 9/9)、npm run typecheck、npm run build、cargo check --workspace --all-targets、严格 Clippy、零漏洞依赖审计、secret scan、版本同步、release dry-run、文档同步和git diff --check。远端签名发布链仍必须在 exact tag source 上独立重跑。observed:被默认忽略的真实安装器测试已单独运行并通过;它从 CLIProxyAPIv7.2.145官方 tag URL 下载 macOS/arm64 资产,核对内置 SHA-256,并完成受限解压与唯一二进制检查。Playwright 演示模式已观测首页、本地代理、Codex 配置、OAuth 凭据池启停和 390×844 窄屏布局。- 独立审查复核 OAuth-only 产品分层、外部 provider HTTP(S) 契约、固定基线完整性、启动前复核与秘密 DTO 边界;正式发布前仍以最终审查结果为准。
兼容性与限制
- 正式资产仍只支持 macOS 13+ arm64;代码包含 darwin/linux/windows 与 amd64/aarch64 的 CLIProxyAPI 资产映射,但不构成其他桌面平台支持承诺。
- OpenAI、Claude、Gemini endpoint 和协议可用性取决于 CLIProxyAPI 内核及已导入凭据;尚未完成真实 CLIProxyAPI OAuth → loopback → Codex Responses E2E。
- 用户必须在“Codex 配置”显式应用或恢复路由;本地代理启停不会自动改写
config.toml或auth.json。 - 若应用被强制终止,旧 sidecar 可能仍存活;下次启动会因端口占用 fail closed,但完美跨进程 ownership/PID 回收仍是后续优化。
- CLIProxyAPI
v7.2.145的 OAuth callback 和 Management API 不向 WebView 开放;本应用不是 EasyCLIProxyAPI 全量管理功能复制。 - CLIProxyAPI 上游预编译 Release 的 Developer ID、公证、detached signature、SBOM 和可复现 provenance 不由 Codex Manager 主应用签名继承;当前通过固定资产摘要降低版本漂移风险。
隐私与安全
- CLIProxyAPI 生成配置强制绑定
127.0.0.1、启用随机 client key,并关闭 remote management、control panel、plugins、请求/debug/file logs、usage statistics 和 retry;普通状态 DTO 不展示 client key、API Key、OAuth token 或原始配置。 - 外部 provider API Key 只保存在应用专用 Keychain,由 Codex 配置的
auth.command按需读取,不进入 CLIProxyAPI、SQLite、普通 WebView DTO、日志或备份。 - CLIProxyAPI OAuth 档案与官方 OAuth 属于隔离信任域;运行时投影文件在正常停止时删除,官方 token、消息正文、Authorization、Cookie、query、原始响应和 Management key 不进入普通持久化或日志。
- 内置 SHA-256 会拒绝与已审核资产不同的下载字节,但不能替代上游独立签名或 provenance;该限制在界面与供应链文档中明确展示。
发布状态
published:本 note 定版时不预先标记公开。只有 exact source SHA 的 CI、受保护签名/双公证、九资产草稿回下载复验、人工 Publish 和 published-mode 公开复验全部成功后,才能报告为published publicly verified。observed:已观察本地自动化测试、真实固定资产下载/摘要/解压以及浏览器 demo;定版时尚未观察到v0.6.1的公开签名资产或真实 OAuth 上游业务链。accepted:自动化与本地 UI 业务链通过;真实 CLIProxyAPI OAuth → loopback → Codex Responses E2E、从可信旧签名版本安装更新到v0.6.1和真实 provider 费用仍为false。cleanup:浏览器 demo 网关已恢复停止;真实下载测试只使用自动删除的临时目录,未运行第三方二进制,未创建真实 provider/OAuth 凭据或修改用户 Codex 配置。签名工作流必须在上传前删除临时证书与 Keychain。
完整性
稳定 Release 必须恰好包含下列九项资产:
codex-manager-v0.6.1-aarch64.app.tar.gzcodex-manager-v0.6.1-aarch64.app.tar.gz.sigcodex-manager-v0.6.1-aarch64.dmgcodex-manager-v0.6.1-licenses.zipcodex-manager-v0.6.1-sbom.zipBUILD-PROVENANCE.jsonSIGNING-EVIDENCE.jsonSHA256SUMS-v0.6.1-signedlatest.json
发布门禁必须逐项核对 exact source SHA、updater 签名、Developer ID、Hardened Runtime、secure timestamp、app 与 DMG 双公证、stapling、Gatekeeper、provenance、attestation、草稿资产 ID 回下载和公开 URL 复验;任一步缺失都不能提升状态。