How-To Self-Hosting

在你的 Android 手机上用 Termux 装 Hermes Agent

Hermes Agent

Hermes Agent

@hermesagents

2026年3月15日

7 分钟阅读

我抽屉里有一台旧 Pixel 4a,大概有十八个月对我来说形同死机。电池衰得厉害,后盖裂了,SIM 卡槽的铰链还有点松。但它同时也有一颗 2.0 GHz 八核 CPU 和六个 G 的内存——换句话说,是一台相当不错的小型 Linux 电脑。

上礼拜我把它充上电,装了 Termux,把 Hermes Agent 塞了进去。二十分钟后,我已经能从随身那台真手机的 Telegram 里跟一个 AI 助手对话了。这篇讲这套东西是怎么跑起来的,以及为什么"手机的那些限制"恰好是看清 Hermes 本质的一个好角度。

Android 手机上到底跑了什么

Hermes Agent 是个 Python 程序。Termux——要装 F-Droid 那个版本,不是 Play 商店里那个早停更的——会在 Android 上给你一个真正的 Linux 用户空间:apt、Python 3、git、ssh、一个 shell。这已经足够让 Hermes 的绝大多数安装步骤和 VPS 上一模一样。

Android 上真正不一样的地方不是 Hermes,是它所处的那套操作系统。

对长跑后台进程来说,Android 是个不友好的宿主。它没有 systemd,也没有传统 init,电源管理器还特别凶——只要你的进程不在前台,它就乐意把你冻住,锁屏那一刻就动手。你不做任何处理就开跑 Hermes,熄屏的瞬间你的 Telegram 机器人就不再回话了。

窍门是 Termux 自带的 wakelock 小工具(termux-wake-lock),它会客客气气地让 Android 别动你的进程。再配合 tmuxscreen——让会话扛得住 shell 断连——把手机插上充电器,你就得到了一台常开的小服务器,安安静静躺在抽屉里。

为什么 Hermes 真的能塞进手机

大多数做"手机 AI 助手"的项目会走两条路中的一条。要么搭一个巨大的移动 app,里面包一层 API 调用(说白了就是别人家 agent 的聊天客户端),要么试图直接在设备上跑一个量化过的小模型,结果给你的是个又慢又不太聪明的东西。Hermes 这两条都不走。

你在手机上真正跑的是 Hermes 网关——也就是挂在 Telegram、Discord、Slack 等平台上收发消息、管理会话、跟你选定的那家语言模型服务商通话的那一部分。语言模型本身不需要住在手机里。你可以让手机通过 HTTPS 去跟 Nous Portal、OpenAI、Anthropic 或者其他任何服务商对话。手机的工作是当一个小、便宜、常开的协调器。重活留给云、留给另一台服务器、或者你喜欢的任何地方。

这正是 v0.2.0 那版的架构决定,在一台从没为它设计过的设备上默默兑现的地方。集中式服务商路由器的意思是:你可以让手机默认走便宜模型(比如 Nous Portal 上的免费档 MiMo),只有碰到硬任务才升级到更强的模型。技能 manifest 系统只加载那些前置条件确实在设备上满足的技能——一个浏览器自动化技能不会在一台根本没装无头 Chrome 的手机上尝试启动它。文件系统检查点和回滚机制依然能用,因为它根本不在乎底下这台机器有多壮。

你失去什么,你换回什么

手机上跑不起来的东西基本都在意料之中:没法装 systemd 服务(所以你改用 tmux,并且接受一次重启就意味着手动重启网关),没法跑重量级的本地推理,没法用基于 Docker 的工具沙箱,本地浏览器自动化也受限。浏览器技能依然能用——只要你让它去指另一台机器上的无头 Chrome——但 Android 本身不会替你拉起 Playwright。

你换回来的是一台小型常开服务器所有吸引人的地方:自带 LTE(手机本身就是它的网络)、自带 UPS(停电时电池能撑好几个小时)、自带监控(手机的电量显示正精确地告诉你这台服务器在干什么),还有完全静音。没有风扇噪音,不占机架空间,耗电量和一盏小夜灯差不多。

更大的一层意思

在一台废手机上跑 Hermes,真正有意思的点不是它"能跑",而是它跑起来和在 200 美元服务器上没什么两样。一个 agent 一旦和它运行的机器解耦了,你拿什么机器跑就变得不太要紧了。

抽屉里一台废 Pixel 4a,完全可以是一个你一天对话十次的机器人的好归宿。这不是妥协,这就是整件事的意义。

延伸阅读

别掉队

Hermes Agent 的版本更新、新 skill、新集成——社区第一手消息。不发垃圾邮件,随时可以退订。