4 Hermes智能体工具记忆技能和MCP
当 Hermes 能正常聊天以后,下一步就是理解它为什么能“做事”。核心答案是四个模块:工具、记忆、技能和 MCP。掌握它们,你就能把 Hermes 从一个聊天窗口变成真正的工作助手。
1. 工具是什么
工具是 Hermes 和外部世界交互的能力。没有工具时,大模型只能生成文本;有了工具后,它可以读取文件、运行命令、搜索网页、打开浏览器、生成图片、创建定时任务、发送消息。
官方文档把工具大致分成这些类别:
- 网页:搜索和提取网页内容。
- 终端与文件:运行命令、读取文件、打补丁。
- 浏览器:打开页面、获取页面结构、进行视觉浏览。
- 媒体:图像分析、图像生成、文字转语音。
- 智能体编排:计划、澄清、代码执行、子智能体委派。
- 记忆与召回:保存长期记忆、搜索历史会话。
- 自动化与传递:cron 定时任务、发送消息。
- 集成:Home Assistant、MCP、其他外部系统。
查看工具配置:
hermes tools
指定工具集启动:
hermes chat --toolsets "web,terminal"
2. 工具权限要逐步开放
新手不要一开始就把所有工具都开满。建议按这个顺序:
- 先开只读类工具:文件读取、网页搜索。
- 再开低风险工具:生成报告、整理文本。
- 再开写入类工具:修改文件、生成代码。
- 最后再考虑终端执行、Docker、SSH、cron、消息发送。
智能体越能干,越需要边界。尤其是生产服务器、数据库、支付、鉴权、部署脚本这类高风险区域,不要让它自由操作。
3. 终端后端
Hermes 的终端工具可以在不同环境里执行:
| 后端 | 适合场景 |
|---|---|
| local | 本机开发、可信任务 |
| docker | 隔离沙盒、可复现环境 |
| ssh | 远程服务器或更强硬件 |
| singularity | HPC 集群 |
| modal | 云端临时计算 |
| daytona | 托管云工作区 |
| vercel_sandbox | 云端微虚拟机 |
最简单的默认方式是本地:
terminal:
backend: local
如果你希望更安全,可以切到 Docker:
hermes config set terminal.backend docker
Docker 后端更像一个持久沙盒。Hermes 运行的命令会在容器里执行,已安装包和写入文件可以在会话期间保留。
4. 记忆系统
Hermes 的记忆存储在:
~/.hermes/memories/
主要有两个文件:
MEMORY.md:智能体自己的笔记,例如环境事实、项目约定、学到的经验。USER.md:用户画像,例如你的偏好、沟通风格、常用习惯。
记忆不是越多越好。官方文档给记忆设置了容量限制,目的就是让它只保存真正重要的信息。
适合保存为记忆的信息:
- “我的博客项目目录是
/var/www/my-markdown-site。” - “我偏好中文回复,结论先行。”
- “部署前必须先跑构建检查。”
- “生产服务重启需要人工确认。”
不适合保存为记忆的信息:
- 一次性的临时问题。
- API Key、密码、Token。
- 没验证过的猜测。
- 很长的文章原文。
5. 技能系统
技能是 Hermes 的可复用工作流程。它们放在:
~/.hermes/skills/
你可以把技能理解为“当遇到某类任务时,智能体应该怎么做”的说明文档。
查看技能:
hermes skills
搜索技能:
hermes skills search kubernetes
安装技能:
hermes skills install openai/skills/k8s
在对话中,也可以用斜杠命令调用技能:
/plan 帮我设计一个博客自动部署方案
技能适合沉淀标准流程,例如:
- 固定文章风格。
- 固定部署检查清单。
- 固定代码评审要求。
- 固定数据分析格式。
6. MCP 是什么
MCP 全称 Model Context Protocol,可以让 Hermes 连接外部工具服务器。你可以通过 MCP 接入 GitHub、数据库、文件系统、公司内部 API、知识库等。
Hermes 的 MCP 配置在 ~/.hermes/config.yaml 的 mcp_servers 下。
最小 stdio 示例:
mcp_servers:
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
HTTP MCP 示例:
mcp_servers:
company_api:
url: "https://mcp.internal.example.com"
headers:
Authorization: "Bearer ***"
注意:示例里的 Token 只写占位符,真实密钥不要提交到仓库,也不要发给智能体公开展示。
7. 一个实用组合
如果你想把 Hermes 变成项目助手,可以这样组合:
- 工具:开启
terminal,file,web。 - 后端:本地开发用
local,不放心就用docker。 - 记忆:保存项目路径、部署流程、禁止事项。
- 技能:创建“博客文章发布检查”技能。
- MCP:接入 GitHub 或内部知识库。
然后你可以这样提问:
检查这个项目今天的改动,告诉我是否适合提交,并生成一个简洁的 commit message。
这时 Hermes 会读文件、看差异、分析风险,并按你的历史偏好组织答案。
8. 本节小结
工具让 Hermes 能行动,记忆让它能延续,技能让它能复用经验,MCP 让它能连接更多系统。真正上手 Hermes,不是背命令,而是学会为任务选择合适的能力组合。