跳到主要内容

工具集参考

工具集(Toolsets)是工具的命名集合,用于控制 Agent 可以执行的操作。它们是按平台、会话或任务配置工具可用性的主要机制。

工具集的工作原理​

每个工具都属于且只属于一个工具集。启用工具集后,该集合中的所有工具都将对 Agent 可用。工具集分为三种类型:

  • 核心(Core) — 单一逻辑分组的相关工具(例如,file 集合包含 read_file、write_file、patch、search_files)
  • 复合(Composite) — 为常见场景组合多个核心工具集(例如,debugging 集合包含 file、terminal 和 web 工具)
  • 平台(Platform) — 特定部署上下文的完整工具配置(例如,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 界面按平台启用/禁用工具

或在会话中:

/tools list
/tools disable browser
/tools enable rl

核心工具集​

工具集工具用途
browserbrowser_back、browser_click、browser_console、browser_get_images、browser_navigate、browser_press、browser_scroll、browser_snapshot、browser_type、browser_vision、web_search核心浏览器自动化。包含 web_search 作为快速查询的备选方案。browser_cdp 和 browser_dialog 位于独立的 browser-cdp 工具集中,仅在会话启动时可访问 CDP 端点时注册(通过 /browser connect、browser.cdp_url 配置、Browserbase 或 Camofox)。browser_dialog 与 CDP supervisor 挂载时 browser_snapshot 添加的 pending_dialogs 和 frame_tree 字段配合使用。
clarifyclarify当 Agent 需要澄清时向用户提问。
code_executionexecute_code运行以编程方式调用 Hermes 工具的 Python 脚本。
cronjobcronjob调度和管理定时任务。
debugging复合(file + terminal + web)调试套件 — 文件、进程/终端、网页提取/搜索。
delegationdelegate_task生成隔离的子 Agent 实例以并行执行任务。
discorddiscord核心 Discord 文本/嵌入/私信操作(仅网关)。在 hermes-discord 工具集上激活。
discord_admindiscord_adminDiscord 管理功能(封禁、角色变更、频道管理)。在 hermes-discord 工具集上激活;要求机器人持有相关 Discord 权限。
feishu_docfeishu_doc_read读取飞书/Lark 文档内容。由飞书文档评论智能回复处理器使用。
feishu_drivefeishu_drive_add_comment、feishu_drive_list_comments、feishu_drive_list_comment_replies、feishu_drive_reply_comment飞书/Lark 云盘评论操作。仅限评论 Agent 使用;不在 hermes-cli 或其他消息工具集上暴露。
filepatch、read_file、search_files、write_file文件读取、写入、搜索和编辑。
homeassistantha_call_service、ha_get_state、ha_list_entities、ha_list_services通过 Home Assistant 控制智能家居。仅在设置 HASS_TOKEN 时可用。
image_genimage_generate通过 FAL.ai 进行文本生成图像(支持可选的 OpenAI / xAI 后端)。
memorymemory跨会话持久化记忆管理。
messagingsend_message在会话中向其他平台(Telegram、Discord 等)发送消息。
moamixture_of_agents通过混合 Agent(Mixture of Agents)实现多模型共识。
rlrl_check_status、rl_edit_config、rl_get_current_config、rl_get_results、rl_list_environments、rl_list_runs、rl_select_environment、rl_start_training、rl_stop_training、rl_test_inferenceRL 训练环境管理(Atropos)。
safe通过 includes 包含 image_generate、vision_analyze、web_extract、web_search只读研究 + 媒体生成。无文件写入、无终端、无代码执行。
searchweb_search仅网页搜索(不含提取)。
session_searchsession_search搜索过往对话会话。
skillsskill_manage、skill_view、skills_list技能的增删改查和浏览。
spotifyspotify_albums、spotify_devices、spotify_library、spotify_playback、spotify_playlists、spotify_queue、spotify_search原生 Spotify 控制(播放、队列、搜索、播放列表、专辑、音乐库)。由内置 spotify 插件注册。
terminalprocess、terminalShell 命令执行和后台进程管理。
todotodo会话内任务列表管理。
ttstext_to_speech文本转语音音频生成。
visionvision_analyze通过支持视觉的模型进行图像分析。
webweb_extract、web_search网页搜索和页面内容提取。
yuanbaoyb_query_group_info、yb_query_group_members、yb_search_sticker、yb_send_dm、yb_send_sticker元宝私信/群组操作和表情包搜索。仅在 hermes-yuanbao 上注册。

平台工具集​

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

工具集与 hermes-cli 的区别
hermes-cli完整工具集 — 38 个工具。交互式 CLI 会话的默认配置。
hermes-acp去掉了 clarify、cronjob、image_generate、send_message、text_to_speech 以及全部四个 Home Assistant 工具。专注于 IDE 上下文中的编码任务。
hermes-api-server去掉了 clarify、send_message 和 text_to_speech。保留其他所有工具 — 适合无法进行用户交互的程序化访问。
hermes-cron与 hermes-cli 相同。
hermes-telegram与 hermes-cli 相同。
hermes-discord在 hermes-cli 基础上增加了 discord 和 discord_admin。
hermes-slack与 hermes-cli 相同。
hermes-whatsapp与 hermes-cli 相同。
hermes-signal与 hermes-cli 相同。
hermes-matrix与 hermes-cli 相同。
hermes-mattermost与 hermes-cli 相同。
hermes-email与 hermes-cli 相同。
hermes-sms与 hermes-cli 相同。
hermes-bluebubbles与 hermes-cli 相同。
hermes-dingtalk与 hermes-cli 相同。
hermes-feishu增加了五个 feishu_doc_* / feishu_drive_* 工具(仅由文档评论处理器使用,不用于常规聊天适配器)。
hermes-qqbot与 hermes-cli 相同。
hermes-wecom与 hermes-cli 相同。
hermes-wecom-callback与 hermes-cli 相同。
hermes-weixin与 hermes-cli 相同。
hermes-yuanbao在 hermes-cli 基础上增加了五个 yb_* 工具(私信/群组/表情包)。
hermes-homeassistant与 hermes-cli 相同(Home Assistant 工具默认已存在,设置 HASS_TOKEN 后自动激活)。
hermes-webhook与 hermes-cli 相同。
hermes-gateway内部网关编排工具集 — 所有 hermes-<platform> 工具集的并集;当网关需要接受任意消息来源时使用。

动态工具集​

MCP 服务器工具集​

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

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

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

插件工具集​

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

自定义工具集​

在 config.yaml 中定义自定义工具集,创建项目专属的工具集合:

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

通配符​

  • all 或 * — 扩展为所有已注册的工具集(内置 + 动态 + 插件)

与 hermes tools 的关系​

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

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