Skip to content

Codex Manager v0.5.0-beta.1 — Unsigned Community Build

Pre-release
Pre-release

Choose a tag to compare

@ewsun22 ewsun22 released this 30 Aug 00:11

Codex Manager v0.5.0-beta.1 — Unsigned Community Build

这是仅供测试的 GitHub Pre-release。macOS 资产没有 Developer ID 签名、Apple notarization 或 stapling,不进入稳定在线更新通道;Gatekeeper 警告属于该通道的已知限制。

概览

本预发布版本新增 Codex-only 的自定义 Responses 供应商管理与可选本地反代,并把既有 OAuth 登录、认证档案、额度与重置能力整理为“官方订阅”。网关默认不监听、不自动改写 Codex 配置,也不把官方 OAuth token 用作反代凭据。

主要变化

  • 新增表格优先的“供应商与反代”页面:保存名称、Base URL、模型、reasoning effort 和 write-only API Key;普通列表只显示 hasApiKey
  • API Key 与安装级本机 bearer 使用应用专用 macOS Keychain;SQLite 只保存供应商非秘密元数据和用户选择的端口。
  • 用户可显式启动/停止固定 127.0.0.1 的 OpenAI Responses identity gateway,并查看请求、失败、in-flight 和最近错误摘要。
  • 支持 /v1/models/v1/responses/v1/responses/compact;客户端 Authorization 被剥离,响应以受限 header 和字节流透传。
  • 远程上游要求 HTTPS 公网地址,HTTP 只允许显式 loopback;拒绝 userinfo/query/fragment、私网/link-local 等解析结果,并禁用 redirect 和系统代理。
  • 生成 Codex provider 配置片段前显示原生确认。应用不会自动读写 ~/.codex/config.tomlauth.json
  • 官方订阅页面改为“官方登录 / 订阅账户 / 额度与重置”,账户与额度显示本次采集时间;继续复用受信任官方 Codex CLI/App Server、Keychain 档案和显式账户切换。

验证状态

  • implemented:供应商存储、Keychain secret、8 个窄 Tauri commands、loopback 网关、前端/demo 与适用文档已完成。
  • tested:版本定版前本地验证为 cargo test --workspace 96 passed、2 ignored,npm test 88/88;production build、Clippy -D warnings、文档同步、secret scan、npm/cargo audit 和 diff check 均通过。Provider/Keychain 补偿、DTO 不泄密、公网地址 allowlist、端口/stop、认证前拒绝、header 剥离、响应头/流 idle 超时、SSE 与实际 model helper 均有本机 mock/loopback 覆盖;Playwright 桌面与 390 px demo 无 console error。正式资产只允许从 tag 所指 exact SHA 的单次成功 CI 生成。

兼容性与限制

  • 当前只支持 macOS Keychain;其他平台没有等价 secret store 时 fail closed。
  • 只支持 OpenAI Responses 同协议直通,不支持 Chat Completions、Anthropic、Gemini、协议转换、provider pool、自动重试/故障转移或自定义 header。
  • 网关不是常驻 helper。配置片段需用户自行合并;停止应用/网关前必须恢复直连,否则仍指向本机端口的 Codex 会请求失败。
  • 没有自动配置 CAS/回滚、退出前恢复、崩溃恢复、真实供应商模型测试、精确 TTFB/wire bytes 或账单对账。
  • 官方订阅不会进入网关池,不提供 refresh token 显示/复制、请求级轮换或后台自动换号。
  • macOS 下载资产没有 Developer ID 签名或 notarization,可能被 Gatekeeper 阻止;本 Pre-release 不是稳定安装包,也不会出现在应用的稳定更新检查中。

隐私与安全

  • 供应商 API Key 与本机 bearer 不进入 SQLite、普通 WebView DTO、日志、错误、备份或请求记录;敏感配置只在原生确认后临时显示。
  • 网关默认停止、固定 IPv4 loopback、使用随机 bearer,并在读取 body 前校验 Host/Origin/Authorization。请求 body 最大 4 MiB、并发最大 4,响应头和流 idle 均有界超时;停止会等待 listener task 结束。
  • 网关不保存 body/header/query,不把客户端 bearer 发送到上游,并禁止 redirect;官方 OAuth access/refresh token 与反代实现完全隔离。
  • AI Toolbox 仅以 fixed commit 3f2faef5b7a453169d4325d89fab290154233723 进行 clean-room 行为参考;未复制其源码、视觉资产或 AxonHub LGPL fixture。

发布状态

  • published:本 note 所在源码提交本身不代表已发布;只有同一 exact SHA 的 CI 成功、四项 unsigned community 资产公开且完成匿名回下载复验后,才能报告 GitHub Pre-release 已发布。
  • observed:已观测本地 mock/loopback 自动化和 Playwright 桌面/390 px demo;真实供应商流量、安装后的原生应用和升级链尚未观测。
  • accepted:否;仍需另行授权的真实 API-key Codex CLI Responses E2E、费用确认、手动配置往返、恢复直连和安装验收。
  • cleanup:CI 与发布临时目录必须在复验后删除;不得在真实 Keychain、config.tomlauth.json 留下测试状态。

完整性

允许公开的二进制资产只有 codex-manager-v0.5.0-beta.1-aarch64.dmgcodex-manager-v0.5.0-beta.1-sbom.zipcodex-manager-v0.5.0-beta.1-licenses.zipSHA256SUMS-v0.5.0-beta.1-community;源码归档由 GitHub 根据 tag 自动生成。Release 不得包含 latest.json.app.tar.gz 或 updater .sig,不得覆盖既有 tag 或稳定 updater alias。最终 tag、exact source SHA、资产大小与 SHA-256 以公开 Release 和发布后复验报告为准。