Skip to content

技能系统概览

技能(Skill)是 Nexent 为智能体扩展能力的方式。每个技能由以下部分组成:

  • 技能描述:这个技能是做什么的、什么时候该用它
  • 工具组合:一个或多个 nexent sdk方法或用户自定义工具的打包
  • 参数模板:用户可为技能填写哪些参数
  • 使用示例:这个技能通常怎么用

与直接选择一个一个工具相比,技能让复杂能力的配置变得简单——只需安装一个技能包,无需分别配置每个工具。

技能包结构

技能包可以是单个 SKILL.md 文件,也可以是包含多个文件的 ZIP 包:

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

SKILL.md 的结构

每个技能必须有一个 SKILL.md 文件,分为两部分:

第一部分:YAML 元数据(必须)

yaml
---
name: skill-name
description: |
  一段描述,说明这个技能是做什么的、什么时候该用它。
  建议用第三人称书写,如:"这个技能用于..."
tags:
  - tag1
  - tag2
---

第二部分:技能正文

元数据下方可以继续写 Markdown 内容,包括:

  • 技能的详细说明与使用指南
  • 工具调用方式的示例代码
  • 错误处理说明
  • 使用限制与注意事项

两种技能类型

根据用途,技能分为两类:

工具类技能:用于暴露一个或多个 Nexent sdk方法的能力,包含工具的参数说明、调用示例、返回格式、错误处理等。用户配置好参数后,智能体即可调用这些工具。

智能体类技能:用于教智能体如何执行一个复杂任务,包含工作流程说明、领域知识、最佳实践,有时附带辅助脚本。这类技能的正文会包含详细的步骤指引。

官方技能一览

文件操作类

技能名称能力说明
read-file读取工作空间内文件内容与元信息
create-file-directory创建文件或目录
delete-file-directory删除文件或目录
move-file-directory移动或重命名文件/目录
list-directory树形列出目录结构

知识库搜索类

技能名称能力说明
search-knowledge-base本地知识库语义检索(支持 hybrid / accurate / semantic 模式)
search-difyDify 知识库检索
search-idataiData 知识库检索
search-datamateDataMate 知识库检索(支持相似度阈值控制)

公网搜索类

技能名称能力说明
search-web-tavilyTavily 公网实时搜索
search-web-linkupLinkup 图文混合搜索
search-web-exaExa 深度网页搜索

多模态分析类

技能名称能力说明
analyze-image基于 VLM 的图片内容分析问答
analyze-text-filePDF/Word/Excel 等文件内容提取与问答

通信与远程操作类

技能名称能力说明
email-utilsIMAP 收件 / SMTP 发件(支持 HTML / CC / BCC)
run-shell-ssh持久化 SSH 会话远程执行命令

技能生命周期

版本管理

每个技能支持两个版本状态:

  • 草稿版本(version=0):开发调试阶段,修改即时生效,适合反复调整
  • 已发布版本(version>=1):正式使用,参数锁定,防止误改

技能实例

同一个技能可以为不同的智能体配置不同的参数值,互不影响。

例如,搜索技能可以为"技术文档 Agent"配置只搜索技术知识库,为"客服 Agent"配置只搜索客服知识库。

常见操作流程

创建技能 → 配置参数 → 为智能体选择技能 → 调试 → 发布

            修改草稿版本

安全说明

  • 路径隔离:技能包内文件仅能在技能目录范围内访问
  • 参数校验:schema.yaml 中定义的参数均经过前端表单校验
  • 权限控制:技能实例按租户隔离,API 需携带认证 Token

相关参考