OpenClaw 如何调用 Codex:命令模式与语言模式完整教程
OpenClaw 如何调用 Codex:命令模式与语言模式
一套已在 macOS + OpenClaw 2026.9.x + Codex Desktop + CC Switch 环境验证过的接入教程。
目标:让 OpenClaw 通过飞书或控制台读取、继续和控制 Codex Desktop 的原生任务。
先说结论
OpenClaw 接入 Codex 不是把 ChatGPT 登录搬进 OpenClaw,也不是把 Codex 当成普通的 OpenAI 兼容模型。正确的链路是:
CC Switch 渠道
-> ~/.codex/config.toml
-> Codex Desktop / CLI 的 app-server(本机 stdio)
-> OpenClaw @openclaw/codex 插件
-> 飞书、控制台等聊天入口
接入后有两种用法:
| 模式 | 适合场景 | 特点 |
|---|---|---|
| 命令模式 | 查线程、切换线程、停止任务 | 明确、可审计,需要 /codex 前缀 |
| 语言模式 | 日常让 Codex 写代码、改文件、跑测试 | 绑定一次后,后续直接说人话 |
一、准备 CC Switch 渠道
在 CC Switch 中新建 Codex 自定义渠道,填入渠道提供方给出的 base_url 和 token,协议选择 Responses。同步后检查 ~/.codex/config.toml,结构应类似:
model_provider = "custom"
model = "<provider-model>"
[model_providers.custom]
name = "custom"
wire_api = "responses"
requires_openai_auth = false
base_url = "<provider-base-url>/v1"
experimental_bearer_token = "<token-from-cc-switch>"
不要把真实 token 复制到 OpenClaw 配置、项目仓库、教程或飞书群。CC Switch 使用的是 Codex 自己的认证配置,OpenClaw 只连接本机 app-server。
二、启用 OpenClaw Codex 插件
安装插件:
openclaw plugins install @openclaw/codex
在 ~/.openclaw/openclaw.json 中启用监督能力。共享 Codex Desktop/CLI 的用户态任务时,使用用户态 app-server:
{
"plugins": {
"entries": {
"codex": {
"enabled": true,
"config": {
"supervision": {
"enabled": true,
"allowWriteControls": true,
"allowRawTranscripts": false
},
"appServer": {
"transport": "stdio",
"homeScope": "user"
}
}
}
}
}
}
allowWriteControls 控制继续、转向、分叉、重命名和归档等写操作;allowRawTranscripts 建议保持关闭,避免把完整原始记录暴露到聊天渠道。
重启并检查:
openclaw gateway restart
openclaw plugins list | rg -i codex
openclaw codex sessions --agent main --limit 10 --json
多 Agent 配置下,shell 命令要带 --agent,否则 Gateway 不知道由哪个 Agent 负责。
三、命令模式:用 slash 命令控制
命令模式的入口是当前聊天会话。常用流程:
/codex status
/codex threads
/codex resume <thread-id>
/codex binding
它们分别表示:检查服务、列出当前 app-server 可见线程、继续某个线程、查看当前绑定。
绑定后还可以:
/codex steer 优先修复登录流程,保持现有 API 不变
/codex stop
/codex compact
/codex detach
注意,聊天命令和 shell 命令不是一回事:
shell:openclaw codex sessions 列出 Gateway 可见的原生会话
聊天:/codex threads 查询当前对话的 app-server 线程
聊天:/codex resume <thread-id> 绑定并继续线程
四、语言模式:绑定一次,之后直接说人话
语言模式的关键是:先绑定一次,之后普通消息就会进入 Codex。
第一次仍需要用一次命令建立通道:
/codex threads
/codex resume <thread-id>
/codex binding
确认绑定成功后,不再需要 /codex 前缀,直接发送:
先检查当前项目的构建错误,只告诉我原因,不要修改代码。
确认,修复刚才的问题,并运行相关测试。
继续上一项任务,优先处理登录流程,保持数据库结构不变。
查看刚才的修改,检查类型错误、安全风险和遗漏的测试。
这时 OpenClaw 会把普通消息转发给已绑定的 Codex 原生线程,Codex 的回复再回到飞书或控制台。
未绑定:普通消息 -> OpenClaw 默认 Agent
已绑定:普通消息 -> Codex 原生线程 -> 回复当前聊天
因此,当前插件并不是“看到 Codex 三个字就自动切换”。如果还没有绑定,直接说“让 Codex 修复这个项目”仍可能由普通 OpenClaw Agent 回答。
五、飞书使用要点
- 私聊机器人:可以直接发送命令或自然语言。
- 群聊:需要先
@机器人,例如@Codex /codex threads。 - 多个飞书 Agent/账号时,先确认消息路由到了启用 Codex 插件的 Agent。
- 控制台能成功、飞书没回复,优先检查渠道路由和 Agent 绑定,不要先怀疑 Codex token。
六、排错顺序
openclaw gateway status:确认 Gateway 运行且端口可探测。openclaw plugins list:确认codex是 enabled。openclaw codex sessions --agent main --json:确认本机 app-server 能返回线程。- 在控制台当前会话测试
/codex threads,再测试飞书。 - 查看
/tmp/openclaw/openclaw-YYYY-MM-DD.log,不要把 token、JWT 或完整 transcript 发到群里。
如果出现 connect EPERM 127.0.0.1:18789,问题是 Gateway 本地连通性,不是 CC Switch 渠道。另一个常见误区是:
export all_proxy=http://127.0.0.1:7890
这只影响当前终端;LaunchAgent 启动的 Gateway 不保证继承它。本次验证采用直连,open.feishu.cn 可解析,Feishu 三个账号均为 connected, works,不依赖代理。
七、安全清单
- token 只留在 CC Switch/Codex 本机配置,不进入仓库和教程。
allowRawTranscripts=false,聊天渠道只返回必要结果。- 写控制只对可信操作者开放;删除、归档等操作先确认目标。
- 先用默认受控权限,确有需要再逐项放开,不要长期使用完全权限。
- 归档线程前确认没有其他 Codex/OpenClaw runner 正在使用。
最后记住
命令模式适合“管理通道”,语言模式适合“持续协作”。最顺手的工作流是:第一次用 /codex resume 选定任务,之后直接用自然语言和 Codex 对话。
本文根据本机直连验证记录整理,示例中的 token、账号和 thread id 均使用占位符。
评论