用 iVPSer 服务器搭建 Hermes Agent:绑定微信、飞书、企业微信的完整教程

· Linux教程建站

Hermes Agent 是 Nous Research 推出的开源自主 AI Agent。和普通聊天机器人不同,Hermes 更强调“越用越懂你”:它会把长期对话、任务习惯和可复用流程沉淀成记忆和 Skills,再通过统一消息网关接入 Telegram、Discord、Slack、飞书、企业微信、个人微信、钉钉、QQ Bot 等平台。

把 Hermes Agent 部署到 iVPSer 服务器上,可以让它 7x24 小时在线。你在手机微信、飞书或企业微信群里发消息,服务器上的 Hermes 接收消息、调用模型和工具、执行任务,再把结果发回聊天窗口。

如果还没有服务器,可以在 iVPSer 自助开通平台 开一台 Ubuntu 24.04 或 Debian 12。个人测试 2GB 内存可用;如果要开启 Docker 沙箱、浏览器自动化、多渠道和多 Agent,建议 4GB 内存起步。

一、Hermes 和 OpenClaw 有什么区别?

OpenClaw 和 Hermes 都可以理解为“自托管 AI 助手 + 消息网关”,但侧重点不同。

对比项Hermes AgentOpenClaw
运行环境Python 环境或容器Node.js 24 推荐,Node 22.19+ 兼容
核心定位自改进 Agent,强调长期记忆、Skills 和自动学习多渠道 AI Agent Gateway,强调聊天入口、路由、控制台和插件生态
记忆与 Skills主打闭环学习:从对话和任务中提炼记忆与 Skills支持会话、记忆、Skills 和多 Agent 路由,更偏网关和编排
工具扩展支持 MCP,使用 allowlist 控制工具面支持插件、模型、工具、节点、频道和 Control UI
任务调度内置 Cron,把定时任务结果推送到任意消息渠道也支持自动化和计划任务,更多围绕 Gateway 配置
执行后端local、Docker、SSH、Daytona、Singularity、Modal本机/沙箱/节点/ACP 等运行方式,和 OpenClaw Gateway 深度集成
国内 IM飞书、企业微信、个人微信、钉钉、QQ Bot、元宝等飞书、微信、QQ Bot、元宝等,微信通常通过外部插件
适合人群想要长期个人助理、知识沉淀、自动学习和多运行后端想要成熟多渠道网关、丰富插件和更直接的控制台体验

简单选择:

二、准备 iVPSer 服务器

本文以 Ubuntu 24.04 / Debian 12 为例。先通过 SSH 登录服务器:

ssh root@你的服务器IP

更新系统并安装基础工具:

apt update && apt upgrade -y
apt install -y curl git jq unzip ca-certificates ufw python3 python3-venv python3-pip pipx

设置时区:

timedatectl set-timezone Asia/Shanghai

创建一个普通用户运行 Hermes,避免长期用 root 跑 Agent:

adduser hermes
usermod -aG sudo hermes

建议后续直接用该用户登录:

ssh hermes@你的服务器IP

如果暂时还没有配置普通用户 SSH 登录,也可以先切换用户测试:

su - hermes

三、安装 Hermes Agent

官方推荐的一键安装方式:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

安装完成后重新加载 shell:

source ~/.bashrc

确认命令可用:

hermes --version
hermes doctor

如果你更喜欢手动方式,可以用 pipx 安装:

pipx install hermes-agent
pipx ensurepath
source ~/.bashrc

建议第一次部署先用官方安装脚本或 pipx,不要一上来就改源码。确认 CLI、模型和消息网关都跑通后,再考虑 Docker Compose、源码安装或多实例配置。

四、配置模型

运行模型配置向导:

hermes model

或者一次性完成模型和工具配置:

hermes setup

向导通常会让你选择:

如果你使用 OpenAI 兼容接口,也可以在 ~/.hermes/.env 中写入环境变量:

nano ~/.hermes/.env

示例:

OPENAI_API_KEY=sk-xxxx
OPENAI_BASE_URL=https://api.openai.com/v1

保存后做一次诊断:

hermes doctor

如果 CLI 支持聊天 smoke test,可以先试一条:

hermes chat -q "用一句话回复:Hermes 已经准备好"

五、选择执行后端

Hermes 支持多个执行后端。个人 VPS 上建议先从 local 开始,跑通后再换 Docker 沙箱:

hermes config set terminal.backend local

如果你的任务会执行 Shell 命令、下载文件、运行第三方脚本,建议安装 Docker 后切到 Docker 后端:

sudo apt install -y docker.io
sudo usermod -aG docker hermes

重新登录 hermes 用户后执行:

hermes config set terminal.backend docker

后端选择建议:

六、用 systemd 让 Hermes 常驻运行

Hermes 的消息网关命令是:

hermes gateway

在 VPS 上建议用 systemd 用户服务常驻运行。先创建服务目录:

mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/hermes-gateway.service

写入:

[Unit]
Description=Hermes Agent Gateway
After=network-online.target

[Service]
Type=simple
WorkingDirectory=%h
ExecStart=%h/.local/bin/hermes gateway
Restart=always
RestartSec=3
Environment=PYTHONUNBUFFERED=1

[Install]
WantedBy=default.target

如果你的 hermes 命令不在 %h/.local/bin/hermes,用下面命令确认路径:

command -v hermes

然后把 ExecStart 改成实际路径。

启动服务:

systemctl --user daemon-reload
systemctl --user enable --now hermes-gateway.service
systemctl --user status hermes-gateway.service

让用户退出 SSH 后服务仍继续运行:

sudo loginctl enable-linger hermes

查看日志:

journalctl --user -u hermes-gateway.service -f

七、服务器安全设置

Hermes 可以连接聊天平台,不代表你需要把管理端口开放到公网。建议只开放 SSH:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

如果以后开启 Web UI 或 Webhook 模式,优先使用反向代理、HTTPS、访问控制和最小端口暴露。飞书和企业微信都支持不暴露公网入口的连接方式,个人 VPS 场景优先选 WebSocket / 长连接模式。

八、绑定个人微信(Weixin / WeChat)

Hermes 的个人微信适配器使用腾讯 iLink Bot API。它不是把你的普通微信号变成完全可脚本控制的个人号,而是通过二维码登录连接一个 iLink bot 身份。

先安装依赖:

pip install aiohttp cryptography
pip install 'hermes-agent[messaging]'

运行网关设置向导:

hermes gateway setup

在向导里选择 Weixin / WeChat。流程大致是:

  1. Hermes 在终端显示二维码或二维码 URL;
  2. 用手机微信扫码;
  3. 手机端确认登录;
  4. Hermes 把账号凭据保存到 ~/.hermes/weixin/accounts/
  5. 成功后会看到类似 微信连接成功,account_id=... 的提示。

首次登录后,在 ~/.hermes/.env 中至少保留账号 ID:

WEIXIN_ACCOUNT_ID=your-account-id

# 建议生产环境限制用户
WEIXIN_DM_POLICY=allowlist
WEIXIN_ALLOWED_USERS=user_id_1,user_id_2

# 个人微信群聊默认建议关闭
WEIXIN_GROUP_POLICY=disabled

启动或重启网关:

systemctl --user restart hermes-gateway.service

查看日志:

journalctl --user -u hermes-gateway.service -f

关于个人微信群聊的限制

这里要特别注意:Hermes 文档明确说明,二维码登录连接的是 iLink bot 身份,不是一个完整可脚本化的普通个人微信号。很多情况下,普通微信群事件不会被 iLink 交给 Gateway,所以个人微信更适合做私聊入口。

如果你需要企业内部群聊机器人,优先用企业微信 WeCom;如果你需要团队办公协作入口,优先用飞书。

九、绑定飞书

飞书是国内环境里最推荐的 Hermes 入口之一。它支持私聊、群聊、图片、音频、文件等消息类型,并且推荐 WebSocket 长连接模式,不需要公网 Webhook。

运行设置向导:

hermes gateway setup

选择 Feishu / Lark。如果二维码创建可用,直接扫码;如果不可用,就用手动方式:

  1. 打开 飞书开放平台
  2. 创建企业自建应用;
  3. 在“凭证与基础信息”复制 App ID 和 App Secret;
  4. 启用 Bot 能力;
  5. 在“权限管理”添加消息相关权限;
  6. 在“事件订阅”选择长连接 WebSocket,并订阅 im.message.receive_v1
  7. 发布应用版本并等待审批;
  8. 回到 hermes gateway setup 输入 App ID 和 App Secret。

手动 .env 示例:

FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=secret_xxx
FEISHU_DOMAIN=feishu
FEISHU_CONNECTION_MODE=websocket

# 生产环境强烈建议配置允许用户
FEISHU_ALLOWED_USERS=ou_xxx,ou_yyy

# 定时任务和通知推送的默认聊天
FEISHU_HOME_CHANNEL=oc_xxx

重启网关:

systemctl --user restart hermes-gateway.service

飞书群聊默认只有 @ 机器人时才响应。建议保留这个行为,避免在群里误触发:

FEISHU_REQUIRE_MENTION=true
FEISHU_GROUP_POLICY=allowlist

如果机器人在群里不回复,按顺序排查:

查看日志:

journalctl --user -u hermes-gateway.service -f

十、绑定企业微信(WeCom)

如果你的需求是“国内微信生态 + 群聊 + 企业管理”,企业微信比个人微信更稳。Hermes 的 WeCom 适配器使用企业微信 AI Bot WebSocket 网关,实时双向通信,不需要公网 Webhook。

准备条件:

安装依赖:

pip install aiohttp httpx

运行设置向导:

hermes gateway setup

选择 WeCom / Enterprise WeChat。如果扫码创建可用,按提示扫码;如果不可用,就手动创建:

  1. 登录 企业微信管理后台
  2. 进入应用管理,创建 AI Bot;
  3. 复制 Bot ID 和 Secret;
  4. 回到 hermes gateway setup 输入凭据;
  5. 选择访问控制模式。

手动 .env 示例:

WECOM_BOT_ID=your-bot-id
WECOM_SECRET=your-secret

# 建议限制用户
WECOM_DM_POLICY=allowlist
WECOM_ALLOWED_USERS=user_id_1,user_id_2

# 群聊也建议用 allowlist
WECOM_GROUP_POLICY=allowlist
WECOM_HOME_CHANNEL=chat_id

如果要按群精细控制,可以在 config.yaml 里配置 platforms.wecom.extra.groups。示例:

platforms:
  wecom:
    enabled: true
    extra:
      bot_id: "your-bot-id"
      secret: "your-secret"
      group_policy: "allowlist"
      group_allow_from:
        - "group_id_1"
      groups:
        group_id_1:
          allow_from:
            - "user_alice"
            - "user_bob"

重启网关:

systemctl --user restart hermes-gateway.service

十一、可选:钉钉和 QQ Bot

Hermes 文档也列出了钉钉、QQ Bot、元宝等国内平台。建议优先顺序:

  1. 飞书:团队协作最容易落地,WebSocket 模式不需要公网回调;
  2. 企业微信 WeCom:企业微信生态、群聊和内部成员管理更适合生产;
  3. 个人微信 Weixin:适合个人私聊入口,群聊不要作为稳定前提;
  4. 钉钉 / QQ Bot:按你的用户所在平台决定是否接入。

不建议一次性把所有平台都打开。先接一个最常用的入口,确认访问控制、模型费用、日志和备份都正常,再逐步增加渠道。

十二、备份和维护

Hermes 的主要状态通常在 ~/.hermes/

tar -czf hermes-backup-$(date +%F).tar.gz ~/.hermes 2>/dev/null

建议备份到本地电脑或另一台服务器,不要只放在同一块系统盘。

升级 Hermes:

pipx upgrade hermes-agent

如果你用的是官方安装脚本安装的版本,先确认 command -v hermes 指向哪里,再按对应安装方式升级。

诊断:

hermes doctor

日志:

journalctl --user -u hermes-gateway.service -f

重启:

systemctl --user restart hermes-gateway.service

十三、常见问题

1. hermes 命令找不到

重新加载 shell:

source ~/.bashrc

或者检查路径:

command -v hermes
echo "$PATH"

2. 微信扫码成功但别人不能私聊

确认对方发消息给的是 iLink bot 身份,而不是扫码登录的普通微信号本身。然后从日志里找发送者 ID,加入 WEIXIN_ALLOWED_USERS

3. 个人微信群里不响应

个人微信 iLink bot 身份常常收不到普通微信群事件。优先改用企业微信 WeCom 或飞书群聊,不要把个人微信群作为稳定生产入口。

4. 飞书机器人在群里不回复

飞书群聊默认需要 @ 机器人。还要检查 FEISHU_ALLOWED_USERS、应用权限、事件订阅、应用发布审批和 Gateway 日志。

5. 担心别人滥用模型费用

不要使用开放访问。至少配置:

FEISHU_ALLOWED_USERS=ou_xxx
WECOM_DM_POLICY=allowlist
WECOM_ALLOWED_USERS=user_id_1
WEIXIN_DM_POLICY=allowlist
WEIXIN_ALLOWED_USERS=user_id_1

群聊也尽量用 allowlist,并保留 @ 触发。

总结

如果你想在 iVPSer 上搭一个长期在线、会积累经验的个人 AI 助手,Hermes Agent 值得尝试。推荐落地方案:

这样配置完成后,你就可以通过微信、飞书或企业微信,把 Hermes Agent 变成常驻在 iVPSer 服务器上的个人工作助手。

参考资料