Technical Guide
01. Hermes 是什么:先知道你在读什么
Hermes 不是普通聊天机器人,而是一个带工具、记忆、技能、Gateway 和定时任务的 AI Agent 运行时。
这篇解决什么问题
读 Hermes 源码前,先别急着进目录。
你需要先知道它到底是什么。不然你会把 CLI、Gateway、Tools、Skills、Cron、Memory 当成一堆并列功能,看起来都重要,但不知道主次。
一句话理解 Hermes
Hermes 是一个可以跑在终端和消息平台里的 AI Agent 运行时。
它的核心不是“聊天”,而是:
模型 + 工具 + 上下文 + 记忆 + 技能 + 多入口 + 后台任务
终端只是入口之一。飞书、Telegram、Discord、Slack 这些 Gateway 入口,也会把消息转成一次 Agent 会话。
它和普通 ChatGPT 客户端的区别
普通聊天客户端通常只做:
用户输入 → 模型回复
Hermes 多了几个关键层:
用户输入
→ 构建系统提示词和上下文
→ 加载记忆、技能、项目规则
→ 把可用工具暴露给模型
→ 模型决定是否调用工具
→ 工具执行真实动作
→ 工具结果回到模型
→ 输出最终回复
所以 Hermes 适合做这些事:
- 修改代码;
- 查资料;
- 操作文件;
- 跑命令;
- 生成 PDF、图片、音频;
- 定时推送日报;
- 从飞书或 Telegram 发起任务;
- 把复杂任务拆给子 Agent。
源码里最重要的几块
先记这几个目录就够:
cli.py / hermes_cli/ CLI 入口和命令
run_agent.py / agent/ Agent 主体、循环、上下文、模型适配
tools/ 工具实现和工具注册
toolsets.py 工具分组和默认工具集
skills 相关逻辑 Skill 加载、预处理、管理
cron/ 定时任务
gateway/ 飞书、Telegram、Discord 等消息入口
真正的主干是 agent/ 和 tools/。
gateway/、cron/、hermes_cli/ 更像不同入口和运行方式。
不要一开始就读哪里
不要一上来读所有工具。
tools/ 里文件很多,但它们大多是具体能力:终端、文件、浏览器、图片、语音、GitHub、飞书等。先看工具系统怎么注册和执行,再挑一个工具读,会顺很多。
也不要一上来读所有平台适配。
Gateway 平台很多,但大体模式一致:收到外部消息,找到会话,调用 Agent,再把结果投递回平台。
这套教程的读法
你可以把 Hermes 当成三层:
入口层:CLI / Gateway / Cron
运行层:Agent loop / prompt / context / model
能力层:Tools / Skills / Memory / MCP / Delegation
源码解读也按这三层走。
下一篇先把 Hermes 跑起来。跑不起来,源码读得再多也没有抓手。