Hermes Agent 的自定义技能开发之 CSDN 文章发布

 

前言

 

Hermes Agent 是一款强大的开源终端 AI 智能体,支持通过 自定义 Skill 扩展能力。每个 Skill 就像给 AI 配备的一个"工具包"——告诉 AI 如何完成特定任务,并提供详细的步骤和注意事项。

 

本文以 CSDN 文章发布 这个 Skill 为例,完整展示自定义 Skill 的开发全过程。你将看到:

 

  • 如何通过自然语言对话让 AI 理解你的需求
  • AI 如何将对话过程自动封装为 Skill 文件
  • 如何对 Skill 进行迭代优化(默认参数、异常处理、返回格式)
  • 最终的 Skill 文件和调用效果

 

适合想要深入使用 Hermes Agent、自定义工作流的开发者阅读。

 


 

一、什么是 Hermes Agent Skill?

 

在 Hermes Agent 中,Skill 是一份 Markdown 格式的指令文档,存储在 ~/.hermes/skills/ 目录下。当 AI 收到与某个 Skill 匹配的请求时,会自动加载该 Skill 并按其中的步骤执行。

 

Skill 的核心作用:

 

  • 固化经验:把一次成功操作的所有步骤、踩过的坑、注意事项记录下来
  • 标准化流程:每次执行同样的任务,结果一致可靠
  • 简化调用:默认参数让你不必每次都重复指定
  • 异常处理:预判常见问题并自动处理

 

Skill 的存放路径:

 

~/.hermes/skills/
├── custom/          # 用户自定义 Skill(我们的目标目录)
│   └── csdn_publish/SKILL.md
├── social-media/    # 官方 Skill
└── ...

 


 

二、开发全过程实录

 

2.1 第一步:对话驱动 Skill 生成

 

整个过程始于一次真实的 CSDN 文章发布操作。我通过浏览器 Cookie 登录 CSDN,完成了文章标题填写、内容注入、标签添加和发布。操作成功后,我告诉 AI:

 

**"帮我把这个发布 CSDN 文章的流程,自动封装成一个自定义 Skill。"**

 

AI 的回应:

 

  • 读取了已有的 csdn-publish 官方 Skill 作为参考
  • 将刚刚的操作步骤、注意事项、踩过的坑全部整理成结构化的 SKILL.md 文件
  • 保存到 ~/.hermes/skills/custom/csdn-publish/SKILL.md
  • Hermes 自动识别新技能,无需手动 reload

 

这是第一次迭代生成的 Skill,包含了基本的发布流程。

 

2.2 第二步:迭代优化

 

有了基础 Skill 后,我提出了更多优化需求:

 

**需求清单:**

 

  1. 重命名csdn-publishcsdn_publish(下划线命名更 Pythonic)
  2. 默认参数:默认标签 ["AI", "Hermes", "技术分享"],默认分类 "人工智能",默认直接发布
  3. 固定返回格式:发布成功后,显示标题、链接、状态、标签,一目了然
  4. 异常处理

- CSDN 403 错误时自动重试一次

- 发布按钮无响应时自动切换编辑器模式

- Cookie 过期时提示重新登录

 

AI 执行了以下操作:

 

# 1. 删除旧技能
hermes skills delete csdn-publish

# 2. 创建新技能(含完整优化内容)
hermes skills create --name csdn_publish --category custom

 

优化后的 Skill 文件内容见下一节。

 


 

三、生成的 Skill 文件

 

以下是最终生成的 csdn_publish Skill 完整内容:

 

3.1 YAML 元信息

 

---
name: csdn_publish
description: 使用 Cookie 登录 CSDN 并发布博客文章。
  支持设置标题、内容、标签、分类,
  可选择直接发布或保存草稿。
  默认标签为 ["AI", "Hermes", "技术分享"],
  默认分类为"人工智能",默认直接发布。
tags: [csdn, blog, publishing, social-media, cookie-auth, custom]
defaults:
  tags: ["AI", "Hermes", "技术分享"]
  category: "人工智能"
  publish_mode: "publish"
---

 

3.2 默认参数

 

| 参数 | 默认值 | 说明 |

|------|--------|------|

| tags | ["AI", "Hermes", "技术分享"] | 文章标签列表 |

| category | "人工智能" | 文章分类 |

| publish_mode | "publish" | 发布模式 |

 

用户可在调用时覆盖任意默认参数。

 

3.3 固定返回格式

 

📝 发布结果
━━━━━━━━━━━━━━━━━━━━━━━━━
📌 标题:  Hermes Agent 接入飞书机器人完整教程
🔗 链接:  https://blog.csdn.net/element_wen/article/details/文章ID
✅ 状态:  发布成功(审核中)
🏷️ 标签:  AI, Hermes, 技术分享
━━━━━━━━━━━━━━━━━━━━━━━━━

 

3.4 异常处理策略

 

| 异常场景 | 处理策略 |

|----------|----------|

| CSDN 403 错误 | 自动重试一次,导航到管理页面验证 |

| 发布按钮无响应 | 自动切换编辑器模式后重试 |

| Cookie 过期 | 提示用户"Cookie 已过期,请重新导出" |

| 内容注入失败 | 切换编辑器模式后重试注入 |

| 标签弹窗不出现 | 跳过标签设置,继续发布 |

| 标题输入不生效 | 使用 JS 方式设置标题值 |

| 首页 403 | 使用管理页面验证 |

 

4 调用示例

 

4.1 基础调用

 

用户提供 Cookie 和文章路径即可。

 

请使用 csdn_publish 技能
Cookie 是:[JSON 数组格式的 Cookie]
文章路径:/home/dell/my_article.md
标题:深入理解 Hermes Agent 的 Skill 系统

 


 

五、Skill 文件存放位置

 

/home/dell/.hermes/skills/custom/csdn_publish/SKILL.md

 

Hermes Agent 会自动扫描 ~/.hermes/skills/ 下的所有 SKILL.md 文件,无需手动注册或 reload。

 


 

六、自定义 Skill 开发经验总结

 

6.1 Skill 的最佳实践

 

  1. 先做再说:先通过对话完成一次完整操作,让 AI 记录所有步骤
  2. 迭代优化:基础版本生成后,逐步添加默认参数、异常处理、返回格式
  3. 详细记录坑点:每次操作中遇到的错误和解决方案都写进 Skill
  4. 结构化文档:使用 YAML 元信息 + 清晰的 Markdown 层级
  5. 默认参数为王:高频使用的参数设默认值,减少调用时的输入

 

6.2 什么样的操作适合封装为 Skill

 

  • 多步骤操作(5 步以上)
  • 容易踩坑的操作(需要避坑指南)
  • 重复性工作(每周/每月都要做的)
  • 参数固定的操作(适合设默认参数)

 


 

七、总结

 

通过这个案例,我们完整走通了 Hermes Agent 自定义 Skill 开发的完整流程:

 

  1. 对话驱动:告诉 AI 你的需求,它帮你封装
  2. 迭代优化:逐步添加默认参数、异常处理、返回格式
  3. 即刻生效:文件保存后自动生效,无需重启或 reload
  4. 可复用:以后每次发 CSDN 文章,只需说一句帮我发篇文章即可

 

这就是 Skill 即代码 的理念——将 AI 的经验和能力固化为可复用的模块,让每次操作都站在前一次的肩膀上。

 


 

本文由 Hermes Agent 自动生成并发布到 CSDN。

 

本文也作为 csdn_publish 自定义 Skill 的一次自我验证——用自己创建的 Skill 发布一篇关于创建这个 Skill 本身的文章。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐