理论上 Hermes 装好就能用。实际上想让它真正跑起来,需要搭五套子系统。不是可选的——缺任何一套,Agent 的能力都会塌一个角。
本文是操作手册。每一套系统我给出最小配置、常见坑和真实案例。照着走,30 分钟配完。
第一套:通信层——Telegram + Discord 双通道
Hermes 的消息通信支持 Telegram、Discord、Slack、飞书等。实际跑下来,Telegram 做个人通道、Discord 做团队通道最稳。
Telegram 配置(最小化)
# ~/.hermes/config.yaml
telegram:
bot_token: "YOUR_BOT_TOKEN"
allowed_users: ["YOUR_TELEGRAM_ID"]
home_chat: "YOUR_CHAT_ID"
唯一必填三个字段。allowed_users 不填等于任何人都能调你的 Agent,别漏。
常见坑:Cloudflare 防护会拦截 Agent 的 webhook 回调。表现是消息发出去但 Agent 不响应。解法:在 Cloudflare 设置里把 /v1/* 路径加白名单,或关掉 Bot Fight Mode。
多通道设计模式
不要把所有消息都导到一个通道。建议:
通道
用途
响应策略
Telegram DM
个人助手、日常对话
即时响应
Discord #agent
团队协作、代码讨论
批量响应
飞书群
项目管理、审批流
定时响应
每个通道独立配置 allowed_users 和 response_mode。飞书通道建议设 batch_mode: true,避免 Agent 在群里刷屏。
第二套:记忆层——三层架构调参
记忆系统的默认配置对大多数模型可用。想压榨出更好的效果,调三个参数。
核心参数
# ~/.hermes/config.yaml
agent:
memory:
max_memory_chars: 1800 # MEMORY.md 建议上限(硬限制 2200)
max_user_chars: 1100 # USER.md 建议上限(硬限制 1375)
nudge_interval: 10 # 标准模型
# nudge_interval: 5 # 小模型用这个
# nudge_interval: 15 # 大上下文模型用这个
nudge_interval 控制记忆反思频率。每 N 轮对话后,Agent 会停下来反思"有什么值得记住的"。值太小会频繁打断对话流,太大会遗漏重要信息。
记忆写入时机
Hermes 的记忆不是实时写入。采用冻结快照设计——会话开始时注入当前记忆快照,会话中的新记忆下一轮才生效。
不要试图绕过这个设计。实时注入会导致每次系统提示词变化,KV Cache 全部失效,Token 消耗翻倍。
USER.md 写什么
USER.md 是用户画像,Agent 自动维护。你也可以手动初始化:
用户偏好简洁中文,重行动轻讨论。
说"停"等于"回正题"。
使用 Obsidian 和 Telegram。
不喜欢被问"下一步做什么"。
写事实,不写指令。"用户偏好简洁中文"是事实,"始终用简洁中文回复"是指令。Agent 读到指令会困惑——它已经有 SOUL.md 定义人格了。
第三套:技能层——Skill 编写规范
Skill 是 ~/.hermes/skills/ 下的 Markdown 文件。文件名就是 Skill 名。
最小 Skill 模板
---
name: my-skill
description: 一句话描述什么场景触发这个技能
---
# My Skill
## 触发场景
- 当用户说"xxx"时
- 当任务涉及 xxx 时
## 步骤
1. 第一步做什么
2. 第二步做什么
3. 验证结果
## 注意事项
- 踩过的坑
## 验证
- 怎么确认做对了
四个要素缺一不可。没有触发场景的 Skill 是暗技能——存在但不可达。没有验证方法的 Skill 你永远不知道它是不是做对了。
Skill 的三个退化信号
定期(每周一次)让 Agent 审计自己的 Skill:
"检查你的所有 skills,列出描述模糊、功能重复、引用过时的。"
Agent 会自己列出需要更新的 Skill。你确认后它自动 patch。
从对话到 Skill 的快捷方式
完成一个复杂任务后,直接告诉 Agent:
"这个流程保存为 skill。"
Agent 会自动提取步骤、注意事项和验证方法,生成 Skill 文件。下次遇到类似任务自动调用。
第四套:自动化层——Cron 任务
Cron 是 Hermes 的定时任务系统。区别于系统 cron,它有 Agent 上下文。
配置示例
# 每 12 小时抓加密货币价格
hermes cron create \
--name "crypto-price" \
--schedule "0 */12 * * *" \
--prompt "获取 BTC、ETH、SOL 当前价格,生成中文报告发送到 Telegram"
# 每周一早 9 点生成周报
hermes cron create \
--name "weekly-report" \
--schedule "0 9 * * 1" \
--prompt "扫描本周 Obsidian 日志,生成周报发到飞书群"
脚本预处理
Cron 任务支持在执行前跑一段 Python 脚本,脚本输出作为 prompt 的上下文:
# ~/.hermes/config.yaml (cron job 配置)
script: "~/.hermes/scripts/crypto_price.py"
prompt: "根据以上数据生成价格报告"
脚本输出注入 prompt,Agent 拿到实时数据再生成内容。
安全规则
Cron 任务运行在独立会话中,没有当前对话上下文。两个限制:
1. Prompt 必须自包含——不依赖"刚才聊的"
2. Cron 任务不能递归创建新的 Cron 任务
第五套:外部工具层——MCP 与 Agent 互联
Hermes 支持两种外部工具接入方式。
MCP(Model Context Protocol)
在 config.yaml 中声明 MCP 服务器:
mcp_servers:
- name: "filesystem"
command: "npx"
args: ["-y", "@anthropic/mcp-filesystem", "/path/to/allowed/dir"]
- name: "github"
command: "npx"
args: ["-y", "@anthropic/mcp-github"]
env:
GITHUB_TOKEN: "${GITHUB_TOKEN}"
Agent 启动时自动发现 MCP 服务器提供的工具,跟内置工具一样调用。
子 Agent 委派
复杂任务可以委派给子 Agent,子 Agent 有独立的终端和上下文:
hermes delegate \
--goal "分析这个 GitHub PR 的代码质量" \
--context "PR URL: https://github.com/..." \
--toolset "terminal,web"
子 Agent 只返回最终结果,中间过程不污染主会话。适合代码审查、研究调研、并行任务。
即用配方:10 个真实场景
每个配方都是一行指令,直接发给 Agent。
信息处理
1. "把这个 YouTube 视频转成博客发到 WordPress"
→ 调用 yt-blog skill,字幕下载→whisper 转录→写作→配图→发布
2. "抓取这个网页内容并总结"
→ 调用 fetchrouter skill,自动选策略(Jina/Browser/Social)
3. "这周的 RSS 有什么值得看的"
→ 调用 rss-weekly-writer skill,过滤→分级→生成周报
开发协作
4. "review 这个 PR"
→ 调用 github-pr-workflow skill,diff 分析→行内评论
5. "这个 bug 怎么排查"
→ 调用 systematic-debugging skill,复现→假设→验证循环
6. "给这个功能写个实现计划"
→ 调用 writing-plans skill,需求→方案→步骤
知识管理
7. "把刚才的讨论记到 Obsidian"
→ 调用 obsidian skill,创建/更新笔记
8. "知识库里关于 xxx 怎么说"
→ 调用 lmw skill,ripgrep 搜索→LLM 阅读→汇总
创意与内容
9. "生成一张架构图"
→ 调用 architecture-diagram skill,SVG 暗色主题
10. "去 AI 味"
→ 调用 humanizer-zh skill,识别 AI 模式→重写
生产部署检查清单
上线前逐项确认:
- [ ]
allowed_users已配置,不是全开放 - [ ]
nudge_interval根据模型大小调整过 - [ ] MEMORY.md + USER.md 总量 < 3000 chars
- [ ] 至少有 3 个 Skill 通过验证(触发→执行→确认)
- [ ] Cron 任务 prompt 自包含,不依赖对话上下文
- [ ] MCP 服务器连接正常(
hermes mcp list确认) - [ ] 系统提示词 < 40K chars(超过会截断 AGENTS.md 中间部分)
- [ ] 主 agent CWD 设为
~而非仓库目录(减少提示词体积)
这是 Hermes Agent 系列第二篇。第一篇讲自进化原理,第三篇讲第二大脑与多 Agent 架构。