跳到主要內容

工具集參考

工具集是命名的工具捆綁包,用於控制 Agent(agent)可執行的操作。它們是按平臺、按會話或按任務配置工具可用性的主要機制。

工具集的工作原理

每個工具都屬於且僅屬於一個工具集。當你啟用某個工具集時,該捆綁包中的所有工具都會對 Agent 可用。工具集分為三種類型:

  • 核心工具集(Core) —— 一組邏輯上相關的工具(例如,file 工具集包含 read_filewrite_filepatchsearch_files
  • 複合工具集(Composite) —— 為常見場景組合多個核心工具集(例如,debugging 工具集包含 file、terminal 和 web 工具)
  • 平臺工具集(Platform) —— 針對特定部署環境的完整工具配置(例如,hermes-cli 是交互式 CLI 會話的默認配置)

配置工具集

按會話(CLI)

hermes chat --toolsets web,file,terminal
hermes chat --toolsets debugging # 複合——擴展為文件+終端+網絡
hermes chat --toolsets all # 一切

按平臺(config.yaml)

toolsets:
- hermes-cli # 默認為 CLI
# - hermes-telegram # 覆蓋 Telegram gateway

交互式管理

hermes tools                            # 詛咒 UI 以在每個平臺上啟用 /disable

或在會話中:

/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 作為快速查詢的備用方案。
clarifyclarify當 Agent 需要澄清時,向用戶提問。
code_executionexecute_code運行調用 Hermes 工具的 Python 腳本。
cronjobcronjob定時和管理重複性任務。
delegationdelegate_task為並行工作啟動隔離的子 Agent 實例。
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 實現文本到圖像生成。
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_inference強化學習訓練環境管理(Atropos)。
searchweb_search僅限網頁搜索(不包含內容提取)。
session_searchsession_search搜索過往對話會話。
skillsskill_manage, skill_view, skills_list技能的增刪改查與瀏覽。
terminalprocess, terminalshell 命令執行與後臺進程管理。
todotodo會話內的任務列表管理。
ttstext_to_speech文本轉語音音頻生成。
visionvision_analyze通過具備視覺能力的模型進行圖像分析。
webweb_extract, web_search網頁搜索與頁面內容提取。

複合工具集

這些工具集會擴展為多個核心工具集,為常見場景提供便捷的簡寫方式:

工具集擴展為使用場景
debuggingpatch, process, read_file, search_files, terminal, web_extract, web_search, write_file調試會話 —— 無需瀏覽器或委託開銷即可實現文件訪問、終端操作和網絡調研。
safeimage_generate, mixture_of_agents, vision_analyze, web_extract, web_search只讀研究與媒體生成。不支持文件寫入、終端訪問或代碼執行。適用於不可信或受限環境。

平臺工具集

平臺工具集定義了部署目標的完整工具配置。大多數消息平臺使用與 hermes-cli 相同的工具集集合:

工具集hermes-cli 的差異
hermes-cli完整工具集 — 包含全部 38 個工具,包括 clarify。交互式 CLI 會話的默認選項。
hermes-acp移除了 clarifycronjobimage_generatemixture_of_agentssend_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-weixinhermes-cli 相同。
hermes-bluebubbleshermes-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。即使工具集已啟用,被禁用的工具也會被過濾掉。

另請參閱:工具參考,獲取完整工具列表及其參數說明。