Technical Guide

00. 教程总览

Hermes 源码解读教程怎么读:先会用,再看入口、循环、工具、技能、记忆、Gateway 和 Cron。

先说这套教程解决什么

Hermes 不是一个只会聊天的命令行工具。

它同时有 CLI、Gateway、工具系统、Skills、Memory、Cron、MCP、Delegation、浏览器、文件和终端执行。第一次看源码,很容易被目录数量劝退。

这套教程不想做成“源码文件清单”。源码文件清单没有意义。真正有用的是:你想改一个能力时,知道请求从哪里进来,在哪里拼系统提示词,在哪里调用模型,工具怎么注册,结果怎么回到对话里。

阅读路线

01-03 先会用:安装、配置、项目是什么
04-06 看主链路:入口、Agent 循环、消息和上下文
07-14 看能力模块:Tools、Skills、Memory、Cron、Gateway、MCP、Delegation
15-18 看工程化:配置、权限、安全、调试
19-20 收束:二开路线和常见坑

如果你只是想用 Hermes,读 01-03 就够。

如果你想二开,04-14 不要跳。尤其是 Agent 循环、Tools 和 Skills,这三块是理解 Hermes 的主干。

完整目录

00 教程总览
01 Hermes 是什么:先知道你在读什么
02 快速开始:从安装到第一次对话
03 配置和模型:config.yaml、.env、provider 怎么配
04 项目结构:从目录看懂 Hermes
05 CLI 入口:hermes 命令怎么启动一次会话
06 Agent 主循环:一次消息如何变成模型调用和工具调用
07 Prompt 与上下文:系统提示词、项目规则、记忆怎么进上下文
08 Tools 原理:工具是怎么注册、筛选和执行的
09 Tools 源码:registry、toolsets、tool_executor 怎么配合
10 Skills 原理:为什么 Hermes 把经验沉淀成 Skill
11 Skills 源码:Skill 如何被发现、加载和写入
12 Memory 与 Session:长期记忆和历史会话怎么参与下一次任务
13 Cron:定时任务怎么保存、触发和投递
14 Gateway:飞书、Telegram、Discord 这类入口怎么接进 Agent
15 MCP:外部工具如何变成 Hermes 工具
16 Delegation:子 Agent 和并行任务怎么跑
17 安全边界:审批、敏感信息、文件路径和工具限制
18 调试与排障:日志、doctor、status、常见错误怎么查
19 二开路线:想改一个能力时从哪里下手
20 总结:读完后你应该能做什么

读源码时抓住一条线

不要从 tools/gateway/ 随便开始翻。

先抓这条线:

用户输入
→ CLI / Gateway
→ AIAgent
→ prompt/context 构建
→ 模型调用
→ tool calls
→ tool_executor / model_tools
→ 工具结果回写 messages
→ 最终回复或继续循环

后面的章节都围绕这条线展开。

看到最后应该能做到什么

读完后,不要求你记住每个文件。

更实际的目标是:

  • 能把 Hermes 跑起来并切换模型;
  • 知道一次对话从入口到工具调用的大概路径;
  • 能判断一个能力应该改 CLI、Gateway、Tool、Skill 还是 Agent loop;
  • 能自己加一个简单工具;
  • 能写一个 Skill 并让它进入工作流;
  • 能定位 cron、gateway、模型调用、工具调用的常见问题。