工具集
這是什麼
控制哪些工具可用的具名能力套件。
白話解釋
想像一個有標籤抽屜的工具箱——扳手一個抽屜、螺絲起子一個抽屜——而不是一堆鬆散工具堆在地上。工具集將 Hermes 的個別能力分組到像「瀏覽器」或「終端機」這樣的具名抽屜中,這樣設定 agent 的人只需考慮幾個抽屜,而不是幾十個單獨的工具。
為什麼重要
57 個具名套件——瀏覽器、看板、終端機等等——將個別的註冊表條目分組,讓操作者能以連貫的區塊來理解能力,而不是逐一切換 69 個工具。其中只有 25 個套件實際上可以透過 CLI 或儀表板進行設定;其餘的是組合性或平台特定的分組,由較小的元件組成。像 CRM 客戶資料獲取這樣的商業工作流程假設特定的工具集已經啟用,這也是當工作流程默默表現不佳時,通常應該先檢查工具集設定的原因。
How it works
Each entry in the TOOLSETS dictionary lists its tools and any other toolsets it includes, letting bundles compose from smaller ones (toolsets.py). resolve_toolset() walks that graph recursively, tracking visited names to avoid infinite loops on circular includes, and returns the flattened list of tool names a bundle actually grants. A shared _HERMES_CORE_TOOLS list feeds every CLI and messaging-platform bundle so editing one line updates them all, while a special “coding” toolset is marked with a posture flag and auto-selected for code workspaces rather than being something a user toggles by hand.
A concrete example
A workflow author wants an agent that can search the web for solutions, edit files, and run shell commands while debugging a failing build.
- They reference the
debuggingtoolset, which directly grants the terminal, file, and web toolsets. resolve_toolset()expands the includes recursively, ending up with a flat list that includes terminal-execution, file-read, file-write, web-search, and web-extract tool names.- That flattened list is what gets passed to the agent’s tool configuration, without the author having to enumerate each individual tool by name.