Repository navigation
CodexManager v0.7.3
CodexManager v0.7.3
发布日期:2026-11-10(北京时间)
本次新增内置 BPS(ChatGPT Excel / Basispoints)转发,提供按账号控制的独立授权和转发开关,并补齐真实文字生成、工具调用与工具结果回传验证。适配逻辑由 CodexManager 自行实现,无需安装或启动外部桥接程序。
BPS 为实验性功能,默认关闭。不保证改善模型能力或避免“降智”,也不解除账号权限、模型访问或额度限制。请先阅读启用时的风险说明,再决定是否使用。
新增
单账号与批量开关
- 在“OpenAI 账号池”的账号卡片及列表中,增加“BPS 转发”开关和独立授权入口。
- 通过右上角“账号操作”,可以批量开启或关闭已选账号;菜单显示本次选中数量。
- 单账号和批量开启均需确认风险。取消不发起授权,也不提交开关变更;批量开启要求所有选中账号都有有效 BPS 授权,任何一个不满足时整批保持原状态。
- 关闭后,后续选中该账号的请求恢复原 Codex 上游;原账号、Codex 登录及 BPS 授权不会因此被删除。
- 桌面版与 Service 版 Web UI 使用同一服务端配置和授权流程,相关管理操作继续受管理员权限约束。
独立 OAuth 与设备码授权
- BPS 使用独立授权,与原 Codex 凭据分别保存和维护。已导入或登录 Codex 的账号首次使用 BPS 时仍需授权,但仍使用同一个 ChatGPT 账号。
- 授权时核对 ChatGPT 账号,并在原凭据包含用户身份时一并核对,拒绝绑定不匹配的账号。
- 授权弹窗新增“先开启授权码登录”提示:先在 ChatGPT“设置 → 安全”开启“设备代码登录”,再返回 CodexManager 开始授权。工作区账号可能需要管理员启用。
- 从开关进入授权流程,授权成功后继续开启转发;单独点击钥匙图标仅保存授权,不自动开启。
- 授权到期后需重新授权。首版不自动刷新 BPS 凭据,原 Codex 的刷新流程保持原样。
自写协议适配与工具支持
- 支持
/v1/responses、兼容转换后的/v1/chat/completions,并保留客户端使用的流式 SSE 或非流式 JSON 返回形式。 - 支持客户端 WebSocket 接入。账号池中任一账号开启 BPS 时,新建 WebSocket 连接使用现有 HTTP 桥接层,再按账号选择上游;未开启 BPS 的账号仍走原 Codex 通道。
- 保留请求模型、原始 instructions、完整可见对话历史,以及上游报告的模型、推理和用量信息。
- 推理档位归一化为
low / medium / high / xhigh;max / ultra映射为xhigh,none / minimal映射为low。请求中的档位不作为上游实际能力已验证的证明。 - 支持客户端 function、custom 和 namespace 工具声明、调用及结果回传。工具仍在客户端执行;适配器只交付完整结束且验证通过的调用,单次最多一个工具调用。
- 新增中英文使用说明、授权故障排查及兼容边界说明。
改进与修复
- 修复网关归一化补充
include: ["reasoning.encrypted_content"]后,原样发给 BPS 导致推理或工具请求被拒绝的问题。现在接受该兼容选项,但不把 Codex 专用include字段发送给 BPS;其他无法提供的 include 字段继续明确报错。 - BPS 授权、生成及账号测试失败与原 Codex 账号状态隔离,不将原凭据误判为失效,不触发原令牌刷新,不以 BPS token 替换原凭据,也不借此修改原账号健康状态。
- 开启 BPS 后,请求失败不会静默改走原通道;已经发出的生成请求不会自动重放,避免重复执行。
- 取消、断线及不完整工具输出保持明确的失败语义,避免把未完成调用当成成功交给客户端。
- 关闭授权弹窗后停止界面轮询及尚未发出的自动启用操作;开关更新失败保持原保存状态。
- “测试账号”跟随 BPS 开关选择上游。BPS 模式仅测试文字模型;图片生成测试明确报错,不会改走原通道。
开始使用
- 更新并重启实际承载请求的 CodexManager 实例。使用远端 Service 或容器时,需要同步更新服务端;只升级客户端不会改变旧网关的能力。
- 在 ChatGPT“设置 → 安全”中开启“设备代码登录”(授权码登录)。如果出现
deviceauth_disabled,先检查此设置;工作区可能需要管理员允许。 - 管理员进入“OpenAI 账号池”,找到目标账号的“BPS 转发”开关,阅读风险提示并选择“了解风险并授权”。
- 点击“开始 BPS 授权”,打开授权页面,使用当前所选 ChatGPT 账号登录并输入显示的验证码。授权成功后,从开关进入的流程会继续开启转发。
- 在账号菜单选择“测试账号”,使用该账号有权访问的文字模型检查结果。确认最终完成事件及实际文字内容,再用于自己的工作流。
- 不需要时关闭开关即可。批量操作需先勾选账号;批量开启前应逐个完成授权。
请求必须通过 CodexManager 网关才会受此开关控制;绕过网关的账号直连不会经过 BPS 转发。已有原生 WebSocket 连接在路由变化后可能需要重连。
已知限制
- BPS 是产品内部接口,协议、账号权限及模型可用性可能变化。授权成功或握手成功不代表生成成功,也不能据此推断所有 Free 账号、其他套餐或其他模型具有相同权限。
- 现有 Codex 用量显示不等于 BPS 的独立额度;本次功能不提供额外额度或权限。
- 仅支持
auto/default服务等级。平台 Key 和请求请使用跟随请求或 Standard,Fast / Ultrafast / Flex 不受支持。 - 不提供原 Codex 托管搜索、文件搜索、代码解释器及图像生成能力。自动工具声明中的这些能力会被省略,并在协议说明及响应
metadata.codexmanager_bps_omitted_tools中列出;强制要求这些能力时直接报错。普通客户端执行的工具不属于此限制。 - 不支持内联图片、文件、音频、后台生成、受约束 JSON 输出,以及无法保留的
temperature、top_p、max_output_tokens、max_tool_calls、truncation等参数。遇到这些需求时可关闭 BPS 使用原通道。 - 支持 HTTPS 图片及受支持的加密历史状态。默认上下文压缩阈值为
200000,可由合法的context_managementcompaction 配置覆盖。 - 工具历史必须包含原始调用和结果。HTTP 请求只有
previous_response_id或item_reference时明确报错;客户端 WebSocket 的历史展开由已有桥接层处理。 - 模型路由、可选账号、账号池组别与 Key 所有权等原有边界继续生效。
验证情况
本次真实验收使用已完成独立 BPS 授权的测试账号与 gpt-6-luna,检查了最终事件和实际返回内容:
| 验证项目 | 本次结果 |
|---|---|
| 真实文字生成 | 返回 BPS_OK |
| Responses 流式 custom 工具 | 正确返回 echo_text 调用与 BPS_TOOL_OK 输入 |
| Chat 非流式 function 工具 | 函数参数正确,结束原因为 finish_reason: tool_calls |
| 完整工具结果回传 | 继续对话并返回 BPS_TOOL_DONE |
这些结果证明本次账号和模型下的对应流程成功,不代表所有账号、模型或工具工作流均已验证,也不构成模型质量改善的保证。
自动化检查结果:
- 完整 Rust workspace 测试通过;后续
include兼容修复完成后,定向 BPS 回归 40 项通过。 cargo fmt格式校验通过。- 前端运行时测试 337 项通过,桌面前端构建通过。
- BPS 浏览器回归 3 项通过,覆盖风险取消、授权前置提示、授权后开启、批量开关、更新失败保留状态、关闭弹窗停止轮询及非管理员入口隐藏。浏览器回归使用模拟账号与接口,没有修改真实授权数据库。