04 · 工具系统与终端后端
基于官方 Hermes Tools & Toolsets 教程,面向新手讲清 toolset 和 terminal backend 的分工、风险和选择顺序。
Hermes 的工具系统决定 agent 能做什么。终端后端决定这些动作在哪里发生。新手必须把这两个问题分开,否则很容易把“允许调用工具”和“允许在本机执行命令”混成一件事。
先理解:toolset 和 backend 不是一回事
Toolset 是能力开关。比如 web/search 让 Hermes 搜索网页,terminal 让它执行 shell,file 让它读写文件,browser 让它操作页面,skills 让它调用工作流,messaging 让它发消息。
Terminal backend 是执行环境。local 是本机,docker 是容器,ssh 是远端机器,singularity 适合 HPC,modal、daytona、vercel_sandbox 属于云端或沙箱环境。
一句话:toolset 决定它能拿什么工具,backend 决定命令实际在哪里跑。
怎么判断开哪些 toolset
第一次使用只开最少能力。先让 Hermes 普通对话稳定,再让它读文件,再运行低风险命令。
需要查资料时开 web/search。需要浏览器页面理解时开 browser。需要改项目文件时开 file。需要长期记忆时开 memory。需要定时任务时开 cronjob。需要跨消息平台发送结果时开 messaging。
不要一次性打开所有 toolset。工具越多,权限越大,错误来源也越多。
怎么判断 terminal backend
local 最快,也最危险。它直接在你的机器上执行命令,适合可信项目和低风险任务。
docker 适合不信任脚本、临时依赖实验和避免污染本机环境。代价是文件映射、网络和缓存需要额外处理。
ssh 适合远程 GPU、隔离诊断机、手机远程控制或不想让 agent 直接碰本机环境。
singularity 适合 HPC 或共享机器。modal、daytona、vercel_sandbox 适合云端执行、扩缩容或隔离工作区。
新手默认:本机小任务用 local;不可信或依赖复杂用 docker;需要远程资源用 ssh;长期云端工作再考虑云 sandbox。
后台进程什么时候用
测试、构建、服务启动、长时间诊断适合后台进程。它们需要启动、轮询、读取日志、等待或终止。
不要把发布、删除、数据库迁移这类高风险动作直接后台化。后台不是降低风险,只是让任务离开当前交互视线。
新手常见坑
- 以为关闭 terminal tool 就等于所有风险都没了:file、browser、messaging 也可能有副作用。
- local 后端跑不可信命令:本机环境最容易被污染。
- Docker 里忘记文件映射:命令跑了但结果不在预期位置。
- SSH 后端凭据管理混乱:远端 key、host、user 都要按密钥处理。
- 长命令不管理后台进程:日志、退出码和清理都丢失。
- 一开始开太多 toolset:Hermes 能力变强,排障也更难。
怎么验收
你能说清当前启用了哪些 toolset,以及每个 toolset 为什么需要。
你能确认 terminal backend 是 local、docker、ssh 还是云端。
你能让 Hermes 执行一个低风险命令,并知道它实际在哪个环境运行。
你能在任务结束后找到日志、输出文件和后台进程状态。
你能在不可信任务前切到隔离后端,而不是直接用本机。