技能系统概览
技能(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-dify | Dify 知识库检索 |
search-idata | iData 知识库检索 |
search-datamate | DataMate 知识库检索(支持相似度阈值控制) |
公网搜索类
| 技能名称 | 能力说明 |
|---|---|
search-web-tavily | Tavily 公网实时搜索 |
search-web-linkup | Linkup 图文混合搜索 |
search-web-exa | Exa 深度网页搜索 |
多模态分析类
| 技能名称 | 能力说明 |
|---|---|
analyze-image | 基于 VLM 的图片内容分析问答 |
analyze-text-file | PDF/Word/Excel 等文件内容提取与问答 |
通信与远程操作类
| 技能名称 | 能力说明 |
|---|---|
email-utils | IMAP 收件 / SMTP 发件(支持 HTML / CC / BCC) |
run-shell-ssh | 持久化 SSH 会话远程执行命令 |
技能生命周期
版本管理
每个技能支持两个版本状态:
- 草稿版本(version=0):开发调试阶段,修改即时生效,适合反复调整
- 已发布版本(version>=1):正式使用,参数锁定,防止误改
技能实例
同一个技能可以为不同的智能体配置不同的参数值,互不影响。
例如,搜索技能可以为"技术文档 Agent"配置只搜索技术知识库,为"客服 Agent"配置只搜索客服知识库。
常见操作流程
创建技能 → 配置参数 → 为智能体选择技能 → 调试 → 发布
↓
修改草稿版本安全说明
- 路径隔离:技能包内文件仅能在技能目录范围内访问
- 参数校验:schema.yaml 中定义的参数均经过前端表单校验
- 权限控制:技能实例按租户隔离,API 需携带认证 Token
