Skip to content

Skill 技能接入

Skill(技能)是 Nexent 平台为智能体扩展能力的核心机制。Nexent 支持接入外部开发的技能包,将第三方能力快速整合到智能体中。

📋 接入方式概览

Nexent 支持多种 Skill 接入方式:

接入方式适用场景文件要求
上传 SKILL.md单文件技能,简单场景.md 文件,包含 YAML Front Matter
上传 ZIP 包多文件技能,包含脚本和资源ZIP 包内含 SKILL.md

📦 上传 Skill 文件

单文件 Skill(.md)

适用于不包含脚本和额外资源的简单技能。

文件要求

  • 文件名:SKILL.md(或任意文件名)
  • 编码:UTF-8
  • 包含 YAML Front Matter,必须字段:namedescription

SKILL.md 基本结构

markdown
---
name: csv-analyzer
description: |
  分析 CSV 文件并生成数据质量报告。适用于用户上传 CSV 文件后的数据检查场景。
tags:
  - data-analysis
  - csv
---

# CSV 数据质量报告

## 功能说明

此技能用于分析 CSV 文件的数据质量,包括:
- 缺失值统计
- 重复数据检测
- 字段类型分析

## 使用示例

当用户提供 CSV 文件时,自动执行数据质量检查。

多文件 Skill(.zip)

适用于包含脚本、资源文件等辅助内容的复杂技能。

文件结构

skill-name.zip
├── SKILL.md              # 必需:技能定义文件
├── config/
│   ├── config.yaml       # 可选:参数默认值
│   └── schema.yaml       # 可选:参数类型定义
├── scripts/
│   └── analyze.py        # 可选:Python 脚本
├── examples.md           # 可选:使用示例
└── assets/               # 可选:静态资源

操作步骤

  1. 进入 Skill 仓库我的 Skill 页面
  2. 点击「创建 Skill」
  3. 选择「上传技能文件」
  4. 拖拽或选择 .md / .zip 文件
  5. 系统自动解析并展示技能信息
  6. 检查解析结果,确认无误后点击「创建」

注意事项

  • SKILL.md 必须包含有效的 YAML Front Matter
  • name 字段不能与已有技能重名
  • ZIP 包内的 SKILL.md 可以在根目录或子目录中
  • 导入不会覆盖同名技能

📖 SKILL.md 格式详解

通过上述接入方式导入技能后,都会以 SKILL.md 格式存储。了解其格式有助于评估和管理接入的技能。

YAML Front Matter

yaml
---
name: skill-name                    # 必需:技能名称(全英文、小写、连字符分隔)
description: |                     # 必需:功能描述(建议 1-3 句话)
  一段描述,说明这个技能是做什么的、什么时候该用它。
  建议用第三人称书写。
tags:                              # 可选:标签列表
  - tag1
  - tag2
---

参数定义(schema.yaml)

如果技能需要用户填写参数,创建 config/schema.yaml

yaml
query:
  type: string
  required: true
  description: "Search query string"
  description_zh: "搜索关键词"
  default: ""

top_k:
  type: number
  required: false
  description: "Number of results to return"
  description_zh: "返回结果数量"
  default: 3

支持的类型:stringnumberbooleanarrayobject

参数默认值(config.yaml)

yaml
# 初始工作路径
init_path: "/mnt/nexent"

# 最大返回数量
top_k: 5

特殊标签

<reference>:按需加载文件

markdown
<reference path="examples.md" />

<use_script>:声明捆绑脚本

markdown
<use_script path="scripts/analyze.py" />

<code>:展示代码示例

markdown
<code>
result = run_skill_script(
    "csv-analyzer",
    "scripts/analyze.py",
    {"--file": "/path/to/data.csv"}
)
</code>

辅助函数

在技能中可使用以下函数:

  • run_skill_script(skill_name, script_path, params):执行技能包中的脚本
  • read_skill_md(skill_name, files):读取技能包中的文件

🤖 在智能体中使用 Skill

分配 Skill 到智能体

  1. 进入 智能体开发 页面
  2. 在「选择智能体的工具」中切换到 Skills 页签
  3. 点击「选择 Skill」
  4. 找到目标技能并选中
  5. 如有必填参数,配置参数后保存

技能与工具的区别

维度工具技能
粒度单个原子操作多个工具 + 配置 + 文档的组合
Token 消耗每次对话都占用上下文仅在激活时才加载
参数固定参数 schema可自定义参数模板
分发代码级ZIP 包分发,即插即用

❓ 常见问题

Q: 上传 ZIP 包时报错「缺少 SKILL.md」

确保 ZIP 包根目录下包含 SKILL.md 文件,而非将其放在子文件夹中。

Q: 技能描述不生效

技能描述应写在 YAML Front Matter 的 description 字段中,而非正文的 Markdown 部分。

🔗 相关资源