Spring AI Alibaba 1.x 系列【28】Nacos Skill 管理中心功能说明

文章目录

  • [1. 概述](#1. 概述)
  • [2. Nacos 中的 Skill](#2. Nacos 中的 Skill)
    • [2.1 Skill 的定义与结构](#2.1 Skill 的定义与结构)
    • [2.2 Skill Registry 的核心价值](#2.2 Skill Registry 的核心价值)
  • [3. Skill 管理](#3. Skill 管理)
    • [3.1 生命周期](#3.1 生命周期)
      • [3.1.1 创建](#3.1.1 创建)
      • [3.1.2 草稿(Draft)](#3.1.2 草稿(Draft))
      • [3.1.3 提交审核(Submit)](#3.1.3 提交审核(Submit))
      • [3.1.4 发布流水线(Pipeline)](#3.1.4 发布流水线(Pipeline))
      • [3.1.5 发布(Publish)](#3.1.5 发布(Publish))
      • [3.1.6 上下线](#3.1.6 上下线)
    • [3.2 版本与标签](#3.2 版本与标签)
    • [3.3 可见性](#3.3 可见性)
    • [3.4 业务标签](#3.4 业务标签)
  • [4. 管理控制台](#4. 管理控制台)
    • [4.1 Skill 列表页](#4.1 Skill 列表页)
    • [4.2 Skill 详情页](#4.2 Skill 详情页)
      • [4.2.1 版本管理](#4.2.1 版本管理)
      • [4.2.2 上下线管理](#4.2.2 上下线管理)
      • [4.2.3 可见性管理](#4.2.3 可见性管理)
      • [4.2.4 标签管理](#4.2.4 标签管理)
    • [4.3 Skill 创建与上传](#4.3 Skill 创建与上传)
    • [4.4 Skill 优化](#4.4 Skill 优化)
  • [5. CLI / API / SDK 参考](#5. CLI / API / SDK 参考)
    • [5.1 nacos-cli](#5.1 nacos-cli)
    • [5.2 REST API](#5.2 REST API)
    • [5.3 Java SDK](#5.3 Java SDK)

1. 概述

提示 :本章内容整理自 Nacos 官方网站

Skill RegistryNacos 提供的 Skill 管理中心,作为团队和组织的私有 Skill 仓库。它将 Skill 的存储、版本管理、安全审核和分发集中在一个平台上,让团队成员可以方便地发现、安装和共享 Skill

Nacos3.2.0 版本开始,提供了 Skill 管理中心(Skill Registry),支持 Skill 的创建、版本管理、安全审核、发布和分发等功能。

2. Nacos 中的 Skill

2.1 Skill 的定义与结构

Skills 通常指 Agent Skills,旨在将通用大语言模型转化为具有特定领域专业知识、可复用工作流的"专家型Agent"。

SkillAI Agent 的可复用能力单元。每个 Skill 定义了一组指令(Instruction),告诉 Agent 在什么场景下、按照什么步骤来完成特定任务。一个 Skill 包含:

  • SKILL.md:核心文件,包含 YAML frontmatter(名称、描述等元数据)和 Markdown 正文(详细指令)。Agent 加载 Skill 时,完整的 SKILL.md 内容会被注入执行上下文。
  • 资源文件(Resource):可选的附属文件,如模板、数据、脚本等,按类型组织在子目录中。

示例:

复制代码
skill-sample/
├── SKILL.md          # Required: instructions + metadata
├── scripts/          # Optional: executable code
├── references/       # Optional: documentation
└── assets/           # Optional: templates, resources

2.2 Skill Registry 的核心价值

  • 团队共享:将团队积累的最佳实践沉淀为 Skill,一次创建,团队共用
  • 版本管控:完整的版本生命周期管理,支持草稿、审核、发布、上下线
  • 安全保障:内置发布流水线(Pipeline),集成安全扫描,防止 Prompt 注入、数据泄露等风险
  • 灵活分发:通过 CLIAPISDK 多种方式进行 Skill 的发现与安装
  • 可见性控制:支持 PUBLIC / PRIVATE 两种可见性,按需控制 Skill 的访问范围

3. Skill 管理

3.1 生命周期

每个 Skill 版本有以下四种状态,构成完整的生命周期流转:

复制代码
draft ──> reviewing ──> online ──> offline
  ^           │                       │
  └───────────┘                       │
  (Pipeline 拒绝时回退)                 │
                                      └──> online (可重新上线)
状态 说明
draft 草稿,可自由编辑内容
reviewing 已提交审核,Pipeline 执行中
online 已发布上线,对外可用
offline 已下线,不再对外提供

约束:

  • 同一个 Skill 同时只能有一个 draftreviewing 状态的版本。
  • 版本一旦发布(online)后内容不可修改,如需变更请基于该版本新建草稿,修改后重新提交审核并发布。

Skill 从创建到使用,经历以下完整流程:

3.1.1 创建

支持三种创建方式:

方式 说明
手动创建 在控制台填写名称、描述和 SKILL.md 内容,创建一个 draft 版本
ZIP 上传 上传包含 SKILL.mdZIP 包,系统自动解析并创建 Skill
AI 生成 提供背景描述,由 Copilot 自动生成完整的 Skill 内容

3.1.2 草稿(Draft)

  • 新建草稿:创建全新的 Skill 或为已有 Skill 创建新版本的草稿
  • Fork 草稿:基于已发布的版本创建草稿,自动继承内容,版本号递增
  • 编辑草稿:修改 SKILL.md 内容、描述和资源文件
  • 删除草稿:放弃当前草稿,释放工作位

同一 Skill 同时只允许存在一个 draftreviewing 版本,需等当前工作版本处理完毕后才能创建新草稿。

3.1.3 提交审核(Submit)

draft 版本提交审核。提交后版本状态变为 reviewing

  • Pipeline 配置:触发发布流水线执行安全扫描等检查
  • Pipeline 配置:直接发布为 online 状态

3.1.4 发布流水线(Pipeline)

Pipeline 是可配置的审核流程,在 Skill 发布前进行自动化检查。Pipeline 默认关闭,关闭时提交审核会直接发布为 online 状态。

Pipeline 采用插件化架构,通过 Java SPI 机制加载检查节点。内置提供 skill-scanner 插件(基于 Cisco AI Defense skill-scanner),用户也可以实现 PublishPipelineServiceBuilder 接口开发自定义插件,并通过 SPI 注册到 Pipeline 中。多个插件按 getPreferOrder() 排序串行执行,前一个通过后才执行下一个。

开启 Pipeline 需要在 application.properties 中配置:

yml 复制代码
# 启用 Pipeline 并指定检查节点
nacos.plugin.ai-pipeline.enabled=true
nacos.plugin.ai-pipeline.type=skill-scanner

# 检查节点配置(以 skill-scanner 为例)
nacos.plugin.ai-pipeline.skill-scanner.enabled=true
nacos.plugin.ai-pipeline.skill-scanner.command=/path/to/skill-scanner

skill-scanner 插件检测以下风险:

  • Prompt 注入攻击
  • 数据泄露风险
  • 恶意代码模式

Pipeline 执行结果:

结果 处理
APPROVED 版本保持 reviewing 状态,等待手动点击发布
REJECTED 版本回退为 draft,可修改后重新提交

3.1.5 发布(Publish)

  • 正常发布:Pipeline 审核通过后,将 reviewing 版本发布为 online,可选择是否更新 latest 标签
  • 强制发布:管理员特权操作,绕过 Pipeline 校验直接发布。当 Pipeline 拒绝发布但实际情况需要紧急上线时,全局管理员可在控制台执行强制发布,该操作会记录审计日志

3.1.6 上下线

支持两个粒度的上下线操作:

粒度 说明
版本级别 对单个版本执行 online / offline 操作
Skill 级别 全局启用 / 禁用整个 Skill,影响所有版本的可发现性

3.2 版本与标签

Skill 使用语义化版本号(SemVer),如 1.0.01.1.2。创建新草稿时,版本号自动递增或可手动指定(需大于基线版本)。

标签(Labels)是 label → version 的映射,用于为版本赋予语义别名:

标签 示例 用途
latest latest → 1.2.0 客户端默认获取的版本
stable stable → 1.1.0 标记经过验证的稳定版本
自定义 canary → 1.3.0 按需自定义的路由标签

客户端查询 Skill 时,可通过标签名获取对应版本,默认使用 latest 标签。

标签管理操作:

  • 发布时可选择自动更新 latest 标签指向新版本
  • 在版本时间线中可手动绑定/解绑自定义标签(如 stablecanary

3.3 可见性

每个 Skillscope 属性控制可见范围:

范围 说明
PUBLIC 命名空间内所有用户可见可下载
PRIVATE Owner(创建者)和被授权用户可见

可见性影响列表查询、详情查看和下载操作。写操作(编辑、发布、删除等)需要 Owner 身份或显式的写权限。在详情页可随时切换 SkillscopePUBLICPRIVATE),切换为 PRIVATE 后,非 Owner 用户将无法在列表中看到该 Skill

3.4 业务标签

业务标签(Biz Tags)用于对 Skill 进行业务分类,如 ["retail", "finance"]

  • 在详情页可添加或移除业务标签
  • 标签以 JSON 数组格式存储
  • 可用于列表页的筛选和分类展示

4. 管理控制台

Nacos 控制台提供了完整的 Skill 管理界面,位于 AI 注册中心 > Skill 管理菜单下。

4.1 Skill 列表页

列表页以卡片形式展示所有 Skill,提供以下功能:

  • 搜索:按 Skill 名称关键字搜索
  • 排序:支持按默认排序或下载量排序
  • 卡片信息:显示名称、描述、业务标签、在线版本数、是否有草稿、下载量、更新时间
  • 批量操作:支持多选后批量删除
  • 快捷入口:上传 ZIP、创建新 Skill

4.2 Skill 详情页

详情页提供 Skill 的完整管理视图,包括基本信息、版本管理、内容编辑、Pipeline 状态、CLI 命令卡片等。

4.2.1 版本管理

详情页右侧以版本时间线展示所有版本,支持版本切换和以下操作:

操作 说明
创建草稿 基于已有版本创建新草稿,同一时刻只允许存在一个 draftreviewing 版本
编辑草稿 在线编辑 SKILL.md 内容、描述信息和资源文件,实时保存
删除草稿 放弃当前草稿,释放工作位
提交审核 draft 提交为 reviewing,提交前需确保描述和 SKILL.md 内容不为空
发布 Pipeline 通过后发布为 online,可选择自动更新 latest 标签
强制发布 仅管理员可见,Pipeline 拒绝时可绕过校验直接发布

4.2.2 上下线管理

  • 版本级别:在版本时间线或操作区对单个版本执行 online / offline
  • Skill 级别:详情页顶部的启用开关控制整个 Skill 的可发现性,禁用后所有版本对客户端不可见

4.2.3 可见性管理

详情页顶部提供可见性开关,支持 PUBLICPRIVATE 切换。切换为 PRIVATE 后,非 Owner 用户将无法发现该 Skill

4.2.4 标签管理

  • 版本标签(Labels):在版本时间线或侧边栏卡片中绑定 / 解绑自定义标签(如 stablecanary),仅 online / offline 版本可操作
  • 业务标签(Biz Tags):在侧边栏卡片中添加或移除业务分类标签,用于列表页的筛选和分类展示

4.3 Skill 创建与上传

提供三种方式新建 Skill

  • 手动创建:通过创建对话框填写 Skill 名称、描述和 SKILL.md 内容
  • AI 生成:输入背景描述,可关联 MCP 工具和对话历史,由 Copilot 流式生成完整 Skill
  • 上传 ZIP:直接上传 Skill ZIP 包,系统自动解析其中的 SKILL.md 和资源文件,创建为新版本

4.4 Skill 优化

在详情页可对已有 Skill 进行 AI 辅助优化:

  • 选择要优化的目标文件(SKILL.md 或资源文件)
  • 输入优化目标描述
  • 可关联 MCP 工具和对话历史作为优化上下文
  • Copilot 流式输出优化后的内容,支持一键应用

4.3AI 生成和 4.4 章节中的 AI 优化功能由 Copilot 提供支持,使用前需配置大模型 API Key。可通过环境变量 COPILOT_API_KEY(推荐)或在控制台设置中心页面配置。

5. CLI / API / SDK 参考

Skill Registry 提供多种接入方式,详细用法请参考各自的专项文档。

5.1 nacos-cli

nacos-cliSkill Registry 的命令行工具,提供 Skill 的搜索、安装、上传和同步功能。详细的安装配置和 Skill 管理命令请参考 Nacos CLI 使用指南 - AI 技能管理

5.2 REST API

Skill Registry 提供三层 REST API

API 说明 文档链接
Client API 客户端运行时查询/下载 Skill(支持匿名访问) 客户端API - 下载 Skill
Console API 控制台管理操作(需登录认证) 控制台 API - Skills 管理
Admin API 集群内部管理接口 运维 API - AI Skills 管理

5.3 Java SDK

Nacos 提供两种 Java SDK 用于 Skill 的程序化管理:

SDK 适用场景 文档链接
nacos-client 客户端运行时加载和订阅 Skill Java SDK - Skill 能力
nacos-maintainer-client 运维管理操作(创建、发布、上下线等),适用于自动化运维和 CI/CD 运维SDK - Skill 能力
相关推荐
AI医影跨模态组学1 小时前
Cancer Letters(IF=10.1)中科院自动化研究所田捷等团队:整合纵向MRI与活检全切片图像用于乳腺癌新辅助治疗反应的早期预测及个体化管理
人工智能·深度学习·论文·医学·医学影像
升鲜宝供应链及收银系统源代码服务1 小时前
OMS 订单模块重构正式文档(一)---升鲜宝生鲜配送供应链管理系统
java·开发语言·重构·生鲜配送源代码·生鲜供应链源代码
oioihoii1 小时前
Graphify 简明指南
人工智能
Han.miracle2 小时前
Redis 全套笔记:基础 API + 三大架构 + 缓存三大问题
java·windows·redis
zzb15802 小时前
Fragment 生命周期深度图解:从 onAttach 到 onDetach 完整流程(面试必备)
android·java·面试·安卓
数字供应链安全产品选型2 小时前
AI全生命周期安全:从开发到下线,悬镜安全灵境AIDR如何覆盖智能体每一个环节?
人工智能
2501_933329552 小时前
企业舆情处置实战:Infoseek数字公关AI中台技术架构与功能解析
大数据·人工智能·架构·数据库开发
带娃的IT创业者2 小时前
深度解析 Claude Design:如何利用 Anthropic 最新设计范式构建 AI 原生应用
人工智能·python·llm·claude·应用开发·anthropic·ai原生应用
QC·Rex2 小时前
Spring AI MCP Apps 实战:打造聊天与富 UI 融合的智能化应用
人工智能·spring·ui·spring ai·mcp