鸿蒙 CodeGenie:技能(Skills)配置
日常工作中,我们经常需要处理重复性任务,如调整文档结构、撰写周报告等,每次都需要输入格式要求、偏好、操作流程,耗时且容易遗漏关键细节。CodeGenie的Skills功能解决了这个问题——一次定义,长期稳定复用。
一、Skills
Skills是一份标准化的教程,会指导CodeGenie面对任务时如何思考、遵循什么步骤、输出什么格式、注意事项是什么。只需要定义一次,CodeGenie便能在后续的每次对话中自动识别并应用。
Skill的本质
Skills实际是一个包含SKILL.md文件(区分大小写)的文件夹,在SKILL.md文件中以自然语言描述技能的名称、触发条件和执行步骤,可以快速定义自动化工作流。
编写规范
SKILL.md文件写作时,严格遵循业界YAML Frontmatter(元数据)+ Markdown Body(正文)的统一规范:
| 部分 | 说明 |
|---|---|
| YAML Frontmatter | 技能元数据(name、description等) |
| Markdown Body | 技能的具体指令和步骤 |
Skills类型
从DevEco Studio 6.1.0 Release(6.1.0.830)版本开始,CodeGenie支持两种Skills:
| 类型 | 说明 |
|---|---|
| Global Skills(全局技能) | 支持当前用户在本地所有项目中使用,不可跨设备同步 |
| Project Skills(项目技能) | 仅适用于当前项目 |
使用约束
| 约束项 | 限制 |
|---|---|
| 支持智能体 | 自定义Agent和HarmonyOS Act智能体 |
| name | ≤64字符,小写字母、数字、中划线组成,不能以-开头或结尾,不能包含连续的-,与文件夹命名一致 |
| description | ≤1024字符 |
| 正文指令 | ≤32768字符 |
| 文件夹大小 | ≤100MB |
二、操作步骤
2.1 进入配置页面
点击界面右上方设置按钮,选择Skills,进入配置页面。
2.2 导入Skills
在Global Skills或Project Skills下:
首次导入:点击Import导入技能文件
已存在技能文件:点击导入按钮进行导入
2.3 导入规则
| 情况 | 行为 |
|---|---|
| 选择的文件夹中存在SKILL.md | 作为单个skill导入 |
| 选择的文件夹中不存在SKILL.md | 遍历下一级文件夹,检查是否包含SKILL.md,找到的SKILL.md作为skill导入(支持批量导入) |
注意:仅支持遍历所选择文件夹的下一级,不支持更深层级的遍历。
2.4 管理Skills
在Global Skills和Project Skills列表中,显示已导入的技能信息:
| 显示信息 | 说明 |
|---|---|
| 技能名称 | 如openharmony-build |
| 描述信息 | SKILL.md中的description |
| 启用状态 | 技能是否启用 |
操作按钮(鼠标悬浮在技能信息上):
| 操作 | 说明 |
|---|---|
| 编辑 | 在代码编辑区打开SKILL.md文件 |
| 删除 | 移除该技能 |
三、调用Skills
返回CodeGenie对话框调用Skills时,在对话框输入时需要带有技能的name(如openharmony-build)。
SKILL.md结构示例
--- name: openharmony-build description: 鸿蒙应用构建指南 --- ## 触发条件 当用户提到"构建"、"编译"、"打包"时触发 ## 执行步骤 1. 检查工程结构 2. 执行编译命令 3. 输出构建结果 ## 注意事项 - 确保环境变量已配置 - 检查签名配置鸿蒙CodeGenie Skills通过包含SKILL.md的文件夹定义自动化工作流,遵循YAML Frontmatter+Markdown Body规范,支持Global Skills(全局,当前用户所有项目)和Project Skills(仅当前项目),导入时自动识别SKILL.md文件,调用时需输入技能name。
