六维教程

Hermes 工具系统

Hermes 真正区别于聊天机器人的地方,在于它能调用工具去「做事」:跑命令、读写文件、搜网页、画图。本篇讲清工具是怎么组织的,以及你如何控制它用什么工具。

工具按「工具集」组织

Hermes 不是把几十个工具平铺给你,而是把它们分成若干「工具集(toolset)」,每个工具集是一组相关能力。例如:

  • terminal:执行 shell 命令、跑脚本。
  • files:读写、搜索本地文件。
  • web:网页搜索、抓取页面。
  • 图像、GitHub 等也各有对应工具集。

官方文档里提到 Hermes 自带 60+ 内置工具,并随版本持续增长,按工具集归类管理。具体数量不必死记,重点是「按需启用」。

查看与启用工具集

先看当前有哪些、启用了哪些:

hermes tools

首次配置时,在 hermes setup 的「tools」一步里勾选要启用的工具集。也可以直接在启动时指定:

hermes chat --toolsets "web,terminal,skills"

这条命令启动一个只加载 webterminalskills 三个工具集的会话,干净可控。

工具如何被调用

你不必手动点按钮。你下达一个任务,Hermes 的 Agent 会自己判断该用哪个工具,然后调用。比如你说「帮我看下本机磁盘占用」,它会调用 terminal 工具执行 df -h,再把结果读回来回答你。

如果你不想让它自作主张,可以在配置里把工具设为「需确认」(auto_approval 关闭),每次调用前征求你同意。

通过 MCP 接入第三方工具

除了内置工具,Hermes 支持 MCP(Model Context Protocol)。这意味着你能把社区或自建的 MCP 服务器接进来,扩展出数据库查询、内部系统操作等能力。

配置方式是在 config.yamltools.mcp 一节声明 MCP 服务器,之后对应工具就会出现在可用列表里。

示例:让 Hermes 用 GitHub 技能协作

工具集之外,Hermes 还能加载「技能」。例如官方技能 official/dev/github 封装了与 GitHub 交互的常见流程。启用后,你可以说「帮我在 repo xxx 开一个 issue」,它会用封装好的流程去操作,比裸工具更可靠。

hermes skills install official/dev/github

说明:早期资料里常把「OpenCode」当作 Hermes 的示例工具,这是不准确的。OpenCode 是另一个独立的 Agent,并非 Hermes 的内置工具。本篇示例统一使用 Hermes 真实的 terminalwebgithub 等工具集与技能。

安全边界

工具能碰你的系统,所以边界很重要:

  • 默认情况下,终端等高风险工具可能要求确认,避免误操作。
  • 不要把 Hermes 跑在 root 全权账户下做日常任务。
  • 网关与定时任务里使用的工具,建议只开最小必要集。

本篇小结

  • 工具按 toolset 分组,Hermes 自带 60+ 内置工具并持续增长。
  • hermes tools 查看,hermes chat --toolsets 指定启用哪些。
  • 工具由 Agent 自动调用,也可设为需确认。
  • 通过 MCP 可接入第三方工具;OpenCode 不是 Hermes 工具,勿混用。

下一篇我们对照 config.yaml,把各项配置讲透。

上一篇
Hermes 对话与会话管理
下一篇
Hermes 配置文件详解