ChatGPT 客户端(Codex)
在新版 ChatGPT 桌面应用的 Codex 模式中接入 Bamboo Relay。
这不是 ChatGPT 聊天接口教程
本页配置的是 ChatGPT 桌面应用里的本地 Codex 模式。ChatGPT 普通聊天、Work、网页端、移动端和 Codex 云端任务不会读取本机 ~/.codex/config.toml,也不能通过本页方法切换到 Bamboo。
OpenAI 已把原 Codex 桌面端整合进新版 ChatGPT 客户端。进入应用后需要选择 Codex 并新建本地任务,模型请求才会由本机 Codex 运行时读取配置并发送到 Bamboo。
先看结论
| 你的使用方式 | 应该看哪里 |
|---|---|
| ChatGPT 桌面应用里的 Codex | 继续阅读本页 |
终端里的 codex 命令 | Codex CLI 快速接入 |
| VS Code、Cursor、Windsurf 扩展 | 可复用本页配置,但需要重启编辑器 |
| ChatGPT 普通聊天、网页端或移动端 | 不支持配置 Bamboo Base URL |
对于 new-api 一类 OpenAI 兼容中转,桌面端必须调用 Responses API。Bamboo 地址写到 /v1,Codex 会自行追加 /responses;不能配置为 Chat Completions。
准备接入
开始前只要准备两样东西:
另外,请先安装或更新 ChatGPT 桌面应用。下面会告诉你每一步该打开什么、复制什么,不需要理解配置文件的技术原理。
为什么要先备份
如果以前用过 Codex,请先备份 ~/.codex/config.toml 和 ~/.codex/auth.json。切换后旧会话可能暂时不显示,恢复备份后通常会重新出现。
方案一:用 Bamboo Key 连接(推荐)
如果你只是想尽快用起来,请只按这个方案操作,不需要再看后面的方案二。整个过程只有三步:保存 Key、复制配置、重启客户端。
第一步:保存 Bamboo API Key
打开电脑的终端:
- macOS:按
Command + 空格,搜索并打开“终端”。 - Windows:在开始菜单搜索并打开“PowerShell”。
把下面命令中的 sk-your-bamboo-key 换成你刚才复制的 Bamboo Key,然后整行粘贴到终端并按回车。
macOS / Linux:
printf '%s' 'sk-your-bamboo-key' | codex login --with-api-keyWindows PowerShell:
'sk-your-bamboo-key' | codex login --with-api-key命令执行完没有报错就可以继续;终端没有显示“登录成功”也没关系。
如果提示 codex: command not found 或“无法识别 codex”,说明电脑还没有安装 Codex 命令行工具。先按照 Codex CLI 快速接入中的安装步骤完成安装,再回来重新运行上面的命令。
不要把 Key 发给别人
Bamboo Key 相当于账户密码。不要截图公开,也不要把 Bearer 一起复制进去。怀疑 Key 泄露时,请立即到令牌管理删除并重新创建。
第二步:打开配置文件
继续在终端中运行下面的命令。它只会打开 Codex 的配置文件,不会启动支付或产生模型费用。
macOS:
mkdir -p ~/.codex && touch ~/.codex/config.toml && open -e ~/.codex/config.tomlWindows PowerShell:
New-Item -ItemType Directory -Force "$HOME\.codex" | Out-Null; notepad "$HOME\.codex\config.toml"打开文件后:
- 如果里面已经有内容,先复制一份保存到别处作为备份。
- 清空文件,把下面整段配置粘贴进去。
- 只修改第一行:把
your-model-id换成你在模型广场复制的模型 ID。 - 保存文件并关闭编辑器。
model = "your-model-id"
model_provider = "bamboo"
model_reasoning_effort = "high"
[model_providers.bamboo]
name = "Bamboo Relay"
base_url = "https://api.bamboonode.cn/v1"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = false例如模型广场显示的模型 ID 是 gpt-5.4,第一行就改成:
model = "gpt-5.4"其他行不要修改,也不要在地址后面添加 /responses。
第三步:重启并测试
- 完全退出 ChatGPT 客户端。macOS 使用
Command + Q;Windows 从系统托盘退出。 - 重新打开 ChatGPT 客户端。
- 进入 Codex,不要进入普通 Chat 或 Work。
- 打开一个本地文件夹,然后新建任务。
- 发送:
只回复 OK,不读取文件,不调用工具。
如果客户端回复 OK,再到 Bamboo 调用日志确认出现了一条新的 /v1/responses 请求。能看到这条日志,才说明请求确实经过了 Bamboo。
完成后会发生什么
ChatGPT 客户端中的本地 Codex 请求会使用 Bamboo Key 和你选择的模型。这个操作不会给 ChatGPT Plus 续费,也不会把普通 ChatGPT 网页聊天改成 Bamboo。
方案二:保留 ChatGPT 登录(高级)
如果不想替换 Codex 的 ChatGPT 登录凭据,可以让 Bamboo 提供商使用独立环境变量。这种方式不会修改 auth.json,但桌面端目前没有完善的多提供商切换界面,模型选择器、历史会话和部分插件可能表现不完整。
在 ~/.codex/.env 中加入:
BAMBOO_API_KEY=sk-your-bamboo-key然后在 ~/.codex/config.toml 中使用:
model = "your-model-id"
model_provider = "bamboo"
model_reasoning_effort = "high"
[model_providers.bamboo]
name = "Bamboo Relay"
base_url = "https://api.bamboonode.cn/v1"
env_key = "BAMBOO_API_KEY"
wire_api = "responses"
requires_openai_auth = false
supports_websockets = false桌面端的当前限制
自定义提供商可以处理本地 Codex 推理请求,但还不是桌面界面中的一等提供商。不要依赖模型下拉框判断是否生效,也不要在测试过程中切换回内置模型;以 Bamboo 调用日志为准。
在 ChatGPT 客户端中验证
1. 完全重启应用
- macOS 使用
Command + Q退出,而不是只关闭窗口。 - Windows 从系统托盘退出,并在任务管理器确认 ChatGPT/Codex 相关进程已经结束。
- 修改
config.toml、auth.json或.env后,都要重新启动应用。
2. 进入正确的 Codex 模式
- 打开 ChatGPT 桌面应用。
- 选择 Codex,不要停留在普通 Chat 或 Work。
- 打开一个本地项目目录。
- 点击 New chat / 新建任务;不要复用切换提供商之前的旧任务。
- 发送:
只回复 OK,不读取文件,不调用工具。3. 检查 Bamboo 调用日志
客户端返回 OK 后,立即进入 Bamboo 调用日志,按 API Key、模型和时间查找记录。以下条件同时满足才算接入成功:
- 请求路径是
/v1/responses; - 模型与
config.toml中的model一致; - 返回状态为成功并产生少量 Token 用量;
- 请求时间与客户端测试时间一致。
仅看到 ChatGPT 客户端回复不能证明接入成功。如果 Bamboo 没有新日志,请检查是否进入了本地 Codex 模式、是否新建了任务,以及模型选择器是否覆盖了配置。
Bamboo / new-api 服务端要求
Bamboo 当前代码已经提供 /v1/responses 与 /v1/responses/compact。要让桌面 Codex 正常工作,所选渠道还必须满足:
- 支持 Responses 流式输出;
- 支持列表形式的
input; - 支持函数与工具调用事件;
- 模型映射后的上游名称真实可用;
- Nginx、CDN 或网关不能缓冲 SSE 响应。
若渠道只支持 /v1/chat/completions,仅修改客户端配置无法解决,需要在 new-api 中选择支持 Responses 的渠道或完成协议转换。
常见问题
提示需要登录
- 方案一检查
auth.json中是否只有一个有效的OPENAI_API_KEY。 - 方案二检查
~/.codex/.env中的变量名是否与env_key完全一致。 - 确认修改的是用户级
~/.codex/config.toml,项目内.codex/config.toml不能覆盖提供商与鉴权配置。
返回 401
- Bamboo Key 是否完整、有效且未禁用;
- 方案一使用
requires_openai_auth = true,不要同时配置env_key; - 方案二使用
env_key与requires_openai_auth = false; - 不要在 Key 中写入
Bearer前缀。
返回 404
base_url应为https://api.bamboonode.cn/v1;- 不要写成
/v1/v1; - 不要把
/responses直接追加到base_url。
一直停在 Thinking
- 确认
supports_websockets = false; - 查看 Bamboo 日志中是否已经收到
/v1/responses; - 检查反向代理是否关闭 SSE 缓冲并允许长连接;
- 用同一个 Key 和模型先在 Codex CLI 中验证,区分客户端问题和服务端问题。
模型下拉框不显示 Bamboo
这是桌面端自定义提供商的已知 UI 限制。顶层 model 与 model_provider 会用于新任务,但 Bamboo 不一定作为可切换项出现在下拉框中。不要使用 model_catalog_json 强行追加模型,它会替换整份内置模型目录,并可能让官方模型或旧会话从界面消失。
旧会话不见了
切换 model_provider 后,桌面端可能只展示当前提供商关联的会话。会话通常仍保存在本地;恢复备份的 config.toml 与原登录方式并重启应用后再查看。
Browser、Computer Use 或插件不可用
第三方 Responses 提供商可以完成基本推理和常规工具调用,但部分 ChatGPT 云端插件、动态工具发现、Browser 和 Computer Use 依赖官方运行时能力,可能无法通过中转使用。这不代表 Bamboo 的 /v1/responses 请求失败。
恢复官方 ChatGPT / Codex
- 完全退出 ChatGPT 客户端。
- 恢复接入前备份的
config.toml与auth.json。 - 删除仅为 Bamboo 添加的
~/.codex/.env变量。 - 重新打开应用并新建任务。
不要直接删除整个 ~/.codex 目录;其中还包含本地会话、日志、Skills 与其他设置。