HermesClaw
让同一微信 iLink 账号在 Hermes、OpenClaw 与 OpenCode 间切换。
这个 Agent 能做什么,适合哪些场景?
HermesClaw 是一个自托管的 Python 路由代理,用于让 Hermes Agent、OpenClaw 和可选的 OpenCode 共用一个微信 iLink 账号。它作为唯一的 iLink 轮询者和令牌持有者,避免多个原生 Gateway 同时连接同一账号时出现令牌冲突或 403。服务在本机提供两个代理端点,分别供 OpenClaw 和 Hermes Gateway 使用,并通过 ACP 子进程桥接 OpenCode。用户通过微信消息中的 /hermes、/openclaw、/opencode、/both 和 /three 切换投递目标;多代理模式会给回复加上来源标签。它不解密媒体、不调用各 Agent 的 API,也不管理它们的记忆,而是转发原始 iLink 协议消息,让各 Gateway 继续原生处理媒体和对话。安装脚本会配置 Linux systemd 或 macOS launchd 后台服务。
hermesclaw.py 轮询 iLink API,并按当前路由把原始 iLink 消息放入 Hermes 和 OpenClaw 所连接的本地代理队列;安装器将 openclaw-weixin 的 baseUrl 改为 http://127.0.0.1:19999,并将 Hermes 的 WEIXIN_BASE_URL 改为 http://127.0.0.1:19998。代理把 Gateway 的 sendmessage 请求转发回 iLink。对于 OpenCode,OpenCodeBridge 和 ACPSession 通过 opencode acp 子进程上的 JSON-RPC 2.0/NDJSON 建立按用户划分的会话,并将文本回复通过 send_text_ilink 发回微信。文本原样转发;语音使用 iLink 附带的转写文本;图片、视频和文件则将含 CDN URL 与 AES 密钥的原始消息交给各 Gateway 自行下载和解密。/whoami 返回当前路由和状态。
- 已经配置 Hermes Agent 微信 Gateway 的个人,希望在不更换微信账号的前提下再加入 OpenClaw。
- 已使用 OpenClaw clawbot 的用户,希望同一账号也能向 Hermes 投递消息,并通过 /both 获取两份回复。
- 在本机安装了 OpenCode CLI 的开发者,希望从微信语音或文本发起 OpenCode ACP 会话进行编码工作。
- 需要在 Hermes、OpenClaw 与 OpenCode 之间按会话切换,或用 /three 同时向三者发送同一条消息的用户。
- 处理图片、视频、文件或语音消息的微信机器人部署者,希望继续由现有 Gateway 原生下载、解密和处理媒体。
这个 Agent 有哪些优点和局限?
- 以 HermesClaw 作为唯一 iLink 轮询者,直接解决 Hermes 与 OpenClaw 原生 Gateway 在同一账号上的连接冲突。
- 保留各 Gateway 的原生媒体处理:代理仅转发原始 iLink 消息,不自行下载 CDN 内容或执行 AES 解密。
- 支持 /both 和 /three 并行路由,并为多目标回复添加 Hermes Agent、OpenClaw 或 OpenCode 来源标签。
- OpenCode 通过原生 ACP 子进程协议接入,不需要额外的代理端口,并包含按用户会话与子进程恢复处理。
- 安装器可自动发现已配置的 Gateway,并支持 Linux 的 systemd 和 macOS 的 launchd。
- 核心能力依赖微信 iLink 生态以及已登录、已配置的 Hermes Gateway 或 OpenClaw clawbot,不能作为独立聊天 Agent 使用。
- 部署会修改 openclaw-weixin 的 baseUrl 和 Hermes 的 WEIXIN_BASE_URL;卸载或迁移时需要恢复备份配置。
- OpenCode 路由是可选项,但需要单独安装 opencode-ai、配置 OPENCODE_CMD,并依赖本地 ACP 子进程。
- 安装和后台运行依赖 shell、Python、网络、本地账户文件以及 systemd 或 launchd 等主机环境。
- README 对 iLink 账户获取和各上游 Gateway 的初始安装流程仅以前置条件说明,未提供完整的新账号配置步骤。
如何安装或部署这个 Agent?
前提:已安装并登录配置 Hermes Agent 的 WeChat gateway,或已安装 OpenClaw + clawbot(至少一个);还需要 Python 3、网络访问和可用的 iLink 账号配置。运行:
curl -fsSL https://raw.githubusercontent.com/AaronWong1999/hermesclaw/main/install.sh | bash
自动化安装可运行:
curl -fsSL https://raw.githubusercontent.com/AaronWong1999/hermesclaw/main/install.sh | HERMESCLAW_YES=1 bash
或:bash install.sh -y。安装器会检测 Gateway、从可用账户文件提取 iLink token、写入代理地址、安装 Python 依赖并设置 Linux 的 systemd 或 macOS 的 launchd 服务。若要启用 OpenCode,先运行 npm install -g opencode-ai,并在 .env 中设置 OPENCODE_CMD;README 说明默认 OPENCODE_MODEL 为 opencode/minimax-m2.5-free。安装后重启 Gateway。
如何使用这个 Agent?
在微信中先发送 /whoami 确认服务和当前路由。发送 /hermes、/openclaw 或 /opencode 选择单一目标;发送 /both 让 Hermes 与 OpenClaw 同时回复,或 /three 让三者同时回复。之后发送普通文本即可投递给当前活动目标;语音会按 iLink 提供的转写文本转发。若 OpenCode 未安装,/opencode 和 /three 会显示安装提示,而不会正常启动 OpenCode 会话。
这个 Agent 与同类方案有什么区别?
相较于直接分别运行 Hermes 和 OpenClaw 的原生微信 Gateway,HermesClaw 集中持有 iLink 连接并通过两个本地代理分发消息,因此同一账号可使用 /both。相较于未接入时没有微信支持的 OpenCode,它通过 opencode acp 子进程桥接提供 /opencode 与 /three;它并不替代这三个上游项目本身。