为什么想这么干
最近越来越觉得,Codex 这类 AI 编程助手最大的瓶颈不是智商,而是交互场景。我坐在电脑前时,用它改代码很顺手;但人不在电脑旁,突然想查个日志、修个 bug、或者让别人帮看一下项目时,就得先远程连回去,体验很断裂。
我经常在通勤、开会甚至睡前冒出一些想法,比如:
- 某个服务怎么又起不来了,帮我看看日志;
- 这个函数重构方案有没有问题;
- 睡前丢一个耗时任务给它,醒了看结果。
飞书的移动端体验很好,语音输入也方便。于是我就想在本地部署一套东西,让 Codex 成为飞书里的一个机器人,我在手机上发消息,它直接在我电脑上改代码、跑命令,再把结果回给我。
选型:为什么是 SunCodexClaw
一开始我搜了一圈,相关项目大概有两类:
一类是通用型的 AI Agent 聊天壳,主打多轮对话和记忆;另一类是专门把 Codex/Claude Code 接到飞书的执行型机器人。
我选的是 SunCodexClaw。它吸引我的地方在于,它不是只做一层聊天转发,而是把飞书消息、Codex 工作区、本地文件、云文档进度、多账号运行和本机执行串成一条真正能办事的链路。简单说,它在飞书里收到消息后,会直接调用我本地的 codex exec 去干活,结果再回发。
对比其他方案,它更适合我的需求:
- 直接跑本机 codex,能读能写能执行;
- 支持图片、文件、语音入站和回传;
- 每个机器人可以绑定不同工作区;
- 支持把长任务进度写到飞书云文档;
- 有本地记忆,跨线程能继承偏好。
部署过程
环境检查
我本地已经装了 Node.js 和 Codex CLI,所以先确认版本:
|
确认都没问题后, clone 仓库:
|
这里遇到一个小坑:ffmpeg-static 的安装脚本会下载预编译二进制,默认 30 秒超时,我的网络没下完就断了。解决方式是先把 npm fetch 超时调长:
|
装完后还有两个包有 install script 需要显式批准:
|
飞书自建应用配置
SunCodexClaw 用飞书自建应用收消息。我在飞书开放平台创建了一个企业自建应用,然后做这几件事:
- 开启机器人能力;
- 事件订阅里添加
im.message.receive_v1; - 权限管理里开启收发消息、读取群聊、上传下载资源、读写云文档等权限;
- 创建版本并发布。
权限清单大概是这些(不同租户可能略有差异):
|
拿到 App ID 和 App Secret 后,先放到本地配置文件里,不要写进仓库。
配置文件
SunCodexClaw 的配置分两层:
config/secrets/local.yaml:放敏感信息;config/feishu/default.json:放运行配置。
这两层会合并,local.yaml 优先级更高。我把 app_id、app_secret 和 codex 相关配置写进 local.yaml:
|
cwd 一开始我用的是 /home/wenjun/Documents/code/my_blog,后来改成 /home/wenjun/Documents/code,因为我下面有好几个项目,机器人需要根据消息判断操作哪个目录。
验证和启动
配置好后先跑 dry-run:
|
看到 app_id_found=true、app_secret_found=true、codex_found=true、ws client ready 这些信号,说明基本通了。
然后启动:
|
为了不每次开机都手动启动,我给它加了一个 systemd user 服务:
|
服务文件放到 ~/.config/systemd/user/suncodexclaw-feishu-default.service,然后:
|
现在开机登录后自动启动,崩溃了也会自动重启。
安全风险要当回事
这里必须强调一下权限问题。为了让机器人能真正改代码、跑命令,我配置的是:
|
这意味着飞书里的指令会无确认地直接执行。如果机器人被拉进公开群、或者 open_id 白名单配得太宽,风险很大。
我的做法:
- 只让我自己的飞书账号能触发;
- 不把它加到外部群;
- 本机用普通用户运行,不给 root;
- 重要项目先备份。
如果你只是想让 AI 帮你读代码、给建议,可以把 sandbox 改成 workspace-write,approval_policy 改成 suggest 或 always,让它每次执行前都请求确认。
实际怎么用
私聊直接发消息,群里需要 @机器人。我现在常用的几种问法:
|
实际对话效果类似这样:

长任务它会先回一句”已接收,正在执行”,然后把过程写到飞书云文档,做完再把结果和文档链接一起发回来。文件、图片也能自动上传。
遇到的问题和总结
整个过程不算复杂,但有几个细节容易踩坑:
ffmpeg-static下载超时,需要调大 npm fetch 超时并显式批准 install script;- 同一个飞书应用凭据不能同时给两个机器人用,会抢 WebSocket 连接,所以我为这次部署单独建了一个飞书应用;
cwd的范围要想好,太小只能操作一个项目,太大相对路径容易写错;- 安全边界一定要单独考虑,不要默认给最高权限。
整体体验符合我的预期:手机上发一句话,本机 Codex 就开始干活,结果直接回到飞书。对于随时想使唤 AI 改点代码的场景,这套方案比远程终端顺手多了。
评论
0 条评论