菜鸟AI - 让提示词生成更简单! 全站导航 全站导航
AI工具安装 新手教程 进阶教程 辅助资源 AI提示词 热点资讯 技术资讯 产业资讯 内容生成 模型技术 AI信息库

已有账号?

首页 > 资讯 > Hermes Agent自定义技能开发从入门到精通全流程教程
其他资讯 Agent自定义

Hermes Agent自定义技能开发从入门到精通全流程教程

2026-06-08
阅读 0
热度 0
作者 菜鸟AI编辑部
摘要

摘要

想让你的 Hermes Agent 真正具备行动力,从单纯的问答机器人进化为每日自动执行任务的数字

想让你的 Hermes Agent 真正具备行动力,从单纯的问答机器人进化为每日自动执行任务的数字助手——例如定时备份项目文件、从飞书群提取日报并生成周报、调用内部 API 将测试用例同步到禅道。你需要亲手编写一个自定义技能:支持自然语言触发、带参数校验、并能写入记忆。下面分步骤拆解实现过程。

核心原理:Hermes Agent 通过 skills/ 目录下的子目录来识别并加载技能。你需要先搭建目录结构,然后编写主逻辑和元数据配置,最后修改 config.yaml 中的 skills_dir 路径,重启后新技能立即生效。

创建技能目录与基础文件结构

第一步,进入 Hermes Agent 项目根目录,检查是否存在 skills/ 目录。如果没有,手动执行 mkdir -p skills 创建。

然后在 skills/ 下新建一个以功能命名的子目录,例如 daily_report_generator。注意,【目录名严禁包含空格或中文】,因为它将作为技能的唯一标识符。

在该子目录中,创建两个必需文件:__init__.py(保留为空即可)和 main.py(主逻辑的入口文件)。

编写可执行的技能主逻辑(main.py)

打开 skills/daily_report_generator/main.py,按照以下模板编写:

第一行必须是文档字符串,用三重双引号包裹,清晰说明技能用途、所需参数和返回值。例如:"""生成飞书日报汇总为 Markdown 周报。参数:days_back (int, 默认7) —— 回溯天数;output_path (str, 可选) —— 输出路径。返回:生成的文件路径。"""

接下来,定义主函数 execute,该函数必须接受一个 kwargs 字典参数,并返回任意 JSON-serializable 类型(如字符串、字典、列表)。不要添加类型注解,Hermes 运行时会自动注入参数值。

函数体内可以调用 Python 标准库或已安装的第三方包(例如 requestsmarkdown),但有一个硬性约束:【禁止编写可能阻塞主线程的无限循环,也不允许发起没有设置超时的网络请求】,否则会导致整个 Agent 挂起。

声明技能元数据(skill.yaml)

skills/daily_report_generator/ 目录中新建 skill.yaml 文件。这个文件相当于技能的身份证,字段必须完整,缩进严格采用 2空格

参考示例如下:

name: daily_report_generator
description: 从飞书群自动抓取日报并生成周报 Markdown 文件
tags: [report, feishu, automation]
parameters:
  days_back:
    type: integer
    default: 7
    description: 回溯天数,用于拉取历史日报
  output_path:
    type: string
    required: false
    description: 指定输出文件路径,留空则使用默认路径

其中 name 必须与目录名完全一致;parameters 中每个参数的 type 仅支持 stringintegerbooleannumber【required 缺省时默认为 false】

启用并验证新技能

完成上述步骤后,还需要几步才能让 Hermes 识别新技能。

首先,停止当前运行的 Hermes Agent(使用 Ctrl+C 或 pkill -f hermes)。

然后,在项目根目录执行 hermes skill list——你可能会发现新技能没有出现。这是因为 Hermes 默认只加载 skills/ 下一级目录中的技能,而你的技能位于二级子目录中。

解决方法:编辑项目根目录的 config.yaml,找到 skills_dir 配置项,将其值改为 "./skills/**"(注意末尾两个星号),保存退出。

接下来重启 Hermes:直接输入 hermes。进入交互模式后,输入 /skill list,确认 daily_report_generator 已出现在列表中。

最后,用自然语言进行测试:请用 daily_report_generator 抓取过去5天的飞书日报,输出到 ./weekly-report.md。Hermes 会自动解析参数并调用你编写的 execute 函数。完成。

来源:互联网

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

同类文章推荐

相关文章推荐

更多