Hermes 源码地图

June 8, 2026 · View on GitHub

这份地图把 learn-hermes-agent 的 24 个教学章节,对齐到 Hermes Agent 的生产源码。教学代码故意压缩到可读、可跑、可改;生产版则处理异步执行、权限、多平台、持久化、观测和恢复路径。

本项目参考的本地源码路径:D:\study\hermes-agent

总览

教程章节教学目标Hermes 生产源码入口生产版多了什么
s01_agent_loop最小 agent loop + 单文件记忆run_agent.py, agent/conversation_loop.py流式响应、多工具并发、状态恢复、复杂退出路径
s02_background_memory_review对话后自动提取记忆agent/background_review.py, tools/memory_tool.pyfork 独立审查 agent、快照隔离、非阻塞后台写入
s03_background_skill_review从纠正和发现中生成技能agent/background_review.py, tools/skill_manager_tool.py, tools/skills_tool.py技能目录扫描、已加载技能更新、禁止捕获规则、工具化 CRUD
s04_memory_system可搜索、可插拔的记忆系统agent/memory_manager.py, agent/memory_provider.py, tools/memory_tool.py, plugins/memory/SQLite/FTS、生命周期钩子、外部记忆提供者、结构化注入
s05_skill_lifecycle技能状态、pin、archivetools/skill_usage.py, tools/skill_provenance.py, agent/curator.pybundled/hub/agent-created 来源区分、遥测更新、恢复策略
s06_skill_creation什么该学、什么不该学agent/background_review.py, tools/skills_guard.py, tools/skills_ast_audit.py更细的风险判断、AST 审计、重复模式跨会话分析
s07_curator_state规则驱动的 stale/archiveagent/curator.py, hermes_cli/skills_config.py空闲触发、配置化周期、dry-run、backup/rollback
s08_curator_llmLLM 合并和伞形技能整理agent/curator.py, tools/skill_manager_tool.py辅助模型、报告目录、cron 引用重写、不可删除原则
s09_context_management压缩与记忆预取agent/conversation_compression.py, agent/context_compressor.py, trajectory_compressor.pytoken 阈值、多层压缩、训练轨迹后处理、辅助模型
s10_insightstoken/成本/工具模式分析agent/insights.py, hermes_state.py, hermes_cli/status.pySQLite 多表查询、200+ 模型定价、平台维度分析
s11_error_recovery重试、降级、自愈agent/conversation_loop.py, model_tools.py, hermes_logging.py指数退避、fallback 模型、语义连续性保存、错误分层
s12_comprehensive六层自进化集成run_agent.py, cli.py, toolsets.py, tools/registry.py完整 CLI、多平台入口、权限治理、MCP/浏览器/终端工具集
s13_cron_scheduler定时任务与主动唤醒cron/scheduler.py, cron/jobs.py, tools/cronjob_tools.py持久化 cron、gateway ticker、delivery 路由、no-agent 模式
s14_gateway多平台消息网关gateway/run.py, gateway/session.py, hermes_cli/webhook.py平台 adapter、session key、delivery router、动态上下文注入
s15_profiles多 Profile 配置隔离hermes_cli/profiles.py, cli-config.yaml.example配置继承、平台绑定、工具集开关、profile-specific gateway
s16_agent_teams即时任务委托tools/delegate_tool.py, run_agent.py, agent/agent_init.pyLLM 自主调用 delegate_task、leaf/orchestrator 角色、并发限制、summary 回注
s17_mcp_pluginMCP 外部工具接入tools/mcp_tool.py, mcp_serve.py, plugins/stdio/SSE/HTTP transport、OAuth、schema 规整、工具路由
s18_full_hermes18 章完整特性集成run_agent.py, cli.py, toolsets.pyGateway/Profile/Cron/MCP 与自进化核心整合
s19_permission权限管线tools/approval.py, tools/path_security.py, tools/tirith_security.pydeny/ask/sandbox/allow、多层安全规则、审批记忆
s20_hooksHook 扩展点agent/conversation_loop.py, agent/background_review.py, gateway/run.pyPreToolUse/PostToolUse/Session hooks、conditional hooks、阻塞 hook
s21_worktreeGit worktree 隔离agent/agent_runtime_helpers.py, agent/conversation_loop.pyworktree 生命周期、baseRef 策略、保留/清理模式
s22_planning结构化规划agent/task_manager.py, tools/todo_tool.py任务依赖图、状态传播、active form、跨 session 持久化
s23_autonomousKanban 中心调度hermes_cli/kanban_db.py, hermes_cli/kanban.py, cli.pydispatch_once、claim TTL、worker spawn、失败保护、SQLite 持久化
s24_system_promptSystem Prompt 运行时组装agent/system_prompt.py, agent/prompt_builder.py, gateway/session_context.py分段 prompt、条件注入、优先级排序、平台差异

读源码顺序

  1. 先读 run_agent.py:理解 AIAgent 如何把模型、工具、记忆、技能、压缩和错误恢复接起来。
  2. 再读 agent/background_review.py:这是“自学习”的入口,记忆和技能都从这里沉淀。
  3. 接着读 agent/curator.py:理解为什么技能不能无限增长,以及 Hermes 如何合并、归档、生成报告。
  4. 然后读 gateway/run.pycron/scheduler.py:看 agent 如何从单终端扩展到多平台和定时唤醒。
  5. 再读 tools/mcp_tool.pytools/approval.pyagent/prompt_builder.py:这些决定工具扩展、安全边界和 prompt 运行时组装。
  6. 最后读 agent/insights.pyhermes_state.pytrajectory_compressor.py:这些决定长期运行后的可观测性和数据资产价值。

教学版为什么要简化

教学版保留核心机制,去掉生产复杂度:

  • 后台任务从异步 fork 简化为同步函数,方便单步观察。
  • SQLite/FTS 和多表状态在早期章节简化为文件或内存结构。
  • 完整工具系统简化为直接函数调用,突出机制而不是框架。
  • 辅助模型、权限、MCP、多平台入口放到“生产版对照”里解释,不阻塞学习主线。

这不是“玩具版”,而是把生产系统拆成可理解的最小剖面。读者学完 24 章后,再回到 Hermes 源码,会知道每个大文件到底在解决什么问题。