2
0

Hermes disabled_toolsets 对照表

2026-07-03
2026-07-03
AI
Hermes disabled_toolsets 对照表

(鲸鱼是哺乳动物,不是鱼)

最近在折腾hermes配置时频繁地在hermes工具使用上栽跟头,主要是这个默认的 disabled_toolsets 禁用的东西太多了,还会出现交叉禁用的情况(比如 coding 项禁用了 terminal,然后 terminal项也禁用了 terminal,光在配置项设置没用,还得关闭禁用项,然后关闭禁用项又得关全(比如我之前删了 terminal 项,还是死活没用,官方文档又从来不提这件事,问AI也东拉西扯找不到重点。结果排查了一个多小时才发现 coding 项也会禁用,太坑了)。所以我觉得非常有必要把这个坑给填了,直接列出所有项及其对应关系,到时候就好找了(丢给AI看也方面)

本表来自 hermes-agent/toolsets.py 与工具注册源码,用来解释 ~/.hermes/config.yaml 里的:

agent:
  disabled_toolsets:
    - web
    - search

到底会屏蔽哪些工具。

1. 理清机制

Hermes 的工具集启用流程大致是:

platform_toolsets / toolsets 先展开成具体工具
        ↓
agent.disabled_toolsets 再按 toolset 展开,并做减法
        ↓
剩下的工具才注册给模型

所以 disabled_toolsets 是最后一道全局减法。它可以把已经通过 platform_toolsets 启用的工具再扣掉。

这就是为什么可能会遇到:

platform_toolsets:
  cli:
    - web

agent:
  disabled_toolsets:
    - search

最终结果却是:

web_extract 有
web_search 没有

因为:

web    -> web_search + web_extract
search -> web_search

先启用 web,再禁用 search,最后就只剩 web_extract

2. 最容易踩坑的项

disabled 项 会屏蔽 容易误伤
search web_search 会把 webbrowser 里附带的 web_search 也扣掉
web web_search, web_extract Web 搜索和网页抽取都没了
browser 所有 browser_* 工具,以及 web_search 即使 web 开着,也可能影响 web_search 的来源组合
terminal terminal, process 终端执行和进程管理都没了
file read_file, write_file, patch, search_files 文件读写和搜索全没
vision vision_analyze 图片理解没了
image_gen image_generate 图片生成没了
code_execution execute_code Python 工具编排没了
delegation delegate_task 子代理没了
memory memory 记忆工具没了
session_search session_search 不能搜历史会话
clarify clarify Agent 不能用工具形式问澄清问题

3. 基础工具集对照表

这些是 toolsets.py 里直接定义的 leaf toolsets。禁用它们会直接移除对应工具。

disabled 项 会屏蔽的工具 说明
web web_search, web_extract Web 搜索与网页抽取
search web_search 只屏蔽 Web 搜索,不屏蔽 web_extract
x_search x_search X / Twitter 搜索
vision vision_analyze 图片分析
video video_analyze 视频分析
image_gen image_generate 图片生成
video_gen video_generate 视频生成
computer_use computer_use 桌面控制 / Computer Use
terminal terminal, process 命令执行与进程管理
skills skills_list, skill_view, skill_manage Skills 列表、查看、管理
browser browser_navigate, browser_snapshot, browser_click, browser_type, browser_scroll, browser_back, browser_press, browser_get_images, browser_vision, browser_console, browser_cdp, browser_dialog, web_search 浏览器自动化;注意它也包含 web_search
cronjob cronjob 定时任务管理
file read_file, write_file, patch, search_files 文件读写、补丁、搜索
tts text_to_speech 文本转语音
todo todo 任务计划
memory memory 记忆
context_engine 无静态工具 运行时 context engine 工具入口;具体取决于 active context engine
session_search session_search 历史会话搜索
project project_list, project_create, project_switch 桌面 Projects,通常只在 GUI 有意义
clarify clarify 澄清问题
code_execution execute_code Python 代码执行 / 工具编排
delegation delegate_task 子代理委派
homeassistant ha_list_entities, ha_get_state, ha_list_services, ha_call_service Home Assistant
kanban kanban_show, kanban_list, kanban_complete, kanban_block, kanban_heartbeat, kanban_comment, kanban_create, kanban_link, kanban_unblock Kanban 多代理协作
discord discord Discord 普通读写参与工具
discord_admin discord_admin Discord 管理工具
yuanbao yb_query_group_info, yb_query_group_members, yb_send_dm, yb_search_sticker, yb_send_sticker Yuanbao 平台工具
feishu_doc feishu_doc_read 飞书 / Lark 文档读取
feishu_drive feishu_drive_list_comments, feishu_drive_list_comment_replies, feishu_drive_reply_comment, feishu_drive_add_comment 飞书 / Lark 云文档评论操作
spotify spotify_playback, spotify_devices, spotify_queue, spotify_search, spotify_playlists, spotify_albums, spotify_library Spotify

4. 组合工具集对照表

组合工具集会展开自身工具和 includes 的工具。禁用组合工具集时,会把展开后的工具都扣掉。

disabled 项 会屏蔽的工具 说明
debugging terminal, process, web_search, web_extract, read_file, write_file, patch, search_files 包含 terminal + web + file
safe web_search, web_extract, vision_analyze, image_generate 包含 web + vision + image_gen
coding web_search, web_extract, terminal, process, read_terminal, read_file, write_file, patch, search_files, vision_analyze, skills_list, skill_view, skill_manage, browser_navigate, browser_snapshot, browser_click, browser_type, browser_scroll, browser_back, browser_press, browser_get_images, browser_vision, browser_console, browser_cdp, browser_dialog, todo, memory, session_search, clarify, execute_code, delegate_task Coding posture 工具集,禁用它会扣一大批开发常用工具

通常不建议把组合工具集写进 disabled_toolsets,除非你很明确知道它会展开扣掉什么。

5. 平台 bundle 特例

hermes-clihermes-telegramhermes-discord 等是平台 bundle。它们通常用于 toolsetsplatform_toolsets,不太应该放进 disabled_toolsets

源码里对 hermes-* 有特殊保护:禁用 platform bundle 时,不会直接把所有核心工具都扣光,而是只扣该 bundle 相对核心工具的“额外差集”。

disabled 项 特殊行为
hermes-cli 核心工具会被保护,通常不会像普通组合那样全扣
hermes-cron 同上
hermes-telegram 同上
hermes-discord 主要会扣 Discord 额外工具:discord, discord_admin
hermes-feishu 主要会扣 Feishu 额外工具:feishu_doc_read, feishu_drive_*
hermes-yuanbao 主要会扣 Yuanbao 额外工具:yb_*
其他 hermes-* 平台 bundle 同样按“非核心差集”处理

建议:不要用 disabled_toolsets 禁用 hermes-*。如果要控制平台工具,优先改:

platform_toolsets:
  cli:
    - browser
    - file
    - terminal
    - web

6. 运行时注册 / 插件工具集

有些工具集不是静态写在 TOOLSETS 主表里,而是由工具或插件运行时注册。禁用它们也可能有效,但是否出现取决于插件、平台、依赖和环境。

当前源码里能看到的典型项:

disabled 项 会屏蔽的工具 来源
browser-cdp browser_cdp, browser_dialog tools/browser_cdp_tool.py, tools/browser_dialog_tool.py 注册时使用
google_meet Google Meet 插件工具 plugins/google_meet 插件启用后注册
MCP server 名称 对应 MCP server 暴露的工具 MCP 运行时注册,名字取决于 mcp_servers 配置
插件 toolset 名 插件注册的工具 用户安装或内置插件决定

注意:browser 静态工具集里已经包含 browser_cdpbrowser_dialog,但工具注册本身也标了 browser-cdp。实际是否暴露还会受 CDP 可用性 check_fn 影响。

评论