<!-- Source: https://hermesbible.com/docs/reference/toolsets-reference -->
與
工具組是控制代理能力的命名工具集合。它們是按平台、按工作階段或按任務設定工具可用性的主要機制。
工具組運作方式
每個工具恰好屬於一個工具組。当你啟用一個工具組時,該集合中的所有工具都會對代理可用。工具組分為三種類型:
- 核心 — 一個相關工具的邏輯群組(例如,
file包含read_file、write_file、patch、search_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 homeassistant
核心工具組
| 工具組 | 工具 | 用途 |
|---|---|---|
browser | browser_back、browser_cdp、browser_click、browser_console、browser_dialog、browser_get_images、browser_navigate、browser_press、browser_scroll、browser_snapshot、browser_type、browser_vision、web_search | 核心瀏覽器自動化。包含 web_search 作為快速查詢的回退。browser_cdp 和 browser_dialog 在運行時控制 — 僅在工作階段開始時可連線至 CDP 端點(透過 /browser connect、browser.cdp_url 設定、Browserbase 或 Camofox)時註冊。browser_dialog 與 CDP 監督器附加時 browser_snapshot 新增的 pending_dialogs 和 frame_tree 欄位協同工作。 |
clarify | clarify | 當代理需要澄清時向使用者提問。 |
code_execution | execute_code | 執行以程式化方式呼叫 Hermes 工具的 Python 腳本。 |
cronjob | cronjob | 排程和管理週期性任務。 |
debugging | 複合(file + terminal + web) | 偵錯套件 — file、process/terminal、web extract/search。 |
delegation | delegate_task | 產生隔離的子代理實例用於並行工作。 |
discord | discord | 核心 Discord 文字/嵌入/私訊操作(僅限閘道)。在 hermes-discord 工具組上啟用。 |
discord_admin | discord_admin | Discord 管理(封禁、角色變更、頻道管理)。在 hermes-discord 工具組上啟用;需要機器人持有相關 Discord 權限。 |
feishu_doc | feishu_doc_read | 讀取飛書/Lark 文件內容。由飛書文件留言智能回覆處理器使用。 |
feishu_drive | feishu_drive_add_comment、feishu_drive_list_comments、feishu_drive_list_comment_replies、feishu_drive_reply_comment | 飛書/Lark 雲端硬碟留言操作。限定於留言代理;不在 hermes-cli 或其他訊息工具組上暴露。 |
file | patch、read_file、search_files、write_file | 檔案讀取、寫入、搜尋和編輯。 |
homeassistant | ha_call_service、ha_get_state、ha_list_entities、ha_list_services | 透過 Home Assistant 控制智慧家庭。僅在設定 HASS_TOKEN 時可用。 |
computer_use | computer_use | 透過 cua-driver 進行背景 macOS 桌面控制 — 不會搶佔游標/焦點。適用於任何支援工具的模型。僅限 macOS;需要 $PATH 上的 cua-driver。 |
context_engine | (依情況而異) | 由活躍上下文引擎外掛暴露的運行時工具(在外掛填充之前為空)。 |
image_gen | image_generate | 透過 FAL.ai 進行文字轉圖片生成(可選擇加入 OpenAI / xAI 後端)。 |
video_gen | video_generate | 透過外掛註冊的後端進行文字轉影片和圖片轉影片(xAI Grok-Imagine、FAL.ai Veo 3.1 / Pixverse v6 / Kling O3)。傳入 image_url 以製作圖片動畫;省略則為文字轉影片。 |
kanban | kanban_block、kanban_comment、kanban_complete、kanban_create、kanban_heartbeat、kanban_link、kanban_list、kanban_show、kanban_unblock | 多代理協作工具。為調度器產生的工作人員(HERMES_KANBAN_TASK)和明確以名稱列出 kanban 工具組的設定檔註冊(all/* 萬用字元不會啟用它)。工作人員標記任務完成、阻塞、心跳、留言和建立/連結後續任務;協調器設定檔額外獲得板路由工具如 list/unblock。 |
memory | memory | 持久性跨工作階段記憶管理。 |
messaging | send_message | 在工作階段內向其他平台(Telegram、Discord 等)傳送訊息。 |
moa | mixture_of_agents | 透過 Mixture of Agents 進行多模型共識。 |
safe | image_generate、vision_analyze、web_extract、web_search(透過 includes) | 唯讀研究 + 媒體生成。無檔案寫入、無終端、無程式碼執行。 |
search | web_search | 僅限網路搜尋(不含提取)。 |
session_search | session_search | 搜尋過去的對話工作階段。 |
skills | skill_manage、skill_view、skills_list | 技能 CRUD 和瀏覽。 |
spotify | spotify_albums、spotify_devices、spotify_library、spotify_playback、spotify_playlists、spotify_queue、spotify_search | 原生 Spotify 控制(播放、佇列、搜尋、播放清單、專輯、資料庫)。由內建 spotify 外掛註冊。 |
terminal | process、terminal | Shell 命令執行和背景進程管理。 |
todo | todo | 工作階段內的任務清單管理。 |
tts | text_to_speech | 文字轉語音音訊生成。 |
vision | vision_analyze | 透過支援視覺的模型進行圖片分析。 |
video | video_analyze | 影片分析和理解工具(選擇性,不在預設工具組中 — 透過 --toolsets 明確新增)。 |
web | web_extract、web_search | 網路搜尋和頁面內容提取。 |
x_search | x_search | 使用 xAI 內建的 x_search Responses 工具搜尋 X(Twitter)貼文和討論串。預設關閉;透過 hermes tools 選擇加入。僅在已設定 xAI 憑證(SuperGrok OAuth 或 XAI_API_KEY)時註冊。 |
yuanbao | yb_query_group_info、yb_query_group_members、yb_search_sticker、yb_send_dm、yb_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 | 移除 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或*— 展開為所有已註冊的工具組(內建 + 動態 + 外掛)
少數工具在工具組成員資格之上還有額外的可用性檢查,不會僅透過 all/* 就啟用:
- 能力控制的工具(browser、
computer_use、code_execution、飛書、Home Assistant、cronjob)僅在其後端/憑證先決條件已設定時出現。 - 工作流程控制的工具 —
kanban工具組 — 是刻意選擇性加入的。all/*不會啟用 kanban;你必須明確列出kanban(或是設定HERMES_KANBAN_TASK的調度器產生的工作人員)。Kanban 工具會變更共享板狀態,因此即使在all下也預設關閉。
與 hermes tools 的關係
hermes tools 命令提供基於 curses 的 UI,用於按平台切換個別工具的開關。這在工具層級操作(比工具組更細粒度),並持久化到 config.yaml。已停用的工具會被過濾掉,即使其工具組已啟用。
另請參見:工具參考 了解完整的個別工具及其參數清單。