装完 Hermes 连上微信,家里的 Linux 就成了一个能回消息的 AI 助手

把一台长期在线的 Linux 变成手机微信里能直接派任务的 AI 助手,这件事听起来像是要在终端里折腾几十行配置、改一堆环境变量。实际操作下来,用 Hermes 走通这条链路,核心步骤大概就是四件事:装好 Hermes、登录 Codex 账号、扫码连微信、批准第一个陌生人的配对请求。整个过程遇到的坑主要集中在三个地方:Gateway 在 SSH 退出后不跑了、微信私聊策略默认不是配对模式、以及登录 Codex 时选错了授权入口。这篇把每步怎么走、卡在哪、怎么捞起来,都按能复现的标准写清楚。


这台机器上跑的是 Hermes,不是 Codex Remote

很多人第一次看到 Hermes,会下意识觉得它是“能在微信里控制 Codex”的工具。这个理解不算全错,但漏掉了最关键的部分——它更像一个住在机器里的执行代理。

Codex Remote 做的事情是:你临时从手机或另一台电脑连过去,让它改代码、跑测试、看 diff,改完就结束。它的场景是“人发起、人等待、人拿走结果”。

Hermes 的场景是反过来的:任务可以提前定好,到点自己跑;跑完的结果主动送回来,不用你守着终端等。它除了调用 AI 模型理解你发过来的话,还能操作这台机器上的文件、终端、脚本、服务。你可以让它每天早上整理邮件生成日报发到微信,也可以出门在外让它检查一下某个服务的状态,不用掏出笔记本连 SSH。

所以这两件事可以同时存在:临时改代码用 Codex Remote 更顺手,定时任务和后台工作流交给 Hermes。两条链路不冲突,装完 Hermes 之后 Codex Remote 照样能用。


安装前确认三样东西

这篇教程走的是“从 Mac 远程登录 Linux,把 Hermes 装在那台 Linux 上,再接入个人微信”的路径。开始前确认下面三件事:

  1. 一台能长期联网的 Linux 或 macOS 机器,如果是远端服务器,需要知道服务器地址和 SSH 登录权限。
  2. 一个能正常使用 Codex 的 ChatGPT 账号。
  3. 一个个人微信账号。

Linux 或 macOS 上需要已经装了 Git。用 git --version 看一眼,能返回版本号就行。

不覆盖 Windows、Docker、NAS 套件、企业微信和微信群机器人。微信连接用的是 iLink bot 身份,普通微信群通常不可靠,最稳的入口是私聊。


安装 Hermes:一条命令装完,再检查路径

从 Mac 登录到那台 Linux:

ssh <用户名>@<服务器地址>

第一次连接会问是否继续,确认地址没错就输入 yes,然后输密码。

进去之后先确认 Git 在:

git --version

能看到版本号,再跑官方安装命令。安装器会自动处理 Python、uv、Node.js 这些主要依赖:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc

如果直接装在 macOS 上,第二行换成 source ~/.zshrc。

装完检查一下路径和版本:

command -v hermes
hermes --version
hermes doctor

能看到 Hermes 路径、版本号,hermes doctor 没有报阻止运行的错误,就说明装好了。警告不一定是失败,按终端提示处理就行。


登录 Codex:选 OpenAI,再选 ChatGPT or Codex Subscription

Provider 是 Hermes 调用 AI 模型的渠道。选 openai-codex 这个 Provider,走的是 ChatGPT/Codex 账号授权,不需要额外填 OpenAI API Key。

在 Linux 上执行:

hermes model

按顺序:

  1. 选 OpenAI,回车。
  2. 选 ChatGPT or Codex Subscription,回车。
  3. 终端会给出一个链接,在浏览器打开完成账号授权——浏览器可以在 Mac 上开,也可以在手机上开。
  4. 授权完回到终端,选一个可用的模型。

完成后看一眼配置:

hermes config get model
hermes status

重点看 Provider 是不是 openai-codex,模型名有没有值。如果授权后还是看不到模型,重新跑一遍 hermes model,确认登录的是那个能用 Codex 的 ChatGPT 账号。


连接微信:gateway setup 选 Weixin,策略选 pairing

Gateway 是 Hermes 和微信之间常驻的消息服务。它在后台收消息、把任务交给 Agent、再把结果发回微信。

在 Linux 上执行:

hermes gateway setup

列表里选 Weixin。向导问到私聊访问策略时,选 pairing,不要选 open。选 open 意味着任何微信用户都能直接和这台机器对话,除非你确定要这样,否则别选。

终端出现二维码后,用微信扫码确认。看到“微信连接成功”就说明账号凭据保存好了。这里连接的是独立的 iLink bot 身份,不是把你自己微信的控制权交出去。

然后把 Gateway 装成后台服务并启动:

hermes gateway install
hermes gateway start
hermes gateway status

hermes gateway status 显示 running,这一步就完成了。

关键一步:如果 Hermes 装在远端 Linux 上,默认用户服务会在 SSH 退出后停止。需要执行:

sudo loginctl enable-linger "$USER"
hermes gateway restart

如果当前账号没有 sudo 权限,让管理员帮忙跑第一条命令。VPS 或无人值守主机可以装系统级 Gateway,但不要同时装用户级和系统级两个。

以后配置变了,重启 Gateway 用:

hermes gateway restart

批准第一个微信配对:hello 换配对码,终端审批

在微信里给 bot 发一句:

hello

第一次私聊时,bot 会说不认识你,并返回一个 pairing code。如果它直接回了问题,说明当前私聊策略不是 pairing。停用,重新跑 hermes gateway setup,把 Weixin 的私聊策略改成 pairing。

回到运行 Hermes 的 Linux,执行:

hermes pairing list
hermes pairing approve weixin <配对码>

<配对码> 换成微信里收到的那串字符。配对码是一次性的,不要发给别人。

审批完再发一次 hello,微信收到正常回复,链路就通了。


日常使用:私聊发任务,/bg 跑后台,/approve 确认命令

链路通了之后,微信就是这台 Linux 的入口。

看模型:

/model

会返回当前模型和 Provider、账号可选的模型列表、切换模型的命令格式。

跑后台任务:耗时任务用 /bg 前缀,比如:

/bg 检查 /home/punk/project/ 的测试结果和最近 20 条 Git 提交,完成后给我一份中文摘要。

任务启动后,你可以继续聊天,结果完成时会自动发回当前聊天。

批准命令:Hermes 碰到需要确认的终端命令,会在微信里等你回复 /approve。只有它明确提示“有命令等待批准”时才用这个命令。第一次绑定微信的配对码还是要走终端 hermes pairing approve,两者不是一回事。


验收:退出 SSH 后还能回消息才算数

不要收到一句 hello 回复就停下来。按下面顺序测一轮:

  1. 微信里发 /status,确认返回了会话、模型和 Provider 信息。
  2. 发一条只读任务:

    只查看当前机器的系统类型和当前目录,不要修改任何文件。
    

    确认它能返回机器信息,且没有改文件。

  3. 退出 SSH,等一分钟,再从微信发一次 hello。还能收到回复,才说明 Gateway 在无人值守状态下能继续跑。

操作清单

  • [ ] 登录目标 Linux,git --version 确认 Git 存在
  • [ ] 跑官方安装命令,source ~/.bashrc,hermes --version 和 hermes doctor 确认安装
  • [ ] hermes model:选 OpenAI → ChatGPT or Codex Subscription → 网页授权 → 选模型
  • [ ] hermes gateway setup:选 Weixin,私聊策略选 pairing,扫码登录
  • [ ] hermes gateway install && hermes gateway start
  • [ ] sudo loginctl enable-linger "$USER"(远端 Linux 必做)
  • [ ] 微信发 hello,拿 pairing code
  • [ ] 终端 hermes pairing approve weixin <配对码>
  • [ ] 微信再发 hello,确认回复
  • [ ] 发 /status、发只读任务、退出 SSH 再测一次

FAQ

终端报 hermes: command not found

跑 source ~/.bashrc(Linux)或 source ~/.zshrc(macOS)。还不行就重开一个终端会话再试。

gateway setup 列表里没有 Weixin

cd ~/.hermes/hermes-agent
uv pip install -e ".[messaging]"
hermes gateway setup

补上 messaging 扩展再跑配置向导。

Gateway 状态 running,但微信不回消息

hermes gateway status
hermes logs gateway -n 120
hermes gateway restart

看日志有没有 WEIXIN_ACCOUNT_ID 或 WEIXIN_TOKEN 缺失的提示。有的话重新跑 hermes gateway setup 扫码登录,让向导重新保存凭据。

二维码过期或扫码没反应

二维码会过期。退出当前向导,重新跑 hermes gateway setup。如果终端显示不了二维码,打开终端给出的 URL 用浏览器加载。

退出 SSH 后微信就不回复了

sudo loginctl enable-linger "$USER"
hermes gateway restart
hermes gateway status

这是远端 Linux 上最容易被漏掉的一步。跑完之后用户级 Gateway 就能在 SSH 断开后继续跑。

提示另一个 Gateway 正在用当前微信 token

一个微信 token 同时只能由一个 Gateway 使用。检查是不是在其他终端、其他机器上启动了同一个账号的 Gateway,停了再起当前的。

Codex 登录失效或模型不可用

hermes model
hermes gateway restart

重新授权,模型列表以 hermes model 和微信 /model 返回的为准。

微信一直说不认识你

重新发 hello 拿新的 pairing code,再跑:

hermes pairing list
hermes pairing approve weixin <新配对码>

配对码是一次性的,每次 hello 会生成新的。

报错看不懂从哪查

hermes doctor

会检查安装方式、环境和缺失依赖。还解决不了,把 hermes doctor 的结果和 hermes logs gateway -n 120 的日志一起贴出来给排查的人看,但记得先删掉里面的 token、账号和服务器地址。


本文核验日期:2026-09-07。实测版本为 Hermes Agent v0.21.0。模型名称和菜单文字可能随版本、账号变化,以终端和微信返回的实际列表为准。本文不构成安全建议,接入微信后 Hermes 能读写文件和执行终端命令,建议用普通 Linux 用户运行,不要直接使用 root。