Skip to content
AstrBot
Main Navigation 主页博客路线图HTTP API

简体中文

English

简体中文

English

切换日光/暗黑模式

简介和部署接入消息平台接入 AI使用开发
Sidebar Navigation

简介

关于 AstrBot

社区

常见问题

部署

包管理器部署

雨云一键云部署

桌面客户端部署

启动器一键部署

Docker 部署

Kubernetes 部署

宝塔面板部署

1Panel 部署

手动部署

其他部署方式

CasaOS 部署

优云智算 GPU 部署

社区提供的部署方式

支持我们

接入消息平台

快速接入指南

QQ 官方机器人

Websockets 方式(推荐)

Webhook 方式

OneBot v11

企微应用

企微智能机器人

微信公众号

个人微信

飞书

钉钉

Telegram

LINE

Slack

Mattermost

Misskey

Discord

KOOK

Satori

接入 Satori

使用 server-satori

社区提供

Matrix

VoceChat

接入 AI

✨ 接入模型服务

MiraRouter

NewAPI

胜算云

AIHubMix

PPIO 派欧云

硅基流动

小马算力

302.AI

Ollama

LMStudio

⚙️ Agent 执行器

内置 Agent 执行器

Dify

扣子 Coze

阿里云百炼应用

DeerFlow

使用

WebUI

AstrBot CLI

内置指令

插件

插件

MCP

技能 Skills

AstrBot 内置 AI

Agent 沙盒环境

SubAgent 编排

主动型能力

网页搜索

知识库

上下文压缩

自定义规则

Agent 执行方式

统一 Webhook 模式

开发

插件开发

🌠 从这里开始

最小实例

接收消息事件

发送消息

插件配置

插件可视化视图

插件国际化

调用 AI

存储

文转图

会话控制器

杂项

发布插件

插件指南(旧)

插件市场规范

版本列表

2026-06-27

接入平台适配器

AstrBot HTTP API

API Scope 与接口对照

AstrBot 配置文件

其他

异常诊断

自部署文转图

插件下载不了?试试自建 GitHub 加速服务

社区活动

开源之夏 2025

桐谷霁屿 x AstrBot 插件奖励活动

目录

技能 Skills ​

Skill 是给 Agent 使用的「任务操作手册」。它把完成某类任务的步骤、规则、模板和参考资料放在一个文件夹中,核心文件是 SKILL.md,还可以附带脚本和示例。

例如,一个「周报整理」技能可以规定如何汇总事项、区分进展和阻塞、输出统一格式;一个「表格处理」技能可以说明怎样清洗数据并生成文件。用户只需描述任务,Agent 会根据技能的名称和描述判断是否适用,先读取说明,再按需使用相关资源。

AstrBot 从 v4.13.0 起支持这种 Agent Skills 形式。它并不限于 Claude 模型,但需要模型理解技能说明;涉及读取文件、调用工具或执行脚本时,还需要相应能力。

Skills 与工具有什么区别 ​

类型提供什么例子
工具(Tool)一个具体操作接口搜索网页、读取文件、执行 Python
MCP接入外部服务提供的工具查询日历、检索论文
Skill完成任务的方法和资源按团队模板整理周报、按规则分析表格
插件扩展 AstrBot 的功能注册指令、处理消息,也可以提供工具和 Skills

Skills 会先向 Agent 提供名称、描述和文件路径,详细内容按任务需要读取,不会一开始就把每个技能的全部文件塞进对话。上传 Skill 不会自动安装它需要的软件,也不会增加权限。 如果技能要求 Python 库、外部 API 或某个工具,需要另外配置。

上传第一个 Skill ​

  1. 准备一个可信来源的 .zip 技能包。
  2. 在 WebUI 打开 插件 → 技能,点击右下角 +(上传技能)。旧版独立技能页面的入口已移到插件工作区。
  3. 点击文件选择区域,或把 ZIP 文件拖进去。可以一次选择多个 ZIP。
  4. 点击开始上传,查看每个文件的上传结果。成功后返回技能列表,确认技能已启用。

技能批量上传对话框

同名文件在上传队列中会被跳过;如果本地已存在同名技能,上传不会覆盖它。更新前可以先下载备份,再编辑本地文件,或者删除旧技能后重新上传。

ZIP 应该怎么打包 ​

建议压缩包包含一个或多个技能文件夹,每个技能文件夹直接包含 SKILL.md。文件名大小写请保持一致:

text
skills.zip
├── weekly-report/
│   ├── SKILL.md
│   └── references/
│       └── report-template.md
└── table-analysis/
    ├── SKILL.md
    └── scripts/
        └── analyze.py

也支持把 SKILL.md 直接放在 ZIP 根目录。对于根目录技能包或只包含一个技能文件夹的技能包,WebUI 会使用 ZIP 文件名(去掉 .zip)作为安装标识;多技能包使用各技能文件夹名称。为避免混淆,单技能包的 ZIP 名与文件夹名建议一致,例如 weekly-report.zip。

技能标识建议使用英文字母、数字、点、下划线或短横线。不要额外包一层不包含 SKILL.md 的仓库目录,也不要上传一个改后缀为 ZIP 的其他文件。

一份最小的 SKILL.md ​

下面的例子演示技能描述和操作步骤。description 应说明做什么、什么时候用,方便 Agent 判断是否需要加载:

markdown
---
name: weekly-report
description: 当用户需要把零散工作记录整理成周报时使用,按进展、阻塞和下周计划输出。
---

# 周报整理

1. 阅读用户提供的工作记录;缺少关键信息时先询问。
2. 分别整理已完成事项、进行中事项和阻塞。
3. 按「本周进展」「问题与风险」「下周计划」输出。
4. 保留日期、负责人和关键数据,不编造用户未提供的进展。

将它保存为 weekly-report/SKILL.md,压缩为 weekly-report.zip 即可上传。更完整的格式可参考 Agent Skills 规范和 Claude Skills 文档。

配置运行环境和人格 ​

先让 Agent 能读取技能 ​

在 配置文件 → AI → 能力 → 使用电脑能力 中选择运行环境,然后保存配置:

  • 本机环境(local):Agent 使用 AstrBot 所在环境的文件工具。普通成员和管理员分别受本地权限矩阵控制。只需阅读说明时,可以允许工作区文件访问而不开启代码执行;需要运行技能脚本时,还要允许执行代码,并安装脚本依赖。
  • 第三方沙箱环境(sandbox):Agent 在独立环境中读取技能、运行脚本。先配置好沙箱连接,AstrBot 会尝试把本地及插件 Skills 同步到活动沙箱。
  • 无(none):技能清单仍可能提供给模型,但没有电脑能力的文件/执行工具,不能保证它能读取完整说明,更不能运行技能脚本。需要实际使用技能时,建议配置前两种环境。

具体的文件范围、执行权限、联网条件和部署方法见Agent 沙盒环境。Skills 不会绕过这些限制,也不会因为上传而自动授予普通成员代码执行权限。

再选择当前人格可用的技能 ​

  1. 在 人格设定 中编辑当前对话使用的人格。
  2. 在人格能力的技能列表中选择技能;插件提供的技能会按插件分组,可以点齿轮选择具体技能。
  3. 保存人格,并确认对话使用它。默认人格使用全部可用能力;需要限定技能时,请使用自定义人格。
  4. 在聊天中说「使用 weekly-report 技能,把以下记录整理成周报」,并提供工作记录。也可以直接描述符合技能用途的任务,让 Agent 判断是否使用。

技能被停用、所属插件被停用,或未被当前人格选中时,都可能无法使用。安装、全局启用、人格选择和运行权限是不同的设置,需要分别检查。

管理已有技能 ​

在 插件 → 技能 列表中,可以搜索名称、描述和来源:

  • 启用 / 停用:右侧开关控制技能是否提供给 Agent。停用保留文件,可随时启用。
  • 查看和编辑:点击本地技能条目打开文件编辑器,阅读 SKILL.md、参考资料和脚本;可编辑的文本文件支持保存修改。
  • 下载:将本地技能导出为 ZIP,便于备份或迁移。
  • 删除:删除本地技能及其文件;也可以使用「选择」批量删除。
  • 刷新:手动修改文件后,用右下角刷新按钮更新列表。

插件提供的技能可以阅读,但不能在这里编辑、下载或删除,需要通过所属插件管理。沙箱预置技能不能在本地技能页面编辑、删除或切换启用状态。不要把来源限制误认为页面加载失败。

Skill 来源与优先级 ​

AstrBot 会从以下位置发现 Skills。前几种可在技能管理页面中查看,工作区技能是当前请求的能力:

来源位置或获取方式管理方式
本地 SkillsWebUI 上传,或 data/skills/<skill_name>/SKILL.md技能页面管理
插件内置 Skills插件自己的 skills/ 目录由所属插件管理;请求时还受当前配置文件的插件选择影响
沙箱预置 Skills沙箱中发现的技能沙箱环境管理;至少启动一次沙箱会话后才会填充发现清单
工作区 Skills当前会话工作区的 skills/<skill_name>/SKILL.md目前仅在本机环境下按请求发现,不显示在全局技能列表

工作区路径通常为 data/workspaces/<normalized_umo>/skills/<skill_name>/SKILL.md,其中 UMO 对应会话标识,目录名经过规范化。工作区技能不会写入全局配置,也暂不自动同步到第三方沙箱。

同名时的请求优先级为:工作区 > 本地 > 插件内置 > 仅在沙箱内存在的技能。工作区技能的覆盖只对当前请求生效。

人格指定技能列表会筛选本地、插件和沙箱技能,不会过滤工作区技能;人格明确不使用任何技能时,工作区技能也会被禁用。如果本地 Skill 已同步进沙箱,AstrBot 将其视为同一个技能,并在沙箱请求中使用沙箱内的可读路径。

Shipyard Neo 技能 ​

运行环境为第三方沙箱、驱动器为 shipyard_neo 时,页面还提供本地技能 / Neo 技能切换。Neo 技能页面用于查看技能候选和发布记录,包括通过/拒绝评估、发布到 Canary 或 Stable、同步以及停用/回滚等操作。

这用于管理在 Neo 中积累的可复用技能版本,不是上传普通 ZIP 的必经步骤。初次使用可以先完成本地技能上传和执行;Neo 的连接配置见第三方沙箱环境。

常见问题 ​

现象排查方向
上传失败,找不到 SKILL.md检查 ZIP 是否有效,SKILL.md 是否直接位于根目录或技能目录内,是否多套了一层仓库目录
提示同名技能已存在上传不会覆盖现有技能;先下载备份,再编辑或删除后重新上传
列表没有描述检查 SKILL.md 开头的 YAML frontmatter 是否包含字符串类型的 description
Agent 没有使用技能先明确提及技能名称,检查启用状态、当前人格,以及模型是否有读取文件的能力
Agent 读到了说明,却运行不了脚本检查运行环境、当前用户的执行权限、联网权限及依赖;技能本身不会安装依赖或提升权限
插件技能灰色或无法操作检查所属插件是否启用;插件技能的文件由插件管理
沙箱没有预置技能列表先启动一次沙箱会话,再刷新;预置技能来自沙箱发现缓存
编辑/删除按钮不可用确认它是可管理的本地技能,而非插件技能或沙箱预置技能

技能可能包含脚本和外部服务调用。使用前阅读说明,确认所需权限和依赖,再给 Agent 一个小任务验证输出是否符合预期。

发现文档有问题?在 GitHub 上编辑此页

Last updated:

Pager
上一篇MCP
下一篇Agent 沙盒环境

Deployed on Rainyun Logo