Proudly introducing MDD & Brain CLI
以下内容经过AI润色
最近开源了一个叫 Brain CLI 的小工具:给 Claude Code、Codex 这些宿主 Agent 挂一个“外脑”,让它们去咨询其他模型得到第二意见,也可以拉几个模型对同一个问题做比较或讨论。回头看最有意思的一点是:它的大部分开发工作,不是我在电脑前敲出来的,而是在通勤和闲暇时,拿手机一点点推进的。
我给这种工作方式起了个名字:MDD(Mobility-Driven Development,移动性驱动开发)。软件圈从来不缺 ×DD 式的造词:TDD 用测试驱动,DDD 用领域驱动,红极一时的 SDD(Spec-Driven Development)用规格驱动。它们驱动的都是“开发”,MDD 驱动的是“开发者”——散步、通勤,或者躺着不想起来,手里只有一部手机,也照样能把想法丢给云端的 Agent,看它做了什么,再给出判断,让项目继续往前走。
起这个名字时也纠结过一轮:最开始想叫 PDD(Portability-Driven Development),但软件工程里 portability 通常说的是软件跨环境可移植性,容易误会;缩写虽然和老牌的 Model-Driven Development 撞了名,还是 MDD 最贴切。
一套工作流算不算 MDD,我的标准很简单:离开电脑之后,项目的上下文还在,Agent 还在干活,而我在手机上能看清进展、拍板下一步。
我的开发环境搬到了 VPS
我在一台海外 VPS 上装了 Claude Code、Codex CLI 和 CloudCLI(仓库仍然是旧名 claudecodeui),手机通过 Cloudflare CDN 代理后的入口访问 CloudCLI。项目代码在 GitHub 上,VPS 负责跑开发环境。
CloudCLI 给 Claude Code、Codex 这类命令行 Agent 加了一层网页界面,会话、文件、Git 和终端都能在里面处理。不过,能在手机上打开一个网页,和愿意一直用它干活,是两回事。以前也试过一些手机上的远程终端方案,勉强敲一行命令还行,真要翻会话、看文件改动、处理 Git,操作起来就很别扭。CloudCLI 的移动端适配把这几步串顺了:冒出个念头就掏出手机发起任务,揣回兜里接着走;过一会儿拿出来瞄一眼进展,发现方向不对,就补几句约束,或者让它推倒重来。
用得多了,难免撞见一些硌手的小毛病。我给 CloudCLI 提过几个 PR,其中一个修复手机软键盘回车行为的 PR已经合入了。说起来其实只是“移动端按回车时该换行还是发送”的小事,但天天拿手机给 Agent 输入指令,这种细节真的很影响体验。
也是因为“代码在 GitHub、开发环境在 VPS”这套组合把主要需求都接住了,我此前挺爱用的 Herdr 暂时没了用武之地——当然,这说的是个人项目开发场景,换成企业内网的 GitLab 私服、只能连公司网络的环境,自然是首推 Herdr。此外我还部署试用了 Codeman,它也有适合手机操作的网页界面,而且能用上 CloudCLI 目前尚未集成的 Antigravity CLI,想换个 Agent 换换口味时,是个不错的补充。
可能有读者会问:这跟在手机上用 ChatGPT 有什么区别?Codex 不是也有云端沙箱?前一半好回答:手机上的 ChatGPT 再顺手,它也是一个聊天窗口——我的仓库、文件、Git 历史和终端都不生活在那里,聊得再热闹,项目本身一步没动。至于 Codex 的云端沙箱,说实话我没用过——不是它不好,而是我压根不在手机上装原厂 App:人在国内,让手机时刻保持外网可达,本身就是一种额外负担。这也是我前文写“海外 VPS”的原因:VPS 本就在海外,Claude、GPT、Gemini、智谱这些国内外模型它都接得上;对手机,它只暴露一个挂在 Cloudflare CDN 后面的自有域名,直连就行,不需要任何特殊网络。
由此我抛出一个略带武断的判断:Agent 时代的开发者,值得给自己置办一套“新四大件”——一个域名、一台海外 VPS、一个 GitHub 账号、一个 Cloudflare 账号。VPS 是 Agent 的家和出海的跳板,GitHub 存代码,域名是入口,Cloudflare 把入口稳稳地挡在前面。四样凑齐,Agent 就有了安身之处;人挪到哪儿,工位就跟到哪儿。

我的体感:程序员的优势在挪地方
Agent 时代,没有编程基础的用户也能给 Agent 描述一个想法,让它生成一堆代码。以前,“我能写出别人写不出的代码”这件事本身就有价值;现在 Agent 能写出大部分代码,“我能写出来”不再是稀缺的部分。优势挪到了两件事上:把一个念头持续推进成产品的执行力,和开发过程中的判断力。
代码是 Agent 写的,坑还是要人来踩:一个功能值不值得做?需求哪里还没想清楚?Agent 交出来的东西,是解决了问题,还是只做出了看起来能跑的样子?测试全绿,实际用起来顺不顺手(以及 Agent-Friendly)?这些问题不会因为代码由 Agent 写就自动消失,懂开发的人在这里仍然占便宜——只是占便宜的方式,从“亲手写出来”变成了提出问题、识别问题和收拾结果。
技术理解当然还是硬要求,只是在我自己的项目里,越来越起决定作用的,反而是那些一直被归在“软实力”里的东西:一个念头能不能一路推下去,Agent 的方案该不该信。
只要手机能连上那台 VPS,散步、通勤,或者躺着发呆时冒出的念头,就不必等到正襟危坐的打开电脑,才有机会变成一个项目。