1. 为什么你的 Hermes Agent 装了 70 个 Skills 反而更卡了
如果你已经装好 Hermes Agent,兴冲冲地把内置的 70 多个 Skills 全打开,结果发现它回答变慢、答非所问、甚至开始胡编命令,那你不是一个人。我一开始也以为 Skills 是插件,装得越多能力越强,直到某次让它写周报,它给我返回了一段 Python 爬虫代码,我才意识到问题出在「调教」而不是「数量」。
Hermes Agent 的 Skills 本质是「可复用的工作流文档」,不是常驻内存的插件。它采用渐进式加载:只有当前任务匹配到某个 Skill 的描述时,才会把那份文档注入上下文。所以装 100 个本身不会拖慢推理,真正拖慢你的是——SOUL.md 没写、记忆没沉淀、MCP 没配、doctor 有红字你还硬装。这篇就按「先自检、再筛选、后调教」的顺序,把 70 个 Skills 砍到真正干活的十几个,并让 Hermes 记住你是谁。
适合谁看:已经跑通 Hermes Agent 基础安装、能收到飞书或企业微信回复、但被 Skills 列表淹没的开发者。全程命令行,不需要写代码,但需要你留出 1 到 2 小时安静操作。下面每一步都有可复制命令和预期输出,最后用一次hermes doctor全绿来验证配置真的生效。
2. 前置:用 TaoToken 统一 Key,别让多模型 Key 打架
调教 Hermes 之前先把「大脑」的接入方式固定下来。Hermes 支持 DeepSeek、Kimi、通义千问等多个模型后端,如果你每个 Skill 或每个 MCP 都单独配一套 Key,后面排错会非常痛苦。我的做法是用 TaoToken 做统一入口,一个 Key 覆盖对话、编码、Agent 三类调用,切换模型只改配置里的模型名,不动 Key。
TaoToken 的定位是给开发者和 Agent 工作流提供统一的模型接入层,官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 端点是 https://taotoken.net/api (这个地址不加 UTM 参数,配置里直接写它)。它不是什么灰色中转,就是一个正常的 API 聚合入口,你拿到的 Key 在控制台里能看用量、能建多个子 Key,方便给 Hermes 单独开一个。
具体操作分三步。第一步,打开控制台 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,注册后进入「API Keys」页面,新建一个 Key,命名成hermes-agent,方便以后按用途区分。第二步,如果你打算长期跑编码类 Skill 或 Agent 任务,可以顺手看一眼 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite ,它按周期计费,比按量更适合高频调用。第三步,把 Key 写进 Hermes 的环境变量,不要硬编码进 config.yaml,避免以后提交到 Git 泄露。
# 写入 shell 配置,按你实际用的 shell 选一个 echo 'export TAOTOKEN_API_KEY="sk-你的Key"' >> ~/.bashrc source ~/.bashrc # 验证变量生效 echo $TAOTOKEN_API_KEY | head -c 8预期输出是 Key 的前 8 位字符。如果输出为空,说明 shell 配置没加载,检查你用的是 bash 还是 zsh。这一步做完,Hermes 的模型后端就有了统一出口,后面所有 Skill 和 MCP 都复用这个 Key,排错时只需要怀疑一处。
3. 可复制配置:SOUL.md 骨架 + MCP 片段 + Skills 筛选清单
3.1 先跑 hermes doctor,红字不解决不往下走
在动任何 Skills 之前,先让 Hermes 自检。这一步能帮你省下 80% 的排错时间,因为 Skills 装了跑不起来,九成是基础环境有问题。
hermes doctor预期输出是一张检查表,所有项目前面是绿色对勾。重点看这几项:模型 API 连通性、Gateway 状态、Python 版本、Skills 目录权限。如果有红色报错,先解决再继续。常见的红字是 API Key 未配置或 Gateway 端口被占用,前者检查上一步的环境变量,后者用lsof -i :端口号找到进程杀掉。
3.2 SOUL.md 骨架:让 Hermes 认识你
SOUL.md 放在~/.hermes/SOUL.md,是整个调教里最重要的文件。写得越具体,Hermes 越懂你的工作风格。不要一次写完,用一段时间后根据不满意的输出回来补。
nano ~/.hermes/SOUL.md参考骨架,按你实际情况改:
# 我的工作信息 ## 基本背景 - 岗位:后端开发 / 技术负责人 - 日常:写接口、做 Code Review、维护 CI、跨团队对齐 ## 写作与输出偏好 - 技术文档:结论前置,先给命令再解释 - 代码风格:Python 用 type hints,Go 用标准库优先 - 篇幅:能一行命令说清就不写三段 - 禁忌:不要用「赋能」「抓手」这类词 ## 高频任务 - 每周:周报、迭代复盘 - 不定期:接口设计评审、线上问题排查 ## 数据安全红线 - 只操作 ~/work 下的文件 - 不读取 ~/.ssh 和任何凭证目录3.3 MCP 配置片段:连上你的工作系统
MCP 让 Hermes 能操作外部工具,而不只是聊天。编辑~/.hermes/config.yaml,加入下面片段。注意allowed_paths只放需要访问的目录,不要把整个硬盘开放。
mcp: servers: filesystem: type: local allowed_paths: - ~/work - ~/work/reports web-search: type: url url: https://taotoken.net/api name: search api_key_env: TAOTOKEN_API_KEY配置完重启 Hermes 服务,让 MCP 生效:
hermes restart hermes mcp list预期输出会列出filesystem和web-search两个 server,状态是 connected。如果显示 failed,检查 YAML 缩进,YAML 对空格极其敏感,用两个空格不要用 Tab。
3.4 Skills 筛选清单:70 个砍到 12 个
内置 Skills 不用安装,直接用斜杠命令触发。我的筛选原则是:只留每周至少用一次的,其余全部关掉。下面这张表是我实测两周后留下的清单。
| Skill 命令 | 用途 | 使用频率 |
|---|---|---|
/plan | 任务拆解成周计划 | 每周 |
/excalidraw | 画架构图、流程图 | 每周 |
/jupyter-live-kernel | 数据分析、出图表 | 每周 |
/document-writer | 技术文档、评审材料 | 每周 |
/meeting-notes | 会议纪要三段式 | 每周 |
/web-search | 查最新资料 | 每周 |
/pdf-reader | 读 PDF 提取要点 | 每月 |
/cron-manager | 定时任务自动化 | 配置一次 |
/hermes-agent-setup | 自我诊断 | 排错时 |
/p5js | 交互式可视化 | 每月 |
/code-review | 代码审查 | 每周 |
/git-helper | 提交信息、分支管理 | 每周 |
社区 Skills 用hermes skills install安装,安装前先搜索确认名字:
hermes skills search document-writer hermes skills install skills-sh/document-writer hermes skills install skills-sh/meeting-notes hermes skills install official/cron-manager装完用hermes skills list确认,然后手动关掉不用的内置 Skill,减少匹配噪音。筛选的核心逻辑是:Skills 是知识文档,按需加载,但描述太多会让匹配变模糊,砍到十几个反而更准。
4. 验证请求:一次可复现的 doctor 通过结果
配置改完必须验证,否则你不知道是配置生效了还是缓存骗了你。按下面顺序跑一遍,每一步都有预期结果。
第一步,重启并自检:
hermes restart hermes doctor预期输出所有项目绿色对勾,包括MCP servers: 2 connected、Skills loaded: 12、SOUL.md: found。如果Skills loaded数量和你筛选的不一致,说明有 Skill 没关干净,用hermes skills list --enabled查。
第二步,验证模型接入。用模型对话入口发一条测试请求,确认 TaoToken 的 Key 通了:
hermes chat "用一句话说明当前使用的模型后端"预期返回一句正常中文,且不报 401 或 403。如果报鉴权错误,回到第 2 节检查TAOTOKEN_API_KEY是否被正确读取。你也可以直接在模型对话页面 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite 手动发一条,确认 Key 本身有效,排除是 Hermes 配置问题。
第三步,验证 Skill 触发。跑一次/plan:
hermes chat "/plan 把本周的接口联调任务拆成三天计划"预期返回一个带时间线的计划,并保存到.hermes/plans/目录。用ls ~/.hermes/plans/确认文件生成。
第四步,验证 MCP。让 Hermes 读一个本地文件:
hermes chat "读取 ~/work/README.md 的前三行"预期返回文件前三行内容。如果报权限错误,检查allowed_paths是否包含~/work,以及文件是否真的存在。
第五步,验证记忆沉淀。做一次教学对话后运行:
hermes memory consolidate预期输出「已提炼 N 条记忆」。然后hermes memory list能看到新增条目。这一步是让 Hermes 越用越准的关键,很多人跳过它,结果每次都要重复说明偏好。
5. 本篇常见错排查
报错一:hermes doctor显示 API Key invalid。九成是环境变量没加载。先echo $TAOTOKEN_API_KEY确认有值,再检查 Hermes 是否在读取该变量。如果你用的是 systemd 启动,环境变量要写进 service 文件,不是.bashrc。
报错二:MCP server failed to connect。先看 YAML 缩进,用两个空格。再看 URL 是否写成了带 UTM 的地址,配置里应该用 https://taotoken.net/api 这个干净端点。最后hermes mcp logs filesystem看具体错误。
报错三:Skill 装了但斜杠命令不触发。用hermes skills list确认 Skill 状态是 enabled。如果装了但没启用,hermes skills enable 技能名。另外确认命令拼写,社区 Skill 的命令名和包名不一定一样。
报错四:memory consolidate报 no new memory。说明这次对话没有产生可提炼的内容,通常是对话太短或没有纠正行为。做一次完整的教学对话,明确告诉 Hermes「以后按这个格式来」,再运行命令。
报错五:换电脑后记忆丢失。Hermes 的 Skills 和记忆不跨设备同步。手动打包~/.hermes/skills/和~/.hermes/memory/复制过去。建议配一个定时备份:
hermes cron create "0 18 * * 5" \ "把本周新增的记忆摘要整理成文字,备份到 ~/work/hermes-backup/"报错六:定时任务不触发。检查 cron 表达式时区,Hermes 默认用系统时区。用hermes cron list看任务状态,hermes cron logs 任务名看执行记录。如果 Gateway 没跑,定时任务无法主动发消息。
6. 接下来怎么走:按场景分流
调教 Hermes 是个持续过程,不是一次配置就完事。每次输出不满意,就回 SOUL.md 补一条,这比装新 Skill 有用得多。如果你主要卡在接入和排错,建议先把 API Keys 管理好,去 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 建一个专用 Key,再对照接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 把参数核对一遍,很多报错其实是端点或模型名写错。
如果你更想先验证模型效果再决定怎么配,直接去模型对话页面 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite 发几条真实任务,看哪个模型对你的场景响应最好,再回 Hermes 里固定下来。长期跑编码和 Agent 任务的话,Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 比按量更省心,适合每天都要调用的场景。
最后提醒一句:Skills 不是越多越好,SOUL.md 和记忆才是让 Hermes 从「通用助手」变成「你的助手」的东西。先把 doctor 跑绿,再把 SOUL.md 写实,最后才考虑加 Skill。顺序反了,装 70 个也是白装。