跳到主要内容

工具集参考

工具集是控制 agent 可以做什么的命名工具包。它们是每个平台、每个会话或每个任务配置工具可用性的主要机制。

工具集工作原理

每个工具恰好属于一个工具集。启用工具集时,该包中的所有工具都可用于 agent。工具集有三种类型:

  • 核心 — 单个逻辑相关工具组(例如,file 包含 read_filewrite_filepatchsearch_files
  • 复合 — 为常见场景组合多个核心工具集(例如,debugging 包含 file、terminal 和 web 工具)
  • 平台 — 特定部署上下文的完整工具配置(例如,hermes-cli 是交互式 CLI 会话的默认配置)

配置工具集

按会话(CLI)

hermes chat --toolsets web,file,terminal
hermes chat --toolsets debugging # 复合 — 展开为 file + terminal + web
hermes chat --toolsets all # 一切

按平台(config.yaml)

toolsets:
- hermes-cli # CLI 默认
# - hermes-telegram # Telegram 网关覆盖

交互式管理

hermes tools                            # curses UI 按平台启用/禁用

或在会话中:

/tools list
/tools disable browser
/tools enable rl

核心工具集

工具集工具用途
browserbrowser_backbrowser_clickbrowser_consolebrowser_get_imagesbrowser_navigatebrowser_pressbrowser_scrollbrowser_snapshotbrowser_typebrowser_visionweb_search完整浏览器自动化。包括 web_search 作为快速查找的后备。
clarifyclarify当 agent 需要澄清时向用户提问。
code_executionexecute_code运行可以编程调用 Hermes 工具的 Python 脚本。
cronjobcronjob调度和管理周期性任务。
delegationdelegate_task为并行工作生成隔离的子 agent 实例。
filepatchread_filesearch_fileswrite_file文件读取、写入、搜索和编辑。
homeassistantha_call_serviceha_get_stateha_list_entitiesha_list_services通过 Home Assistant 控制智能家居。仅在设置 HASS_TOKEN 时可用。
image_genimage_generate通过 FAL.ai 的文本转图像生成。
memorymemory持久化跨会话记忆管理。
messagingsend_message在会话内向其他平台(Telegram、Discord 等)发送消息。
moamixture_of_agents通过 Mixture of Agents 实现多模型共识。
rlrl_check_statusrl_edit_configrl_get_current_configrl_get_resultsrl_list_environmentsrl_list_runsrl_select_environmentrl_start_trainingrl_stop_trainingrl_test_inferenceRL 训练环境管理(Atropos)。
searchweb_search仅网络搜索(无提取)。
session_searchsession_search搜索过去对话会话。
skillsskill_manageskill_viewskills_list技能 CRUD 和浏览。
terminalprocessterminalShell 命令执行和后台进程管理。
todotodo会话内的任务列表管理。
ttstext_to_speech文本转语音音频生成。
visionvision_analyze通过有 vision 功能的模型进行图像分析。
webweb_extractweb_search网络搜索和页面内容提取。

复合工具集

这些展开为多个核心工具集,为常见场景提供方便的简写:

工具集展开为使用场景
debuggingpatchprocessread_filesearch_filesterminalweb_extractweb_searchwrite_file调试会话 — 文件访问、终端和网络研究,无浏览器或委托开销。
safeimage_generatevision_analyzeweb_extractweb_search只读研究和媒体生成。无文件写入、无终端访问、无代码执行。适合不受信任或受约束的环境。

平台工具集

平台工具集定义部署目标的完整工具配置。大多数消息平台使用与 hermes-cli 相同的集合:

工具集hermes-cli 的差异
hermes-cli完整工具集 — 所有 36 个工具,包括 clarify。交互式 CLI 会话的默认配置。
hermes-acp移除 clarifycronjobimage_generatesend_messagetext_to_speech、homeassistant 工具。专注于 IDE 上下文中的编码任务。
hermes-api-server移除 clarifysend_messagetext_to_speech。添加其他所有内容 — 适用于无法进行用户交互的程序化访问。
hermes-telegramhermes-cli 相同。
hermes-discordhermes-cli 相同。
hermes-slackhermes-cli 相同。
hermes-whatsapphermes-cli 相同。
hermes-signalhermes-cli 相同。
hermes-matrixhermes-cli 相同。
hermes-mattermosthermes-cli 相同。
hermes-emailhermes-cli 相同。
hermes-smshermes-cli 相同。
hermes-dingtalkhermes-cli 相同。
hermes-feishuhermes-cli 相同。
hermes-wecomhermes-cli 相同。
hermes-wecom-callbackWeCom 回调工具集 — 企业自建应用消息(完全访问)。
hermes-weixinhermes-cli 相同。
hermes-bluebubbleshermes-cli 相同。
hermes-qqbothermes-cli 相同。
hermes-homeassistanthermes-cli 相同。
hermes-webhookhermes-cli 相同。
hermes-gateway所有消息平台工具集的联合。当网关需要最广泛的工具集时在内部使用。

动态工具集

MCP 服务器工具集

每个配置的 MCP 服务器在运行时生成一个 mcp-<server> 工具集。例如,如果你配置了 github MCP 服务器,就会创建一个包含该服务器暴露的所有工具的 mcp-github 工具集。

# config.yaml
mcp:
servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]

这创建了一个你可以在 --toolsets 或平台配置中引用的 mcp-github 工具集。

插件工具集

插件可以通过在插件初始化期间调用 ctx.register_tool() 注册自己的工具集。这些与内置工具集一起出现,可以相同方式启用/禁用。

自定义工具集

config.yaml 中定义自定义工具集以创建特定于项目的包:

toolsets:
- hermes-cli
custom_toolsets:
data-science:
- file
- terminal
- code_execution
- web
- vision

通配符

  • all* — 展开为每个已注册的工具集(内置 + 动态 + 插件)

hermes tools 的关系

hermes tools 命令提供一个基于 curses 的 UI,用于在每个平台上切换单个工具的开或关。这在工具级别操作(比工具集更细粒度)并持久化到 config.yaml。即使工具集已启用,禁用的工具也会被过滤掉。

另请参阅:工具参考 了解单个工具及其参数的完整列表。