工具集参考

工具集(toolset)是工具的命名集合,用于控制代理可以做什么。它们是按平台、按会话或按任务配置工具可用性的主要机制。

工具集的工作原理

每个工具恰好属于一个工具集。当你启用一个工具集时,该集合中的所有工具都对代理可用。工具集分为三种类型:

  • 核心(Core) — 相关工具的单一逻辑分组(例如 file 集合了 read_filewrite_filepatchsearch_files
  • 组合(Composite) — 为常见场景组合多个核心工具集(例如 debugging 包含文件、终端和 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 UI,按平台启用/禁用

或在会话中:

/tools list
/tools disable browser
/tools enable homeassistant

核心工具集

工具集工具用途
browserbrowser_backbrowser_cdpbrowser_clickbrowser_consolebrowser_dialogbrowser_get_imagesbrowser_navigatebrowser_pressbrowser_scrollbrowser_snapshotbrowser_typebrowser_visionweb_search核心浏览器自动化。包含 web_search 作为快速查询的回退。browser_cdpbrowser_dialog 在运行时门控——仅在会话启动时 CDP 端点可到达时注册(通过 /browser connectbrowser.cdp_url 配置、Browserbase 或 Camofox)。browser_dialogbrowser_snapshot 在附加了 CDP 管理器时添加的 pending_dialogsframe_tree 字段配合使用。
clarifyclarify代理需要澄清时向用户提问。
code_executionexecute_code运行可通过编程方式调用 Hermes 工具的 Python 脚本。
cronjobcronjob调度和管理重复任务。
debugging组合(file + terminal + web调试捆绑包——文件、进程/终端、Web 提取/搜索。
delegationdelegate_task生成隔离的子代理实例进行并行工作。
discorddiscord核心 Discord 文本/嵌入/私信操作(仅网关)。在 hermes-discord 工具集上激活。
discord_admindiscord_adminDiscord 审核(封禁、角色变更、频道管理)。在 hermes-discord 工具集上激活;需要机器人持有相关 Discord 权限。
feishu_docfeishu_doc_read读取飞书/Lark 文档内容。由飞书文档评论智能回复处理程序使用。
feishu_drivefeishu_drive_add_commentfeishu_drive_list_commentsfeishu_drive_list_comment_repliesfeishu_drive_reply_comment飞书/Lark 云盘评论操作。限定在评论代理中;不在 hermes-cli 或其他消息工具集上暴露。
filepatchread_filesearch_fileswrite_file文件读取、写入、搜索和编辑。
homeassistantha_call_serviceha_get_stateha_list_entitiesha_list_services通过 Home Assistant 进行智能家居控制。仅在设置了 HASS_TOKEN 时可用。
computer_usecomputer_use通过 cua-driver 进行后台 macOS 桌面控制——不抢占光标/焦点。适用于任何支持工具调用的模型。仅 macOS;需要 cua-driver$PATH 上。
image_genimage_generate通过 FAL.ai 进行文本到图像生成(可选择 OpenAI / xAI 后端)。
video_genvideo_generate通过插件注册的后端(xAI Grok-Imagine、FAL.ai Veo 3.1 / Pixverse v6 / Kling O3)进行文本到视频和图像到视频。传递 image_url 以使图像动起来;省略则用于文本到视频。
kanbankanban_blockkanban_commentkanban_completekanban_createkanban_heartbeatkanban_linkkanban_listkanban_showkanban_unblock多代理协调工具。为调度器生成的任务工作者(HERMES_KANBAN_TASK)和显式启用 kanban 工具集的配置文件注册。工作者标记任务完成、阻塞、心跳、评论和创建/链接后续任务;编排器配置文件额外获得看板路由工具,如 list/unblock。
memorymemory持久化的跨会话记忆管理。
messagingsend_message从会话内向其他平台(Telegram、Discord 等)发送消息。
moamixture_of_agents通过混合代理实现多模型共识。
safeimage_generatevision_analyzeweb_extractweb_search(通过 includes只读研究 + 媒体生成。无文件写入、无终端、无代码执行。
searchweb_search仅 Web 搜索(不含提取)。
session_searchsession_search搜索过往的对话会话。
skillsskill_manageskill_viewskills_list技能增删改查和浏览。
spotifyspotify_albumsspotify_devicesspotify_libraryspotify_playbackspotify_playlistsspotify_queuespotify_search原生 Spotify 控制(播放、队列、搜索、播放列表、专辑、音乐库)。由捆绑的 spotify 插件注册。
terminalprocessterminalShell 命令执行和后台进程管理。
todotodo会话内的任务列表管理。
ttstext_to_speech文本到语音的音频生成。
visionvision_analyze通过支持视觉的模型进行图像分析。
videovideo_analyze视频分析和理解工具(选择性加入,不在默认工具集中——通过 --toolsets 显式添加)。
webweb_extractweb_searchWeb 搜索和页面内容提取。
x_searchx_search通过 xAI 内置的 x_search Responses 工具搜索 X(Twitter)帖子和话题。默认关闭;通过 hermes tools 选择加入。模式仅在配置了 xAI 凭据(SuperGrok OAuth 或 XAI_API_KEY)时注册。
yuanbaoyb_query_group_infoyb_query_group_membersyb_search_stickeryb_send_dmyb_send_sticker元宝私信/群组操作和贴纸搜索。仅在 hermes-yuanbao 上注册。

平台工具集

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

工具集hermes-cli 的差异
hermes-cli完整工具集——交互式 CLI 会话的默认配置。包含 file、terminal、web、browser、memory、skills、vision、image_gen、todo、tts、delegation、code_execution、cronjob、session_search、clarify 和 safe(只读)捆绑包以及标准消息工具。
hermes-acp丢弃 clarifycronjobimage_generatesend_messagetext_to_speech 和所有四个 Home Assistant 工具。专注于 IDE 上下文中的编码任务。
hermes-api-server丢弃 clarifysend_messagetext_to_speech。保留其他所有内容——适用于无法进行用户交互的程序化访问。
hermes-cronhermes-cli 相同。
hermes-telegramhermes-cli 相同。
hermes-discordhermes-cli 之上添加 discorddiscord_admin
hermes-slackhermes-cli 相同。
hermes-whatsapphermes-cli 相同。
hermes-signalhermes-cli 相同。
hermes-matrixhermes-cli 相同。
hermes-mattermosthermes-cli 相同。
hermes-emailhermes-cli 相同。
hermes-smshermes-cli 相同。
hermes-bluebubbleshermes-cli 相同。
hermes-dingtalkhermes-cli 相同。
hermes-feishu添加五个 feishu_doc_* / feishu_drive_* 工具(仅由文档评论处理程序使用,而非常规聊天适配器)。
hermes-qqbothermes-cli 相同。
hermes-wecomhermes-cli 相同。
hermes-wecom-callbackhermes-cli 相同。
hermes-weixinhermes-cli 相同。
hermes-yuanbaohermes-cli 之上添加五个 yb_* 工具(私信/群组/贴纸)。
hermes-homeassistanthermes-cli 相同(Home Assistant 工具默认已存在,在设置 HASS_TOKEN 时激活)。
hermes-webhookhermes-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 的 UI,用于按平台逐个切换单个工具的启用/禁用。它在工具级别操作(比工具集更细粒度),并持久化到 config.yaml。禁用的工具即使其工具集已启用,也会被过滤掉。

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