AI 程式設計教程中文版
官方教程中文版使用手冊

配置工具系統和終端後端

理解 Hermes tools、toolsets、Nous Tool Gateway、terminal backends、後臺程序和許可權邊界。

開啟工具後,Hermes Agent 就不只是聊天。它可以搜尋網頁、抽取頁面、讀寫檔案、執行命令、操作瀏覽器、寫記憶、檢索歷史 session、建立 cron、發訊息、調 Home Assistant、接 MCP(模型上下文協議),甚至啟動子代理或 RL(強化學習)任務——能力越多,許可權邊界越需要刻意設計。

官方資料:Tools & ToolsetsToolsets ReferenceTools ReferenceSecurityDocker Backend

先給結論Toolset(工具集)決定 Hermes 能呼叫哪些能力terminal backend(終端後端)決定命令在哪裡執行。先按任務開最小 toolset,再按風險選擇 local / docker / ssh / 雲 sandbox——兩件事獨立配置,互不替代。

三個核心概念

  • Tool(工具):單個外部能力,例如 terminal(執行 shell)、read_file(讀檔案)、patch(改檔案)、web_search(搜網頁)。
  • Toolset(工具集):按場景打包的一組 tools,例如 web(網頁類)、terminal(執行類)、file(檔案類)、browser(瀏覽器類)、memory(記憶類)。這是配置的最小單元,按 toolset 整體啟停。
  • Terminal backend(終端後端)terminal / file / code execution 工具實際執行的環境——共 7 種:local(本機)、Docker(容器)、SSH(遠端主機)、Daytona、Modal、Singularity、Vercel Sandbox。

不要把 toolset 和 backend 混在一起terminal toolset 開啟後,命令依然可能跑在本機、容器、遠端伺服器或雲環境裡——這兩件事得分別決策。一句"我開了 terminal" 不等於"我知道命令在哪跑"。

工具分類

Web

web_search、web_extract,用於外部事實核驗和網頁抽取。

Terminal & Files

terminal、process、read_file、patch,負責命令執行和檔案修改。

Browser

browser_navigate、browser_snapshot、browser_vision,用於頁面互動和視覺檢查。

Media

vision_analyze、image_generate、text_to_speech,處理多模態輸入輸出。

Agent orchestration

todo、clarify、execute_code、delegate_task,用於計劃、澄清、程式碼執行和子代理。

Memory & recall

memory、session_search,用於長期記憶和歷史會話檢索。

Automation & delivery

cronjob、send_message,用於定時任務和訊息投遞。

Integrations

Home Assistant、MCP、RL training 和其他外掛擴充套件。

Honcho(AI 原生使用者建模外掛,Nous Research 推薦)的 cross-session memory(跨會話記憶)是 memory provider plugin(記憶外掛),不是內建 toolset。需要 Honcho 時按 memory provider(記憶外掛)路線安裝和配置。

Nous Tool Gateway

官方文件說明,付費 Nous Portal 使用者可以透過 Nous Tool Gateway 使用 web search、image generation、TTS 和 browser automation,而不需要分別配置每個第三方 API key。

這解決的是“工具供應商憑據”問題,不解決“工具許可權邊界”問題。即使工具來自 Gateway,你仍然要決定哪些平臺能用 browser、terminal、file、cronjob、send_message。

按任務開 toolset

可以按這個順序判斷:

查外部资料      -> web/search
读写项目文件    -> file
跑测试或脚本    -> terminal
操作网页        -> browser
沉淀流程        -> skills
长期上下文      -> memory/session_search
周期任务        -> cronjob
跨平台发消息    -> messaging/send_message
并行任务        -> delegation

如果說不清為什麼要開某個 toolset,先不要開。最小 toolset 的價值是讓失敗更容易定位。

Terminal backend 怎麼選

local

可信個人專案、只讀檢查和低風險命令。最快,但沒有隔離。

docker

不信任指令碼、臨時依賴、可復現環境。注意容器是程序內持久共享的。

ssh

遠端伺服器、隔離主機、VPS 或遠端硬體。

singularity

HPC 和共享機器上的 rootless container 場景。

modal / daytona

雲端 sandbox(隔離沙箱)、臨時算力或遠端持久 workspace(工作區);閒置免費、按需啟動。

vercel_sandbox

Vercel microVM(微型虛擬機器),支援 snapshot-backed(快照支援的)雲端執行環境。

本機小任務用 local,不可信任務用 docker,遠端資源用 ssh,長期雲端執行再考慮 Modal、Daytona 或 Vercel Sandbox。

後臺程序

Hermes 可以啟動後臺任務,並用 process tool 管理:

terminal(command="pytest -v tests/", background=true)
process(action="list")
process(action="poll", session_id="proc_abc123")
process(action="log", session_id="proc_abc123")
process(action="kill", session_id="proc_abc123")

適合後臺化的任務:

  • 測試套件。
  • 本地 dev server。
  • 長時間日誌觀察。
  • 非破壞性批處理。

不適合直接後臺化的任務:

  • 刪除資料。
  • 資料庫遷移。
  • 釋出生產環境。
  • 賬單、許可權、使用者資料相關命令。

後臺不是降低風險,只是讓任務離開當前互動視線。越是後臺任務,越要有日誌、停止方式和超時。

Sudo 和金鑰

需要 sudo 時,Hermes 會提示輸入密碼並在當前 session 內快取。訊息平臺上不要傳送密碼。長期自動化如果必須使用 SUDO_PASSWORD,只能放在本地 .env 或安全憑據系統裡,並明確它會暴露給對應 session 的命令執行環境。

環境變數轉發也要收窄。Docker、SSH、雲 sandbox 裡只轉發當前任務真正需要的變數。不要把全量 .env 直接透傳給 agent 命令。

最小驗收

啟用工具後,你應該能回答下面 7 個問題。任何一項答不上來,先停下排查再繼續接 Gateway 或 cron

  • 當前啟用了哪些 toolsets?(hermes config showtoolsets 欄位)
  • 每個 toolset 為什麼需要?(不能回答 = 應該關)
  • Terminal backend 是什麼?(hermes config showterminal.backend 欄位,或直接看 ~/.hermes/config.yaml
  • 命令實際在哪個環境執行?(讓 Hermes 跑 pwd && hostname 驗證)
  • 後臺程序如何檢視、等待、讀日誌和停止?(process(action="list/poll/log/kill")
  • 不需要的工具如何關閉?(編輯 yaml 或 hermes config set toolsets.<name> false
  • 哪些 secret 會進入這個 backend?(看 terminal.env_passthrough 配置)

常見坑

按事故頻率從高到低:

  • 任務只需要讀檔案,卻同時開啟 terminal、browser、messaging —— 一旦出錯,故障域比真正需要的大 5 倍
  • 不知道命令在本機、容器、遠端伺服器還是雲 sandbox 執行 —— 刪錯檔案後才發現是本機
  • Docker backend 共享同一個持久容器卻按"每命令隔離"理解 —— 一個任務裝的依賴汙染另一個任務
  • 後臺程序啟動後沒人 poll、log 或 kill —— 長跑任務靜默成功 / 失敗都沒人看
  • 在訊息平臺裡處理 sudo、金鑰或高風險 shell —— 群裡其他人能看到密碼、能誤觸命令
  • Tool Gateway 可用後就預設把所有工具開放給所有平臺 —— 開放性 ≠ 許可權邊界,Gateway 只解決憑據,不解決"誰能用"

官方資料

下一步

本頁目錄