From 48f0ba081d88c97db04cc63207d05142ea9b5670 Mon Sep 17 00:00:00 2001
From: "alan.cl" <1165243776@qq.com>
Date: Tue, 24 Mar 2026 15:13:47 +0800
Subject: [PATCH] feat: skill doc
---
.../cookbook/agents/data_analysis_agent.md | 96 +++++++++++++-----
.../cookbook/agents/data_manus_application.md | 32 ++++--
docs/docs/dbgpts/how-to-use-custom-skill.md | 55 ++++++++++
docs/docs/dbgpts/how-to-use-skill.md | 4 +
docs/docs/dbgpts/introduction.md | 3 +-
docs/docs/installation/index.md | 14 +--
.../current/dbgpts/how-to-use-custom-skill.md | 55 ++++++++++
.../current/dbgpts/how-to-use-skill.md | 5 +
.../current/dbgpts/introduction.md | 4 +-
.../current/installation/index.md | 14 +--
.../current/overview.mdx | 2 +-
docs/sidebars.js | 4 +-
docs/src/css/custom.css | 4 +-
docs/static/img/dbgpt_vision_zh.png | Bin 0 -> 6038754 bytes
docs/static/img/skill/create_skill.jpg | Bin 0 -> 215208 bytes
docs/static/img/skill/create_skill_zh.jpg | Bin 0 -> 191602 bytes
.../img/skill/csv_data_analysis_skill.jpg | Bin 0 -> 506844 bytes
.../img/skill/csv_data_analysis_skill_zh.jpg | Bin 0 -> 574907 bytes
.../skill/financial_report_analysis_skill.jpg | Bin 0 -> 461610 bytes
.../static/img/skill/import_github_skill_.png | Bin 0 -> 456072 bytes
.../img/skill/import_github_skill_zh.png | Bin 0 -> 460197 bytes
docs/static/img/skill/skill_list.png | Bin 0 -> 451272 bytes
docs/static/img/skill/skill_list_zh.png | Bin 0 -> 459168 bytes
docs/static/img/skill/upload_skill.png | Bin 0 -> 438551 bytes
docs/static/img/skill/upload_skill_zh.png | Bin 0 -> 436877 bytes
docs/static/img/skill/use_csv_data_skill.png | Bin 0 -> 265646 bytes
.../img/skill/use_csv_data_skill_zh.png | Bin 0 -> 251968 bytes
.../use_financial_report_analysis_skill.png | Bin 0 -> 252445 bytes
...use_financial_report_analysis_skill_zh.png | Bin 0 -> 268537 bytes
29 files changed, 237 insertions(+), 55 deletions(-)
create mode 100644 docs/docs/dbgpts/how-to-use-custom-skill.md
create mode 100644 docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-custom-skill.md
create mode 100644 docs/static/img/dbgpt_vision_zh.png
create mode 100644 docs/static/img/skill/create_skill.jpg
create mode 100644 docs/static/img/skill/create_skill_zh.jpg
create mode 100644 docs/static/img/skill/csv_data_analysis_skill.jpg
create mode 100644 docs/static/img/skill/csv_data_analysis_skill_zh.jpg
create mode 100644 docs/static/img/skill/financial_report_analysis_skill.jpg
create mode 100644 docs/static/img/skill/import_github_skill_.png
create mode 100644 docs/static/img/skill/import_github_skill_zh.png
create mode 100644 docs/static/img/skill/skill_list.png
create mode 100644 docs/static/img/skill/skill_list_zh.png
create mode 100644 docs/static/img/skill/upload_skill.png
create mode 100644 docs/static/img/skill/upload_skill_zh.png
create mode 100644 docs/static/img/skill/use_csv_data_skill.png
create mode 100644 docs/static/img/skill/use_csv_data_skill_zh.png
create mode 100644 docs/static/img/skill/use_financial_report_analysis_skill.png
create mode 100644 docs/static/img/skill/use_financial_report_analysis_skill_zh.png
diff --git a/docs/docs/cookbook/agents/data_analysis_agent.md b/docs/docs/cookbook/agents/data_analysis_agent.md
index 015291318..794e59a84 100644
--- a/docs/docs/cookbook/agents/data_analysis_agent.md
+++ b/docs/docs/cookbook/agents/data_analysis_agent.md
@@ -208,7 +208,9 @@ uv run dbgpt start webserver --config configs/dbgpt-local-glm.toml
打开浏览器并访问:`http://localhost:5670`
-
+
+
+
### 4.1 知识库接入
@@ -216,59 +218,81 @@ uv run dbgpt start webserver --config configs/dbgpt-local-glm.toml
点击“应用管理”,选择“知识库”
-
+
+
+
2. 创建知识库
-
+
+
+
3. 知识库配置
填写相关配置信息。
-
+
+
+
4. 知识库类型
此处选择文档。
-
+
+
+
5. 上传
此处上传提前准备好的`指标.txt`文档。
-
+
+
+
6. 分片
分片策略选择"separator",分隔符设置为"###"。
-
+
+
+
7. 成功创建知识库
-
+
+
+
### 4.2 创建数据库
1. 选择数据库
-
+
+
+
2. 添加数据源
-
+
+
+
3. 配置数据源
配置准备好的数据库连接信息。
-
+
+
+
4. 添加成功
-
+
+
+
@@ -278,49 +302,65 @@ uv run dbgpt start webserver --config configs/dbgpt-local-glm.toml
点击“创建应用”
-
+
+
+
2. 基础配置
选择“多智能体自动规划模式”,并输入应用名称和对应描述。
-
+
+
+
3. 加入`MetricInfoRetriever`
选取`MetricInfoRetriever`,并配置知识库资源。
-
+
+
+
4. 加入`DataScientist`
选取`DataScientist`,并配置数据库资源。
-
+
+
+
5. 加入`AnomalyDetector`
选取`AnomalyDetector`。
-
+
+
+
6. 加入`VolatilityAnalyzer`
选取`VolatilityAnalyzer`,并配置数据库资源。
-
+
+
+
7. 加入`ReportGenerator`
选取`ReportGenerator`。
-
+
+
+
8. 保存
点击“保存”。
-
+
+
+
### 4.4 使用
@@ -328,20 +368,28 @@ uv run dbgpt start webserver --config configs/dbgpt-local-glm.toml
点击“开始对话”。
-
+
+
+
2. 提问
在输入框中输入问题,如“请帮我分析订单数量2012年 年环比增长情况”,点击发送。
-
+
+
+
3. 回答
-
+
+
+
4. 报告生成
最终生成分析报告。
-
+
+
+
diff --git a/docs/docs/cookbook/agents/data_manus_application.md b/docs/docs/cookbook/agents/data_manus_application.md
index 040ed2b59..b7eb32995 100644
--- a/docs/docs/cookbook/agents/data_manus_application.md
+++ b/docs/docs/cookbook/agents/data_manus_application.md
@@ -53,11 +53,15 @@ Data_Manus多智能体应用具备对表格文件进行多表格协同分析的
**1.点击”应用管理“,选择上方菜单栏中的”数据库“**
-
+
+
+
**2.点击右侧”添加数据源“,在弹出的表单中配置自己的数据源信息**
-
+
+
+
@@ -65,27 +69,39 @@ Data_Manus多智能体应用具备对表格文件进行多表格协同分析的
**1.进入”应用管理“页面,点击”创建应用“**
-
+
+
+
**2.在弹出来的菜单栏中,选择”多智能体自动规划模式“,并配置”应用名称“、”描述“**
-
+
+
+
**3.进入智能体应用构建页面后,选择我们data_manus必要的三个Agent:”SearchNeedEvaluator“、”DataScientist“、”ExcelScientist“**
-
+
+
+
**4.其中”DataScientist“和”ExcelScientist“这两个智能体必须要绑定数据库资源,在下方选择已添加的数据源,配置完毕后点击右上角”更新“完成应用创建**
-
+
+
+
**5.回到”应用管理“页面,点击自己刚刚创建的多智能体应用的”开始对话“按钮进行对话了**
-
+
+
+
**6.在输入框中输入问题,点击发送即可开始对话了**
-
+
+
+
diff --git a/docs/docs/dbgpts/how-to-use-custom-skill.md b/docs/docs/dbgpts/how-to-use-custom-skill.md
new file mode 100644
index 000000000..53550be82
--- /dev/null
+++ b/docs/docs/dbgpts/how-to-use-custom-skill.md
@@ -0,0 +1,55 @@
+# Use Custom Skills
+
+DB-GPT supports three ways to use custom skills: create from scratch with the built-in `skill-creator`, upload a zip package, or import via a GitHub link.
+
+## Option 1: Create with skill-creator
+
+`skill-creator` is the built-in meta-skill in DB-GPT, designed to help you create business-specific custom skills. Simply describe your requirements in a conversation, and `skill-creator` handles the entire process from design to packaging.
+
+### Steps
+
+1. Select the `skill-creator` skill in the DB-GPT chat interface.
+2. Describe the skill you want to create in natural language, for example: "Create a data analysis skill that reads CSV files and generates visual reports."
+3. `skill-creator` will automatically:
+ - Analyze your requirements and plan the skill structure
+ - Generate `SKILL.md` (including metadata and execution instructions)
+ - Create necessary scripts, reference docs, and asset files
+ - Validate and package into a distributable `.skill` file
+
+
+
+For more details on `skill-creator`, see the [skill-creator documentation](./built-in-skills/skill-creator.md).
+
+## Option 2: Upload a Zip Package
+
+If you already have a packaged skill (`.zip` or `.skill` file), you can upload it directly through the DB-GPT Web UI.
+
+### Steps
+
+1. Navigate to the **Skills** page in DB-GPT.
+
+
+
+2. Click the upload button and select your local `.zip` or `.skill` file.
+
+
+
+3. Once uploaded, the skill appears in the list and is ready to use in conversations.
+
+## Option 3: Import via GitHub Link
+
+DB-GPT supports importing skills directly from GitHub repositories — ideal for community or team-shared skills.
+
+### Steps
+
+1. Navigate to the **Skills** page in DB-GPT.
+2. Click the GitHub import button and paste the repository URL of the skill.
+
+
+
+3. The system automatically fetches the repository contents and completes the import. The skill is ready to use once imported.
+
+## Related reading
+
+- [skill-creator](./built-in-skills/skill-creator.md) — Learn about the full capabilities and resources of skill-creator
+- [Skills Overview](./introduction.md) — Understand skill definitions, structure, and how they work
diff --git a/docs/docs/dbgpts/how-to-use-skill.md b/docs/docs/dbgpts/how-to-use-skill.md
index 327bedf40..94c11bf52 100644
--- a/docs/docs/dbgpts/how-to-use-skill.md
+++ b/docs/docs/dbgpts/how-to-use-skill.md
@@ -31,6 +31,8 @@ The agent can:
3. generate charts and metrics
4. use `html_interpreter` to render the final report
+
+
### CSV / Excel analysis
The agent can:
@@ -40,6 +42,8 @@ The agent can:
3. use Python analysis to calculate metrics and visualize results
4. render the output as a report if needed
+
+
## Good practices
- use skills when the workflow should be repeatable
diff --git a/docs/docs/dbgpts/introduction.md b/docs/docs/dbgpts/introduction.md
index d27b3e08a..96a37ab6b 100644
--- a/docs/docs/dbgpts/introduction.md
+++ b/docs/docs/dbgpts/introduction.md
@@ -9,12 +9,11 @@ In DB-GPT, a skill is a reusable capability package that gives an agent a struct
Instead of relying only on free-form reasoning, a skill provides a stable execution pattern for a specific kind of work.
-> The originally shared image source is no longer reachable. This page now uses a working DB-GPT skills screenshot from the current project README. If you want the exact screenshot from your attachment, send me a usable file path or re-upload it and I will swap it to a local asset.
## Skill definition
diff --git a/docs/docs/installation/index.md b/docs/docs/installation/index.md
index c255995ab..974478596 100644
--- a/docs/docs/installation/index.md
+++ b/docs/docs/installation/index.md
@@ -1,23 +1,23 @@
---
sidebar_position: 0
-title: Install
+title: Install Overview
summary: "Choose the fastest way to install DB-GPT: quick install, CLI install, or source install"
read_when:
- You want to decide which installation path fits your environment
- You want the shortest route to a working DB-GPT setup
---
-# Install
+# Install Overview
DB-GPT offers three recommended installation paths. Pick the one that matches how you want to run and manage the project.
## Choose an installation path
-| Method | Best for | What you get |
-|---|---|---|
-| [Quick Install](/docs/installation/quick-install) | Fastest first run on macOS / Linux | One-line installer, generated profile config, ready-to-start webserver |
-| [CLI Install](/docs/getting-started/cli-quickstart) | Users who prefer installing from PyPI | `dbgpt` CLI, interactive setup wizard, profile management |
-| [Source Install](/docs/getting-started/deploy/source-code) | Developers and custom deployments | Full repo checkout, editable configs, maximum flexibility |
+| Method | Best for | Scenario | What you get |
+|:-------|:---------|:---------|:-------------|
+| [Quick Install](/docs/installation/quick-install) | Fastest first run on macOS / Linux | Quick launch the latest DB-GPT from source with automated environment setup and dependency installation | Quick install and start the latest source project with optional advanced config |
+| [CLI Install](/docs/getting-started/cli-quickstart) | Users who prefer installing from PyPI | One-click start and try a stable DB-GPT release without worrying about project structure or config details | One-line installer, interactive setup wizard, profile management |
+| [Source Install](/docs/getting-started/deploy/source-code) | Developers and custom deployments | You need to modify source code, debug internals, or integrate DB-GPT into a custom deployment pipeline | Full repo checkout, editable configs, maximum flexibility |
## Recommended path
diff --git a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-custom-skill.md b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-custom-skill.md
new file mode 100644
index 000000000..2dddb843b
--- /dev/null
+++ b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-custom-skill.md
@@ -0,0 +1,55 @@
+# 使用自定义 Skill
+
+DB-GPT 支持三种方式使用自定义 skill:使用内置的 `skill-creator` 从零创建、上传 zip 包导入、通过 GitHub 链接导入。
+
+## 方式一:使用 skill-creator 创建
+
+`skill-creator` 是 DB-GPT 内置的 meta-skill(元技能),专门用于帮助你创建业务定制化的 skill。你只需在对话中描述需求,`skill-creator` 会自动完成从设计、编写到打包的全部流程。
+
+### 操作步骤
+
+1. 在 DB-GPT 对话界面中,选择 `skill-creator` 技能。
+2. 用自然语言描述你想要创建的 skill,例如:"帮我创建一个数据分析 skill,能够读取 CSV 文件并生成可视化报表"。
+3. `skill-creator` 会自动完成以下工作:
+ - 分析需求并规划 skill 结构
+ - 生成 `SKILL.md`(包含元数据和执行指令)
+ - 创建所需的脚本、参考文档和资源文件
+ - 校验并打包为可分发的 `.skill` 文件
+
+
+
+更多关于 `skill-creator` 的详细用法,请参阅 [skill-creator 文档](./built-in-skills/skill-creator.md)。
+
+## 方式二:上传 Zip 包
+
+如果你已经有一个打包好的 skill(`.zip` 或 `.skill` 文件),可以直接在 DB-GPT 的 Web UI 中上传。
+
+### 操作步骤
+
+1. 进入 DB-GPT 的 **Skills** 页面。
+
+
+
+2. 点击上传按钮,选择本地的 `.zip` 或 `.skill` 文件上传。
+
+
+
+3. 上传完成后,skill 会自动出现在列表中,即可在对话中使用。
+
+## 方式三:通过 GitHub 链接导入
+
+DB-GPT 支持直接从 GitHub 仓库导入 skill,适合使用社区或团队共享的 skill。
+
+### 操作步骤
+
+1. 进入 DB-GPT 的 **Skills** 页面。
+2. 点击 GitHub 导入按钮,粘贴 skill 所在的 GitHub 仓库链接。
+
+
+
+3. 系统会自动拉取仓库内容并完成导入,导入成功后即可使用。
+
+## 相关阅读
+
+- [skill-creator](./built-in-skills/skill-creator.md) — 了解 skill-creator 的完整能力和资源
+- [Skills 总览](./introduction.md) — 了解 skill 的定义、结构和工作原理
diff --git a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-skill.md b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-skill.md
index 5fee693ea..cf5c49b09 100644
--- a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-skill.md
+++ b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/how-to-use-skill.md
@@ -31,6 +31,8 @@
3. 生成图表与指标结果
4. 使用 `html_interpreter` 渲染最终报告
+
+
### CSV / Excel 分析
智能体可以:
@@ -40,6 +42,9 @@
3. 使用 Python 分析计算指标并可视化结果
4. 如果需要,再将结果渲染为报告
+
+
+
## 最佳实践
- 当工作流需要可重复时,优先使用 skill
diff --git a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/introduction.md b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/introduction.md
index 48cace2bb..163e61b3e 100644
--- a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/introduction.md
+++ b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/dbgpts/introduction.md
@@ -9,13 +9,11 @@
相比只依赖自由推理,skill 为特定类型的工作提供了更稳定、更可重复的执行模式。
-> 原始分享的图片地址已经失效。当前页面改为使用项目 README 中可正常访问的 DB-GPT skills 截图。如果你希望替换成你之前附件里的原始图片,请提供可用文件路径或重新上传,我可以改成仓库本地资源。
-
## Skill 的定义
结合 Agent Skills 的定义,可以把 skill 理解为:
diff --git a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/installation/index.md b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/installation/index.md
index e6249ad5e..9325b3ae9 100644
--- a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/installation/index.md
+++ b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/installation/index.md
@@ -1,23 +1,23 @@
---
sidebar_position: 0
-title: 安装
+title: 安装概览
summary: "选择最适合你的 DB-GPT 安装方式:快速安装、CLI 安装或源码安装"
read_when:
- 你想判断哪种安装路径最适合当前环境
- 你希望以最短路径完成可用的 DB-GPT 安装
---
-# 安装
+# 安装概览
DB-GPT 提供三种推荐安装方式。你可以根据自己的使用方式和环境选择最合适的路径。
## 选择安装方式
-| 方式 | 适合人群 | 你会得到什么 |
-|---|---|---|
-| [快速安装](/docs/installation/quick-install) | 希望在 macOS / Linux 上最快完成首次启动的用户 | 一行安装脚本、自动生成的 provider 配置、可直接启动的 webserver |
-| [CLI 安装](/docs/getting-started/cli-quickstart) | 希望通过 PyPI 安装并使用命令行的用户 | `dbgpt` CLI、交互式向导、profile 管理能力 |
-| [源码安装](/docs/getting-started/deploy/source-code) | 开发者或需要自定义部署的用户 | 完整仓库、可编辑配置、最大灵活性 |
+| 方式 | 适合人群 | 场景 | 你会得到什么 |
+|:-----|:---------|:-----|:---------------------------------------------|
+| [快速安装](/docs/installation/quick-install) | 希望在 macOS / Linux 上最快完成首次启动的用户 | 从源码快速启动最新版 DB-GPT,自动完成环境配置和依赖安装 | 通过脚本快速安装并启动最新的源项目,还可选择进行高级配置(基于源码快速体验) |
+| [CLI 安装](/docs/getting-started/cli-quickstart) | 希望通过 PyPI 安装并使用命令行的用户 | 一键启动并体验稳定版 DB-GPT,无需关心项目结构或配置细节 | 通过`dbgpt` CLI一键启动、交互式安装向导、配置文件管理(基于稳定版本快速体验) |
+| [源码安装](/docs/getting-started/deploy/source-code) | 开发者或需要自定义部署的用户 | 需要修改源码、调试内部逻辑,或将 DB-GPT 集成到自定义部署流程中 | 完整源码仓库、自定义高级配置、给予开发者最大灵活性(自定义配置和二次开发) |
## 推荐路径
diff --git a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/overview.mdx b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/overview.mdx
index de2ea6b28..4f1aceeb0 100644
--- a/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/overview.mdx
+++ b/docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/overview.mdx
@@ -8,7 +8,7 @@ import CommandCopyCard from "@site/src/components/mdx/CommandCopyCard";
# DB-GPT
-
+
diff --git a/docs/sidebars.js b/docs/sidebars.js
index 06adc4bb5..4a56317b1 100755
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -535,7 +535,7 @@ const sidebars = {
{
type: "category",
label: "Built-in Skills",
- collapsed: false,
+ collapsed: true,
collapsible: true,
items: [
{ type: "doc", id: "dbgpts/built-in-skills/overview", label: "Overview" },
@@ -547,6 +547,7 @@ const sidebars = {
],
},
{ type: "doc", id: "dbgpts/how-to-use-skill", label: "How to Use Skill" },
+ { type: "doc", id: "dbgpts/how-to-use-custom-skill", label: "Use Custom Skills" },
],
sidebarDatasources: [
@@ -872,6 +873,7 @@ module.exports = {
label: "Installation",
collapsed: true,
collapsible: true,
+ link: { type: "doc", id: "installation/index" },
items: sidebars.sidebarInstallation[0].items,
},
{
diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css
index 3b44918b5..87b2c3971 100755
--- a/docs/src/css/custom.css
+++ b/docs/src/css/custom.css
@@ -51,7 +51,7 @@ html {
background:
radial-gradient(820px 520px at 8% -10%, rgba(255, 79, 64, 0.045), transparent 60%),
radial-gradient(900px 560px at 100% 0%, rgba(15, 107, 76, 0.04), transparent 60%),
- linear-gradient(180deg, #fbf4e7 0%, #fffaf0 34%, #fffdf8 100%);
+ color-mix(in srgb, var(--ifm-background-surface-color) 88%, transparent);
}
body {
@@ -98,7 +98,7 @@ html[data-theme='dark'] {
background:
radial-gradient(820px 520px at 10% -10%, rgba(255, 79, 64, 0.08), transparent 60%),
radial-gradient(920px 540px at 100% 0%, rgba(95, 223, 162, 0.05), transparent 62%),
- linear-gradient(180deg, #0b1a22 0%, #0a1720 36%, #0e231f 100%);
+ color-mix(in srgb, var(--ifm-background-surface-color) 88%, transparent);
}
/* GitHub */
diff --git a/docs/static/img/dbgpt_vision_zh.png b/docs/static/img/dbgpt_vision_zh.png
new file mode 100644
index 0000000000000000000000000000000000000000..156b3193455385ef9dcfdb7f13f140572b2821c4
GIT binary patch
literal 6038754
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