微信公众号 aifellows
← 首页
TC 01

我把 Codex 接进了微信

聊天框成了给本机 Codex 派活的入口。

我把 Codex 接进了微信

这个项目受了《在微信里使用 Claude Code,刚刚在 GitHub 上开源了这个 Skill。》的启发。但我这次要做的,不是复刻一遍 Claude,而是想把 Codex 做成一个真正顺手、能长期跑的微信入口。

项目已经开源:

https://github.com/DrDavidDa/WeChatCodex

图 1:第一次把 Codex 真正接进微信以后,聊天框就成了一个随手可用的入口。

先看亮点

这件事为什么值得做

我一直对“把入口做薄”这件事很有兴趣。

不是为了炫一个“微信里也能跑 AI”,而是为了把一个本来只能坐在电脑前完成的动作,改成你在路上也能随手触发的动作。

你突然想到一个需求,发条微信过去;本机上的 Codex 开始执行;等你回到电脑前,结果可能已经在那儿了。

这和远程控制电脑不是一回事。

我想做的,是把 Codex 本身变成一个低摩擦入口,而微信只是那个几乎没有学习成本的壳。

我怎么把它做出来

我这次选的方案很直接:

微信 -> 微信协议层 -> 本地 daemon -> Codex CLI -> 微信

没有接 Gateway,没有配公网 IP,也没有折腾域名。

原因很简单。对个人开发者来说,链路越短,越容易稳定,越容易长期维护。

只要扫码绑定、长轮询、消息解析、媒体下载这些底层链路跑通,后面的执行器就只是一个可以替换的模块。这次我把它换成了 Codex CLI。

所以这个项目最后收敛成了几块很实用的东西:

我没有故意把它做得很花。我更关心的是三件事:能不能持续跑,出问题能不能定位,真实消息来了会不会露馅。

图 2:整条链路其实很短,重点不是“接了多少层”,而是每一层都能稳定工作。

真正难的,不是接通,而是把坑踩完

这类桥接项目最容易出现一种假象:演示能跑,一上真实消息就开始失真。

我这次最典型的两个坑,刚好都说明了这一点。

第一个坑,是第一条消息能回,后面就没反应。

最后查出来不是微信协议坏了,而是 codex exec resume 被我放在轮询线程里同步等待了。只要 Codex 忙一点,后面的消息就全部堵住。

这个问题后来被我拆掉了:

第二个坑,是图片其实收到了,但下载和解密链路错了。

我最初按旧结构读图片字段,真实线上消息却是另一套 payload。结果用户看到的是“图片已收到,但下载或解密失败”,本质上不是没收到,而是协议适配层判断错了。

我把真实图片链路重新对齐以后,这条能力才算真正闭环:

图 3:图片链路修完以后,微信里发图就不再只是“收到提醒”,而是真的能交给 Codex 分析。

我不太喜欢那种“看起来能用,但真实场景一来就开始胡说”的工具。所以这部分我宁愿多花时间,也要把它收干净。

现在 WeChatCodex 已经到了什么程度

它现在已经不是一个演示用 demo 了,而是一套能在我机器上稳定跑的本地服务。

目前已经支持:

对我来说,一个项目值不值得继续做,不看它“概念上新不新”,而看它有没有把一条真实工作流补完整。

WeChatCodex 做到的,正是这一点。

最后

如果你也想把本机上的 Codex 接到微信里,可以直接看这个项目:

https://github.com/DrDavidDa/WeChatCodex

我一直很看重一类项目:先把真实链路打通,再把工程慢慢打磨到别人也能复用。

WeChatCodex 现在只是一个开始,期待后续微信端能有更多玩法。

开篇

路径

要盯的事

结构

看完记住