跳轉至

建立 2026-09-19 更新 2026-09-19

工具與終端機後端

工具(tool)是代理能呼叫的函式:讀寫檔案、執行指令、上網搜尋、看圖、排程等。工具被分成工具集(toolset),可以依平台開關。另外還有一個關鍵設定:終端機後端,決定指令實際在哪裡執行,也是安全的第一道防線。

工具集

主要的工具集包括:

類別 工具集
上網 websearchbrowser
檔案與執行 terminalfilecode_execution
多媒體 visionimage_gentts
代理能力 memorysession_searchskillstododelegationclarifycronjob
整合 messaginghomeassistantspotifydiscord

開關的方式:

hermes tools                          # 互動式設定,可依平台調整
hermes chat --toolsets "web,terminal" # 只啟用指定工具集

在對話中用 /tools 查看目前可用的工具。

終端機後端

terminal 工具的指令預設在你的機器上執行(local)。改成其他後端,就能把代理關進容器或送到遠端:

後端 指令在哪裡執行 適合
local 你的機器 開發、個人使用
docker 持久容器 安全沙箱、對外服務的 Gateway
ssh 遠端伺服器 遠端開發、強大硬體
singularity 容器 HPC 叢集、共用主機
modal 雲端沙箱 臨時的雲端運算
daytona 託管工作區 雲端開發環境
vercel_sandbox 雲端 microVM 需要持久化的雲端執行

~/.hermes/config.yaml 設定,也可一行切換:

hermes config set terminal.backend docker

Docker 範例:

terminal:
  backend: docker
  docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
  container_cpu: 1
  container_memory: 5120     # MB
  container_persistent: true

local 沒有隔離

local 後端代表代理擁有你的使用者權限,能讀寫你能讀寫的檔案。個人電腦上請保持危險指令核准開啟;如果會讓別人(例如透過聊天軟體)使用,請看 安全與部署 並改用容器後端。

背景程序

耗時的指令(伺服器、長時間編譯)可以用 background=true 丟到背景,再用 process 工具管理:

process(action="list")                    # 目前有哪些背景程序
process(action="poll", session_id="...")  # 檢查狀態
process(action="wait", session_id="...")  # 等它結束
process(action="log", session_id="...")   # 取得輸出
process(action="kill", session_id="...")  # 終止

這些是代理內部呼叫的工具語法,你通常只需要用白話請它「把這個跑在背景」。

延伸