Hermes 工具系统
Hermes 真正区别于聊天机器人的地方,在于它能调用工具去「做事」:跑命令、读写文件、搜网页、画图。本篇讲清工具是怎么组织的,以及你如何控制它用什么工具。
工具按「工具集」组织
Hermes 不是把几十个工具平铺给你,而是把它们分成若干「工具集(toolset)」,每个工具集是一组相关能力。例如:
terminal:执行 shell 命令、跑脚本。files:读写、搜索本地文件。web:网页搜索、抓取页面。- 图像、GitHub 等也各有对应工具集。
官方文档里提到 Hermes 自带 60+ 内置工具,并随版本持续增长,按工具集归类管理。具体数量不必死记,重点是「按需启用」。
查看与启用工具集
先看当前有哪些、启用了哪些:
hermes tools
首次配置时,在 hermes setup 的「tools」一步里勾选要启用的工具集。也可以直接在启动时指定:
hermes chat --toolsets "web,terminal,skills"
这条命令启动一个只加载 web、terminal、skills 三个工具集的会话,干净可控。
工具如何被调用
你不必手动点按钮。你下达一个任务,Hermes 的 Agent 会自己判断该用哪个工具,然后调用。比如你说「帮我看下本机磁盘占用」,它会调用 terminal 工具执行 df -h,再把结果读回来回答你。
如果你不想让它自作主张,可以在配置里把工具设为「需确认」(auto_approval 关闭),每次调用前征求你同意。
通过 MCP 接入第三方工具
除了内置工具,Hermes 支持 MCP(Model Context Protocol)。这意味着你能把社区或自建的 MCP 服务器接进来,扩展出数据库查询、内部系统操作等能力。
配置方式是在 config.yaml 的 tools.mcp 一节声明 MCP 服务器,之后对应工具就会出现在可用列表里。
示例:让 Hermes 用 GitHub 技能协作
工具集之外,Hermes 还能加载「技能」。例如官方技能 official/dev/github 封装了与 GitHub 交互的常见流程。启用后,你可以说「帮我在 repo xxx 开一个 issue」,它会用封装好的流程去操作,比裸工具更可靠。
hermes skills install official/dev/github
说明:早期资料里常把「OpenCode」当作 Hermes 的示例工具,这是不准确的。OpenCode 是另一个独立的 Agent,并非 Hermes 的内置工具。本篇示例统一使用 Hermes 真实的
terminal、web、github等工具集与技能。
安全边界
工具能碰你的系统,所以边界很重要:
- 默认情况下,终端等高风险工具可能要求确认,避免误操作。
- 不要把 Hermes 跑在 root 全权账户下做日常任务。
- 网关与定时任务里使用的工具,建议只开最小必要集。
本篇小结
- 工具按 toolset 分组,Hermes 自带 60+ 内置工具并持续增长。
hermes tools查看,hermes chat --toolsets指定启用哪些。- 工具由 Agent 自动调用,也可设为需确认。
- 通过 MCP 可接入第三方工具;OpenCode 不是 Hermes 工具,勿混用。
下一篇我们对照 config.yaml,把各项配置讲透。