在你的微信和飞书里装一个随叫随到的 AI:能写文章、搜论文、管理日程,还会从对话中自动学习你的习惯。
Hermes Agent 是 Nous Research 开发的开源 AI Agent 框架,内置 89 个开箱即用的技能,原生支持微信和飞书,200 多个 AI 模型随意切换。可以在 macOS、Linux、WSL2、甚至 Android Termux 上运行。
这篇文章记录了我从安装到接入微信和飞书的完整过程,以及日常使用中踩过的坑。我的环境是一台 M1 MacBook,安装脚本会自动检测并处理依赖,别的系统也一样。
安装
安装只需要一行命令:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash脚本会检测系统并自动安装所有依赖:uv 包管理器 → Python 3.11 → 检查 Git 和 Node.js → Homebrew 装 ripgrep 和 ffmpeg → 克隆仓库到 ~/.hermes/hermes-agent → 创建虚拟环境 → 同步 89 个内置技能 → 装 Node.js 依赖。全程大约十分钟,理论上如果网络没有问题,不需要人工干预。
为什么依赖这么多
Python:Hermes 是 Python 写的,需要 Python 3.11 + 虚拟环境 + pip 依赖,这是标准 Python 项目部署流程。对比 Claude Code 需要 Node.js 和 npm,只是 Hermes 的安装脚本把每步都打印出来了。
Node.js:微信 iLink 连接器用 Node.js 实现。
ripgrep:Agent 在文件系统里搜索的工具,类似 grep 但快很多。
ffmpeg:处理语音消息,纯文字用不到但脚本默认装了。
简化安装的其他方式
不想装本地依赖可以用 Docker:
docker pull nousresearch/hermes-agentdocker run -it -v ~/.hermes:/root/.hermes nousresearch/hermes-agent如果你已经在用 AI 编程工具(Claude Code、OpenCode 等),让 Agent 替你跑安装更省事。本文的安装就是通过 OpenCode + DeepSeek 自动完成的。安装AI 编程工具可以参考下面的文章:
强强联合:Claude Code 接入 DeepSeek V4 的正确打开方式
告诉OpenCode "帮我装 Hermes Agent 并接入微信",它会自己执行命令、处理报错、配置模型和密钥,依赖多、步骤长的问题完全不用操心。
安装日志
下面是我的实际输出,根据不同环境和版本可能有差异,仅供参考:
✓ Detected: macos (macos)→ Installing uv (fast Python package manager)...✓ uv installed (uv 0.11.11)→ Python 3.11 not found, installing via uv...Downloading cpython-3.11.15-macos-aarch64-none (25.8MiB)Installed Python 3.11.15 in 5.51s✓ Python installed: Python 3.11.15脚本识别系统后装 uv(Rust 写的 Python 包管理器),再通过 uv 装 Python 3.11。即使系统有其他 Python 版本也不会冲突。
✓ Git 2.50.1 found✓ Node.js v25.8.0 found→ Installing ripgrep ffmpeg via Homebrew...✓ ripgrep installed (15.1.0)✓ ffmpeg installed (8.1.1)检查 Git 和 Node.js,缺了就自动装。ripgrep 和 ffmpeg 通过 Homebrew 安装。
→ Installing to /Users/你的用户名/.hermes/hermes-agent...→ Trying SSH clone...→ SSH failed, trying HTTPS...Cloning into '/Users/你的用户名/.hermes/hermes-agent'...✓ Cloned via HTTPS先尝试 SSH,没配置 Key 就自动退回 HTTPS。仓库克隆到 ~/.hermes/hermes-agent。
→ Creating virtual environment with Python 3.11...✓ Virtual environment ready (Python 3.11)→ Installing dependencies...✓ Main package installed✓ All dependencies installeduv pip install -e ".[all]" 一步装完主包和所有扩展。
Syncing bundled skills into ~/.hermes/skills/ ... + apple-reminders + arxiv + blogwatcher + research-paper-writing ... (共 89 个)Done: 89 new, 0 updated, 0 unchanged.同步 89 个内置技能,安装后发 /<skill-name> 在聊天框里直接调用。
added 204 packages, audited 205 packages in 1m 20sfound 0 vulnerabilities最后的 Node.js 依赖安装。脚本同时在 ~/.local/bin/hermes 创建启动脚本,如果提示找不到命令,执行 source ~/.zshrc 重新加载 shell。
安装完成后 ~/.hermes/ 下的目录结构:
~/.hermes/├── .env # API 密钥和环境变量├── config.yaml # 主配置文件├── SOUL.md # Agent 人格定义(可以修改)├── cron/ # 定时任务├── sessions/ # 会话记录├── logs/ # 日志文件├── pairing/ # 配对信息├── hooks/ # 钩子脚本├── image_cache/ # 图片缓存├── audio_cache/ # 音频缓存├── memories/ # 记忆存储└── skills/ # 技能库几个比较重要的配置:.env 存 API Key 和环境变量,不可泄露;config.yaml 是主配置;SOUL.md 定义了 Agent 的性格,可以按自己喜好改;logs/ 是出问题时第一个要查的地方。
验证安装
$ hermes --versionHermes Agent v0.12.0 (2026.4.30)Project: /Users/你的用户名/.hermes/hermes-agentPython: 3.11.15OpenAI SDK: 2.33.0Up to date配置 AI 模型
hermes model这是一个交互式的配置向导,会列出所有支持的模型提供商,选择后在提示下输入对应的 API Key 或完成 OAuth 登录就能完成配置。
Hermes 支持的模型提供商覆盖面很广:Nous Portal 可以通过 OAuth 一键登录,OpenAI 用 ChatGPT OAuth,Anthropic 支持 OAuth 或者 API Key 两种方式,DeepSeek、OpenRouter、Kimi 这些用 API Key,HuggingFace 用 HF_TOKEN,GitHub Copilot 用 OAuth。如果你有自己的模型服务,只要兼容 OpenAI API 格式就可以配置为自定义端点接入。
Hermes Agent 要求模型至少有 64,000 tokens 的上下文窗口。大部分主流模型都满足这个条件。
接入微信
Hermes v0.12.0 原生支持微信,通过腾讯的 iLink Bot API(https://ilinkai.weixin.qq.com)实现直连。iLink 是腾讯为个人微信提供的 Bot API,采用 HTTP 长轮询协议,每 35 秒轮询一次消息。这意味着你不需要公网 IP,不需要端口映射,不需要任何第三方桥接工具,只要你的电脑能上网就行。
扫码后会创建一个独立的 Bot 身份,比如 a5ace6fxxxx@im.bot,这不是你本人的微信号。因此 Bot 的限制也很明确:可以正常收发私聊消息,支持文字、图片、视频、文件和语音,但无法被拉入普通的微信群(这是腾讯在 iLink 层面的限制,和 Hermes 无关)。媒体文件通过微信 CDN 传输,数据用 AES-128-ECB 加密,Hermes Gateway 会自动处理加解密,不需要额外配置。
接入步骤
hermes gateway setup # 选 14 = Weixin / WeChat执行后终端会打印一个二维码,打开微信扫一扫扫描,在手机上确认登录。扫码过程中二维码最多自动刷新 3 次,不用担心扫慢了。扫码成功后凭证自动保存到 ~/.hermes/weixin/accounts/,不需要手动管理。
随后按提示配置 DM 策略等选项,一路回车使用默认值即可。
hermes gateway start # 启动网关启动后可以在微信里给 Bot 发消息测试。确认正常后,把网关设为后台服务:
hermes gateway install # 安装为 macOS launchd 服务,开机自启hermes gateway status # 查看网关运行状态tail -f ~/.hermes/logs/gateway.log # 实时查看日志安全策略
在 ~/.hermes/.env 中可以通过 WEIXIN_DM_POLICY 控制谁可以给 Bot 发消息。支持四种模式:open 表示任何人都可以发,这也是默认值;allowlist 只允许 WEIXIN_ALLOWED_USERS 中列出的用户;disabled 直接忽略所有私聊;pairing 会要求新用户输入配对码,需要你手动批准后才能对话。如果你不想随便什么人都能给 Bot 发消息,建议改成 allowlist 并添加自己的微信用户 ID。
微信中的命令
在微信聊天框里,通过 / 开头的命令控制 Agent。常用的包括 /new 或 /reset 开始一段新对话(之前的上下文会清空),/model 查看当前使用的模型或切换到其他模型,/retry 让 AI 对上一个问题的回答重新生成一次,/undo 撤销上一轮对话(相当于撤回刚才说的内容和 AI 的回复),/stop 强制停止 AI 正在执行的任务。另外每个已安装的技能都可以通过 /<skill-name> 直接调用,比如发 /arxiv 量子计算 就能搜索相关论文。
常见问题
如果 Bot 不回消息,首先检查 .env 中的 WEIXIN_DM_POLICY 设置,确认不是 disabled 或错误的 allowlist 配置;然后运行 hermes gateway status 确认网关在正常运行。
会话过期时(错误码 errcode=-14),重新跑 hermes gateway setup 扫码登录即可。Token 冲突也需要注意,同一个 Token 只能被一个 Gateway 实例使用,如果你在另一台机器上同时跑了 Hermes,会导致当前 Gateway 掉线。
媒体消息(图片、视频、文件)收发失败,通常是 cryptography 这个 Python 包没装上,执行 pip list | grep cryptography 确认一下。
群聊无法使用是 iLink Bot 本身的限制,除非将来腾讯放开这个能力,否则目前没有解决办法。
微信多开
如果你需要在同一个微信号上同时使用 Hermes 和其他 Agent(比如 OpenClaw、OpenCode),社区有一个叫 HermesClaw 的项目可以做到:
curl -fsSL https://raw.githubusercontent.com/AaronWong1999/hermesclaw/main/install.sh | bash装好后在微信里通过 /hermes、/openclaw、/opencode 命令在三个 Agent 之间切换。
接入飞书
Hermes 从 v0.6.0 开始原生支持飞书,通过飞书开放平台的 WebSocket 协议直连,同样不需要公网 IP 和端口映射。
和微信接入流程几乎一样:
hermes gateway setup # 选 Feishu / Lark终端打印二维码后,用飞书 App 扫码。Hermes 会自动在飞书开放平台创建应用,不需要你手动去后台填写回调地址、申请权限、配置事件订阅这些。扫码后飞书的机器人就出现在通讯录里了,直接开始对话就行。
如果你的网关安全策略配了配对码(微信那头设了 WEIXIN_DM_POLICY=pairing),飞书这边同样需要先配对。Bot 会发一段提示,输入配对码确认身份后才能正常对话。
设置主频道
进入私聊或者频道后,发 /sethome 告诉 Hermes 把当前会话当作主频道。之后一些定时任务、系统通知都会发到这里。每个平台可以各设一个主频道,互不影响。
和微信同时在线
同一个网关进程可以同时跑多个平台。配好微信和飞书后,hermes gateway start 启动一次就行:
$ hermes gateway statusConnected: weixin(active), feishu(active)两个平台同时在线,一个终端只跑一个进程。
飞书的功能支持
飞书适配器是目前功能最完整的几个平台之一,支持私聊和群聊、文字和富文本消息、图片和文件收发、语音消息(TTS + 转写)、表情反应、消息卡片交互、文档评论回复,基本你在飞书日常用的消息类型都覆盖了。
安全策略方面,~/.hermes/.env 中通过 FEISHU_ALLOWED_USERS 控制白名单,FEISHU_DM_POLICY 控制私聊权限,和微信的配置方式一致。
配置 Web 搜索
装好之后我发现让 Bot 搜东西会失败。原因有两层:
第一层:hermes tools 里虽然开启了 web 工具集,但 web 只是一个开关,真正的搜索能力需要一个后端。你可以选 Firecrawl、Tavily、Exa 等付费/免费 API,在 ~/.hermes/.env 里配对应的 API Key:
TAVILY_API_KEY=tvly-xxx # 推荐,1000 次/月免费# 或FIRECRAWL_API_KEY=fc-xxx # 500 credits/月免费# 或EXA_API_KEY=xxx # 1000 次/月免费第二层:如果不想搞 API Key,可以用 MCP 方式接入免费的 DuckDuckGo 搜索。但不是 pip install ddgs 就完事了,ddgs 只是一个 Python 包,Hermes 不会自动把它当成工具使用。需要以 MCP Server 的方式接入。
MCP 接入 DuckDuckGo(免费,无需 API Key)
正确的 MCP 包名是 ddg-mcp-search,不是网上常见的 duckduckgo-mcp-server(那个有 VQD bug)。
编辑 ~/.hermes/config.yaml,新增:
mcp_servers: ddg-search: command: "npx" args: ["-y", "ddg-mcp-search"] timeout: 60验证配置:
hermes mcp test ddg-search# ✅ 成功会发现 2 个工具:search + fetch_contentMCP 工具只有在 Hermes 启动时才会注册,配完后必须重启:
hermes gateway restart重启后 Bot 就会多一个 mcp_ddg_search_search 工具,搜东西一步直达。
注意:
上面这个结论不是看文档看出来的,是让 Hermes 自己排查出来的。它先发现 web.backend 配置为空所以 web_search 函数没注册,然后反复尝试不同 MCP 包名、处理 VQD 报错、最终锁定 ddg-mcp-search 并自动写入了 config.yaml。整个过程在飞书聊天框里完成,我只负责 /approve 审批两步操作。这也是 Hermes 的一个实用场景,让它自己解决自己的配置问题。
日常使用
通过终端使用 Hermes 时,直接输入 hermes 进入交互式 CLI,或者用 hermes --tui 启动更现代的 TUI 界面。TUI 支持多行编辑、自动补全、流式输出。不过在微信和飞书里聊就能完成大部分操作,不需要一直盯着终端。
真实使用场景
举几个我实际用到的例子:
写文章:比如想写一篇技术分享,手上只有几个要点。把大纲发给它,说"帮我扩写成一篇 1500 字的文章,面向非技术读者"。由它检索相关资料、整理了段落结构、在微信或飞书里边聊边改,最终定稿。
搜索和验证:问"帮我查一下 Nous Research 最新的 Hermes 模型参数是多少",它用 DuckDuckGo 搜索、打开 GitHub Release 页面、抓取参数表、整理成表格回复。微信对话框就变成了一个能上网的研究助手。
自我修复:Web 搜索配置那事,我没有查文档,在飞书里问"为什么没有 web search 工具"。Hermes 自己检查 config.yaml、排查 MCP 配置、尝试不同包名、处理 VQD 报错、最终把正确的配置写好。我只需要审批两步操作。
这三个场景只是日常使用中的一小部分。加上 89 个内置技能,还能做论文检索、博客监控、定时推送、创建提醒、管理日程这些事,翻译、总结、日常问答也都很顺手。
内置技能
每个技能通过 /<skill-name> 在聊天框直接调用。常用场景:/arxiv 量子计算 搜论文,/blogwatcher 监控博客更新,/apple-reminders 明天下午三点开会 创建提醒。在聊天框发 /skills 查看完整列表,hermes skills 浏览技能市场装新技能。
常用命令
hermes model 随时切换 AI 模型,不同任务用不同模型互不干扰。hermes tools 管理工具开关。hermes cron 配定时任务,比如每天早上九点推送新闻摘要。遇到问题 hermes doctor 自动诊断。hermes --continue 恢复上次会话。定期 hermes update 保持版本更新。
保持服务常驻
Hermes 的微信网关需要持续运行才能收发消息,但个人电脑默认会在闲置时自动休眠,休眠后所有进程暂停,Bot 直接掉线,唤醒后也不会自动恢复。
如果你只是偶尔用用,每次用之前手动启动网关就行。如果希望 Bot 随时在线,需要阻止系统进入休眠。
macOS
先用 hermes gateway install 安装 launchd 服务,开机自动启动。但光有自启不够,系统休眠仍然会中断服务。
临时方案是在启动网关的同时执行:
caffeinate -i hermes gateway startcaffeinate -i 会阻止系统在程序运行期间进入闲置休眠。缺点是终端不能关,关了 caffeinate 也停了。
如果不需要合盖也能正常工作,可以全局禁止休眠:
sudo pmset -a disablesleep 1恢复默认:sudo pmset -a disablesleep 0。这个命令对电池续航影响很大,插电用的话问题不大。
另外也可以装 Amphetamine 这类菜单栏工具,按需切换防休眠状态,比命令行更灵活。
Linux
最常见的方案是用 systemd-inhibit 阻止休眠:
systemd-inhibit --what=sleep --why="Hermes gateway" hermes gateway start如果用的是 GNOME 桌面,可以在设置 → 电源中把"空白屏幕"改为"从不",或者装 Caffeine 扩展一键切换。
KDE 和 XFCE 也有类似的电源管理选项。
Windows
Windows 需要在 WSL2 里运行 Hermes,但 WSL2 同样受宿主机休眠影响。在 Windows 设置 → 系统 → 电源和电池中,把睡眠改为"从不"。或者用 PowerToys 的 Awake 功能,托盘图标一键保持唤醒状态。
另外 WSL2 还有一个额外问题:如果长时间不操作终端,WSL2 自己可能会被挂起。在 Windows 上跑 wsl --list --verbose 观察一下 WSL 实例的 State,如果是 "Stopped" 就说明被挂起了。可以创建一个计划任务定时 ping WSL 保持活跃,或者把网关跑在 tmux/screen 里。
长驻服务的现实
个人电脑本来就不是为 7×24 服务设计的。笔记本有电池管理、合盖休眠、功耗控制,台式机虽然好一点但也有自动休眠和系统更新重启的问题。如果对 Bot 的在线率有要求,最简单的办法是把 Hermes 部署到一台低功耗的小机器上。树莓派、旧笔记本装 Linux、或者便宜的轻量云服务器(一年几十块那种 1C1G 的就行),装上之后基本不用管。Hermes 对硬件要求不高,主要开销是 API 调用在远端完成,本地只负责消息收发。
如果暂时只能用个人电脑,记住 caffeinate(macOS)、systemd-inhibit(Linux)、PowerToys Awake(Windows)这三个工具,出问题时先检查系统是不是自己睡了。
与 OpenClaw 对比
OpenClaw 是另一款知名的个人 AI 助手,由 Peter Steinberger 开发,比 Hermes 更早出圈。GitHub 上 370k stars、42000 多次提交,支持 24 种以上的消息通道(WhatsApp、Telegram、Slack、Discord、微信、QQ、飞书、iMessage、Matrix 等),有 macOS 菜单栏 App、iOS/Android 节点端、语音唤醒和连续对话、Live Canvas 可视化工作区。社区更大、文档更全,赞助方包括 OpenAI、GitHub、NVIDIA。
Hermes 的核心差异在于它的自我学习循环。Agent 会从和你的对话中自动抽取经验、创建新技能,用着用着就变成只属于你的形状。89 个内置技能开箱即用,安装完扫码就能在微信里干活,不需要额外折腾。这个学习闭环是 Hermes 独有的,OpenClaw 没有。
数据来自 GitHub 首页(2026 年 5 月):
Hermes:138k stars,7600+ commits,v0.13.0,MIT,Python OpenClaw:370k stars,42000+ commits,MIT,TypeScript/Node.js
故障排除
hermes 命令找不到,通常是 shell 还没加载新的 PATH 配置,执行 source ~/.zshrc 即可。如果用的不是 zsh,对应改为 source ~/.bashrc 或 source ~/.bash_profile。
模型配置有问题或者切换模型后无响应,重新运行 hermes model 检查一下 API Key 和端点地址是否正确。
其他不确定的问题,先运行 hermes doctor,它会自动检查各项配置和环境依赖。想用上次的会话继续,hermes --continue。版本更新直接 hermes update。
写在最后
几点真实感受:
装 Hermes 比我预想的顺利。一行命令跑完,十分钟后就有了一个在微信里能说话的 Bot。配置模型是交互式的,接入微信和飞书都是扫码就好,没要我填过 App ID、回调地址这些东西。
遇到的坑是搜索不工作。我把它写成文档里详细的一节,下一个装 Hermes 的人不用再排查同一件事。MCP 接入 DuckDuckGo 免费好用,配完重启就行。
Windows 用户注意走 WSL2,iLink Bot 不在微信群工作,模型至少 64K token 上下文,个人电脑当服务器记得防休眠。这几个问题在正文里都有交代,不展开了。
相关链接
GitHub: https://github.com/NousResearch/hermes-agent 文档: https://hermes-agent.nousresearch.com/docs/ 技能市场: https://agentskills.io Discord: https://discord.gg/NousResearch HermesClaw: https://github.com/AaronWong1999/hermesclaw
夜雨聆风