> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xpertai.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 在智能体中使用技能

智能体通过 **Skills Middleware** 使用技能。该中间件会让模型知道有哪些技能可用，把选中的技能文件同步到运行时沙箱，并提供读取完整技能指令的能力。

## 创建智能体时启用技能

创建空白智能体时，向导可以展示当前工作区中已安装的技能。

启用流程：

1. 打开空白智能体创建向导。
2. 选择目标工作区。
3. 进入技能步骤。
4. 勾选该智能体需要使用的技能。
5. 完成创建。

当选择了技能后，Xpert 会自动把 Skills Middleware 接入主智能体流程。

## 配置 Skills Middleware

在 Agent Studio 中，Skills Middleware 支持配置：

* **默认技能**：当调用方没有传入明确的运行时选择时，默认加载这些技能。
* **系统提示**：可选的自定义提示，会追加到默认技能提示之前。
* **自动发现技能**：允许智能体在运行时搜索索引仓库，并安装相关技能。

Skills Middleware 建议配合 File 工具集使用，因为智能体需要读取 `SKILL.md` 和相关资源文件。

## 运行时技能选择

ChatKit 可以在输入框中展示运行时技能，让用户为某次会话或下一条消息选择需要加载的技能。

运行时相关状态包括：

* `selectedSkillIds`：本次运行明确选择的技能 ID。
* `disabledSkillIds`：本次运行禁用的技能 ID。
* `selectedSkillWorkspaceId`：技能所在工作区。

当运行时传入明确的 allow-list 时，本次运行会使用用户选择的技能列表，而不是继续使用中间件默认技能。空列表也有意义：表示本次运行不加载用户可选技能，但必需的系统中间件仍会保留。

## 智能体如何使用技能

技能采用渐进披露模式。

1. Skills Middleware 将可用技能的简要信息加入系统上下文。
2. 智能体判断当前任务是否匹配某个技能。
3. 智能体使用 `read_skill_file` 读取相关 `SKILL.md`。
4. 智能体按照完整指令执行，并按需读取辅助文件。

这样既能保持默认上下文简洁，又能在任务需要时加载详细流程。

## 自动发现技能

启用自动发现后，如果已安装技能不足以完成用户任务，智能体可以搜索已索引的技能仓库。

运行时可以：

* 根据查询搜索技能仓库索引
* 将少量最相关技能安装到当前工作区
* 把新安装技能同步到沙箱
* 读取对应 `SKILL.md` 后继续执行

自动发现默认关闭，以避免改变已有智能体行为。

## 技能命令

技能可以通过 metadata 暴露 ChatKit slash command。这些命令可以和工作区 Prompt Workflow、宿主命令一起出现在命令面板中。智能体命令配置可以为特定智能体启用、禁用或调整技能命令优先级。
