创建自定义技能
什么时候用
平台提供的市场技能无法满足你的业务需求,需要开发定制化技能时--比如对接内部 CRM 系统、调用私有 API、执行特定业务逻辑等。
技能需要绑定到智能体才能生效,绑定方式见「创建并配置智能体」第 3 步。
你需要准备
- 已在「MCP 网关」中注册并同步了需要关联的 MCP 工具(详见「注册上游 MCP Server」)。
- 明确技能的功能定位和调用场景,以便编写清晰的 SKILL.md 描述。
操作步骤
第 1 步:进入技能中心
左侧菜单 -> 技能中心。
页面默认显示「我的技能」Tab,点击右上角「开发新技能」按钮,弹出创建表单。
第 2 步:填写技能信息
在「开发新技能」表单中填写以下字段:
| 字段 | 怎么填 | 说明 |
|---|---|---|
| 显示名称 | 必填,如「CRM 客户查询」 | 控制台展示用,同一空间内可重复 |
| 技能标识(需唯一) | 必填,如 crm_customer_lookup | 只能包含大小写字母、数字、中划线和下划线;同唯一;创建后不可修改 |
| 技能描述 | 一句话说明功能和调用场景 | 可选,帮助理解技能用途 |
| 关联 MCP 工具 | 多选要绑定的工具 | 可选,技能通过这些工具与外部系统交互 |
| SKILL.md 内容 | Markdown 格式的技能说明 | LLM 调用时将自动注入为系统提示词,需清晰说明技能的使用场景、参数、输出格式等 |
写 SKILL.md 的建议:
- 明确技能的功能定位和适用场景
- 说明何时应该调用该技能,何时不应该调用
- 描述调用后的输出格式和预期行为
- 提供使用示例(如果有)
第 3 步:保存技能
填完表单后点击「确定」保存。成功后新技能出现在「我的技能」列表中。
第 4 步:编辑和管理技能
在「我的技能」列表中,点击技能右侧的「编辑」按钮可修改技能信息(技能标识不可修改);点击「删除」按钮可删除技能(删除前建议检查关联智能体)。
第 5 步:将技能绑定到智能体
技能创建完成后,需要绑定到智能体才能在对话中使用。绑定方式见「创建并配置智能体」第 3 步。
怎么验证成功了
- 在「我的技能」列表中能看到刚创建的技能
- 点击「编辑」能查看和修改技能的完整配置
- 在创建或编辑智能体的「选择技能」下拉中能搜索并选中该技能
- 给智能体分配用户并创建 API Key,用 OpenAI SDK 调用,能观察到技能被 LLM 正确调用
- 确认可编辑 Local 类型技能的可执行代码
常见问题
技能标识重复了怎么办
技能标识同唯一。如果提示重复,换一个标识即可,或检查是否已有同名技能。
删除技能后智能体还能用吗
删除技能会自动解除与所有智能体的绑定,智能体将无法再调用该技能。删除前建议检查「关联智能体」列,确认影响范围。
技能可以绑定多个 MCP 工具吗
可以。一个技能可以绑定多个 MCP 工具,LLM 会根据 SKILL.md 中的描述和对话上下文自主决定调用哪个工具。
深入
核心概念
技能字段
一个技能通常包含:
- name:内部标识,也是目录名语义
- display_name:展示名称
- description:描述
- is_public:是否通用技能
- status:状态
- skill_md:SKILL.md 内容,存数据库
- mcp_tool_ids:请求中传入的 Tool ID 数组
- mcp_tools:响应中的 Tool 列表
- agents:关联 Agent 列表
name 命名规则
name 只能包含:
- 英文字母
- 数字
- 下划线 _
- 横杠 -
空格、点号、斜杠、中文字符都会被拒绝。
MCP Tool 绑定
技能与 MCP Tool 是多对多关系。
绑定规则:
- 技能必须属于当前租户
- MCP Tool 必须属于当前租户
- 重复绑定会跳过
- 解绑只删除关系,不删除 Tool
Local 技能与可执行代码
受控可执行文件集合为 {main.py}。SaaS 模式下普通租户 admin 不可编辑 main.py / Local 技能;Private 模式下租户 admin 可编辑;平台管理员始终有权限。
权限边界
| 操作 | 租户 admin | 平台管理员 |
|---|---|---|
| 创建本租户技能 | 可以 | 可以 |
| 修改本租户技能 | 可以 | 可以 |
| 删除本租户技能 | 可以 | 可以 |
| 绑定本租户 Tool | 可以 | 可以 |
| 编辑 main.py / Local 技能 | 取决于部署模式 | 取决于部署模式 |
常见坑
- name 包含空格、点号、斜杠会被拒绝
- 同租户 name 重复返回错误
- 绑定其它租户 Tool 不会获得跨租户能力
- 可执行代码权限按部署模式控制
排错速查
| 症状 | 可能原因 |
|---|---|
| 创建返回错误 | name 不合法 |
| 创建返回错误 | 同租户重名 |
| 更新返回错误 | 非本租户技能 |
| 工具绑定没生效 | Tool 跨租户或无效 |
| 不能编辑 main.py | SaaS 权限限制 |