news 2026/9/26 11:02:37

替你筛完70个Skills!手把手教你调教Hermes Agent!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
替你筛完70个Skills!手把手教你调教Hermes Agent!

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 个也是白装。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 10:59:09

用 ESP32 给 Claude Code CLI 做个电子宠物:程序员的实体监工代码搭子

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华