你有没有遇到过这种情况:在外面用手机,临时想让本机的 Codex 跑个任务,偏偏只能干等着回家?Chat-Codex 就是为了解决这个问题出现的。它是一个轻量级的中间件,把本机运行的 OpenAI Codex CLI 接进微信和飞书,让你直接在聊天窗口里跟 Codex 对话、执行任务、审批操作,甚至远程控制本机电脑。 它到底解决了什么
Codex CLI 本身只能在本地终端用,离开电脑就没辙。同时,多个聊天同时用 Codex 时,上下文很容易互相干扰,Chat-Codex 给每个聊天 route(渠道 + 账号 + 会话)分配一个独立的 Codex session,完全隔离,不会串线。
另外一个痛点是安全性——Codex 要执行 rm -rf 这类危险操作时,默认没有确认环节,Chat-Codex 内置了审批机制,敏感操作必须你在聊天里显式批准才能继续。
还有收发文件这件事。你在手机上发一张截图给 Codex 处理,它能自动下载到本机的 uploads 目录作为上下文;Codex 生成的文件也能通过 /sendfile 命令直接发回聊天,不用再折腾手动传输。
快速安装
第一步:先装好 Codex CLI(必须)
Chat-Codex 依赖本机已安装的 codex CLI,光有 Codex 桌面 App 是不够的。
用 npm 装(跨平台推荐):
macOS 也可以用 Homebrew:
第二步:安装 Chat-Codex
第三步:启动 TUI
TUI 会引导你完成 Codex CLI 可用性检查、渠道管理(添加微信账号或飞书机器人)、聊天绑定,以及最终启动服务。
首次配对
第一次从某个微信联系人或飞书私聊发消息时,系统会触发配对流程:聊天里会收到一条带配对码的提示,回到终端 TUI 确认后,在聊天里发送:
配对成功后,这个 route 就被记为可信,重启后依然有效。每个不同的联系人或 chat_id 都要单独配对一次。
常用聊天命令
这些命令直接在微信或飞书里发送,不会进入 Codex 的任务队列:
关于文件发送有一点要注意:普通回复里的本地路径、Markdown 图片链接不会自动触发文件发送,必须用 /sendfile 命令才行,每轮最多发 3 个文件。
几个典型的使用场景
出门在外,用微信发一句"帮我在 ~/projects/my-app 里新建一个 React 组件 UserCard",Codex 在你的本机上完成代码生成,把结果回复到聊天。
需要文件转换?发"把桌面上的报告.pdf 转成 Word 文档",Codex 执行脚本后通过 /sendfile 把结果发回来。
团队多人使用也没问题——不同成员用各自的飞书私聊接入同一台服务器上的 Chat-Codex,各自的 route 绑定独立 session,互不干扰。
常见问题
Windows 下报 spawn codex ENOENT
Windows 的 PowerShell 里 codex 命令是通过 npm 的 .cmd shim 调用的,Node.js 子进程 spawn 时找不到。解决办法是设置环境变量:
微信登录后提示 ret=-2
通常与 context_token 失效或会话状态有关,尝试重启 chat-codex 重新登录,查看 TUI 日志面板的错误详情。
配对码失效
配对码有时效限制,重新发一条消息到聊天,TUI 会生成新的。注意格式是 /pair <配对码>,有空格。
升级后旧数据找不到了
旧版本把数据写在启动目录的 state/,新版本默认在 ~/.chat-codex/state/,迁移一下就好:
一些注意事项
配对机制只保护"哪些联系人可以使用",不加密消息内容。对于敏感操作,建议保持 approval 权限模式,不要轻易切到 full 权限。Codex session 的上下文长度有限,长时间使用后用 /compact 压缩历史是个好习惯。接收的图片和文件存储在 ~/.chat-codex/uploads/,不会自动清理,磁盘占用得自己留意。
微信目前只支持个人账号扫码登录的私聊,群聊暂不支持;飞书支持机器人 WebSocket 接入,多个 chat_id 可以分别绑定独立 session。
如果你平时工作离不开 Codex,又经常需要移动办公,Chat-Codex 确实能省不少麻烦——把终端的能力搬到手机上,也不是什么遥不可及的事。