Loomi 由两部分组成:一个装进 Hermes Gateway 的插件(loomi-plugin),
和一个 Android App。手机端不是独立客户端 —— Agent 始终跑在你自己的机器上,
Loomi 只是把它接进你的口袋。
Hermes Gateway ──► loomi-plugin ──WSS──► Android App
▲ │
└──── 审批回执 / 消息 / 取消回合 ──────────┘
它做什么
- 任务:Agent 每一次回合都以条目出现,状态分运行中、等待审批、已完成、失败、已取消。有待处理的授权时,任务页顶部直接给出入口。
- 时间线:按序回放一次回合里的流式输出、工具调用与结果,断线重连后接着看,不重不漏。
- 审批:本机执行的授权请求会推到手机上(命令、说明、风险提示、超时时间),在外面也能放行或拒绝。
- 通知:网关通知与回合完成推送到通知栏;默认只有审批响铃,任务完成静音可自选。
- 配对:服务端一条
hermes loomi pair打出一次性二维码,手机扫码即接入,之后不再需要扫码。
形态
- 一条 WebSocket 长连接(
/ws),25 秒心跳,指数退避重连,按序号去重与补发。 - 插件在网关进程内运行自己的 WebSocket 服务,默认只绑回环地址;非回环地址且无 TLS 时拒绝启动。
- 配对令牌一次性、默认 300 秒过期;设备凭据只在下发那一帧出现,磁盘上只存 SHA-256。
- 不修改 Hermes 任何核心文件 —— 全部走已发布的扩展点。
- 不需要第三方云、不需要 FCM、不需要独立账号;无 GMS 的环境完全可用。
要求
| 项目 | 要求 |
|---|---|
| 服务端 | Hermes Agent(插件按 2026.9.24 源码验证)+ Python aiohttp |
| 手机端 | Android 8.0(API 26)及以上 |
| 网络 | 手机与服务端同网段可直连;不同网段需反代或隧道终止 TLS |
| 服务器 | 无需公网数据库、无需 Redis |
三步上手
-
服务端装插件
把插件目录放进
~/.hermes/plugins/,启用后重启网关。 -
配对一次
hermes loomi pair打出二维码,手机 App 扫码,自动换取设备凭据。 -
把电池白名单开上
各厂商的省电策略会杀掉长连接;加入白名单,Agent 找你时手机才会响。
命令、字段与常见问题都写在 使用教程里。
当前版本 0.2.0。手机端构成为调试签名,仅作内测安装;服务端插件为独立目录,不触碰 Hermes 核心。 协议规范见 Loomi Protocol v1。