深度使用 OpenClaw 和 Hermes 一个月后,我转投了 HAPI
OpenClaw 和 Hermes 对开发者都是玩具。
这句话会冒犯一大群人。但这两个项目我都各自跑了一个月——配置一遍、把工作流迁过去一遍、踩坑一遍——最后一个一个卸掉。真正留在电脑里、每天让我敢合上电脑盖就出门的,是一个 GitHub 上只有三千星、名字都不像正经工程工具的东西——HAPI。
玩具的共同特征:它想做你的大脑,哪怕你已经有一个
OpenClaw 的路子是一体化。npm install 下去,自带 100+ 插件、内置 RAG、自己的 memory 层、甚至一个 low-code 编排界面。卖点很直白:不写代码的人也能 5 分钟装一个能查数据库、发邮件、写 SQL 的 agent。
Hermes 走另一条。Python-native、terminal-first,核心招牌是 agent “能自学”——跑着跑着把常用操作凝成一条 procedural skill 存下来,下次直接调;加上三级 memory,说是越用越懂你。两个月冲到 5 万星,大部分人买的是这个。
客观说,两边都不是在瞎搞。但表面上两种路子,本质是同一件事:它想让你换到它那边来——换 runtime、换 skill 体系、换工作方式。
但开发者的大脑已经被占完了。Anthropic、OpenAI、Moonshot、阿里——大厂 flagship 模型加上各自的 harness(Claude Code / Codex / OpenCode / Qwen CLI),每周都在迭代,每次迭代不是小修小补,是把问题解决掉半个。一个开源 framework 想在这个缝里塞一个自研 agent,前提是你相信它比大厂做得更好。我不信。
更关键的是存量成本。本地 Claude Code 塞了 17 个 MCP server、4 个 subagent、一个被改烂的 CLAUDE.md、公司内网 git 配置、堡垒机 VPN——半年攒的,每个配置后面都有一次踩坑。换去 OpenClaw 或 Hermes 重来一遍,最少 3 天,还不保证配到原来的效果。
这笔账对"想尝鲜的人"是正的,对"已经在干活的人"是负的。能让不写代码的人 5 分钟装起来的工具,也能被开发者 5 分钟扔掉。
真正的痛点,这两个东西谁都没解决
早上九点打开 MacBook,起了一个 claude 去跑涉及十几个文件的重构,任务量 30 分钟起跳。这时候人要出门——去开会、去接孩子、去健身房。
跑到一半,claude 卡住,要回答"要不要改数据库 schema"。它在那儿等,我在地铁上,脑袋里其实有答案,但我掏不出 MacBook——它在家里的桌上开着盖。回到家,等了一个半小时的 agent 正在那儿转圈。一个下午蒸发了。
再说一个,周四晚上十一点让它跑一个大迁移,原计划"它跑着,我睡一觉起来验收"。早上七点起床,它卡在第二步的某个 warning 上——凌晨两点就问出来的问题,一问就是五小时。整晚没睡踏实,手机在枕边每震一下我就爬起来看,看完什么都做不了又躺回去。第二天一整天在补觉。
两个场景不一样,卡点是一样的:agent 够聪明,它问的问题也够清楚,就是它的提问抵达不了我。
OpenClaw 和 Hermes 都不解决这个。它们只关心"怎么给你一个更聪明的 agent"——agent 够不够聪明从来不是瓶颈,agent 找不到你才是。
<figure><img src=“images/01-toy-vs-antenna.png” alt=“玩具 vs 天线”></figure>
HAPI 做的事:给你已经信任的那个 agent 装根天线
HAPI 不做 agent。它把本地跑的 Claude Code / Codex / Cursor Agent session 从电脑延伸到手机、平板、浏览器。session 依然在你的 MacBook 上跑,只是多了根天线。
用 hapi 代替 claude——就改这一个命令名。CLAUDE.md、MCP、subagent、VPN,一样都不用动。
真正让我停下来的是双击空格这个手势。坐回电脑前,手指双击一下空格键,session 从手机遥控切回终端,光标停在刚才被远程接过去的那一行,一个字都没被破坏。空格是最不起眼的键,双击是最不容易误触的组合,切换点落在"光标那一行"而不是"对话那一轮"。每一步都是用熟了 Claude Code 的人才分得出差别的选择。
还有一件让我放心的事是它的传输层选择。Runner 是个本地守护进程,隧道走 Cloudflare Tunnel / Tailscale,状态落在 SQLite——每一层都是在别的场景里被用烂了的基建,不是为 agent 新造的那种实验性 websocket 通道。
家里路由器重启一次、公司 VPN 踢一下、手机从 4G 切 5G——任何一次网络抖动都能把自研的 heartbeat 推进"它以为我在、我以为它在"的幽灵态。HAPI 的选择是断了就重连、状态自己接回来,你在地铁里不需要替它救场。开发者要的从来不是"永不断线的承诺",是"断了也能自己起来"的踏实。
装上 HAPI 的那根天线之后,最直观的变化不是变快——是能合上电脑盖就走。以前要等 agent 跑完才敢关机的那种心理粘度没有了。agent 不再把人钉在椅子上。
我现在怎么平替 OpenClaw / Hermes:四个老零件拼一起
放弃 OpenClaw / Hermes 之后我没找替代框架,因为根本不需要。我现在的 setup 是这样:
凌晨两点,cron 拉起一个 HAPI 包着的 Claude Code 跑某个数据迁移;它中途要确认就把问题推到我手机上的 Telegram bot;我七点起床,扫一眼,回一个 “yes” 或者 “改成 schema_v2 那张”;它继续跑,跑完发一条完成通知。
逻辑上和 OpenClaw / Hermes 想做的事完全一样——定时 + 执行 + 通知 + 遥控——区别在于每一层我都换成了一个已经稳到无聊的东西。cron 跑了快五十年,crontab 一行写完,二十年没出过 bug;Claude Code 是 Anthropic 在养,半年攒下来的 MCP / subagent / CLAUDE.md 一个不动;Telegram bot 几亿人在用,推送从来没掉过;HAPI 自己只占中间最薄的那层传输。
OpenClaw 把这四件事打包进一套自研 runtime,每层自己再造一遍;Hermes 让 agent 自己学会这四件事。我的方案是把它们交给四个分别经过时间检验的老零件。
最让我安心的不是它功能多,是它没有任何一层是新发明的。新东西崩起来花样翻新,老东西的崩法早就被筛过一轮,剩下的边界情况都被人写进 man page 了。
OpenClaw 和 Hermes 想做你的 agent;HAPI 只想做你 agent 的传输层。前者要你相信一整套新东西,后者只要你在已经信任的东西上换一个命令名。
开发要的从来不是更聪明的大脑,是一条简单的 cron 胜过不靠谱的 heartbeat。