docs: 更新SKILL.md
This commit is contained in:
+76
-42
@@ -1,13 +1,11 @@
|
||||
---
|
||||
name: kb-workflow
|
||||
description: 知识库工作流编排技能。接收"添加到知识库 + 链接"消息,完成完整处理流程。
|
||||
metadata:
|
||||
short-description: 知识库工作流编排
|
||||
description: 当收到"添加到知识库 + 链接" 或"保存到知识库 + 链接"时使用
|
||||
---
|
||||
|
||||
# KB Workflow
|
||||
|
||||
## 触发条件
|
||||
## 什么时候使用
|
||||
|
||||
当用户发送包含以下模式的消息时,此技能自动触发:
|
||||
|
||||
@@ -16,6 +14,26 @@ metadata:
|
||||
| `添加到知识库` + 链接 | 添加到知识库并处理 | "添加到知识库 https://www.bilibili.com/video/BVxxx" |
|
||||
| `保存到知识库` + 链接 | 同上 | "保存到知识库 https://www.bilibili.com/video/BVxxx" |
|
||||
|
||||
|
||||
## 启动子代理方式
|
||||
|
||||
子代理需要:
|
||||
- **特定范围:** 明确的任务
|
||||
- **全部上下文:** 不要让他们自己去寻找
|
||||
- **清晰的输出:** 应该返回什么内容?
|
||||
- **约束:** 什么事情不能干?
|
||||
|
||||
使用 sessions_spawn 启动代理
|
||||
|
||||
## 环境变量
|
||||
检查以下环境变量
|
||||
KB_BASE_PATH
|
||||
|
||||
环境变量默认值
|
||||
```bash
|
||||
export KB_BASE_PATH="~/work/knowledge-base"
|
||||
```
|
||||
|
||||
## Workflow 步骤
|
||||
|
||||
当触发后,按照以下步骤执行:
|
||||
@@ -32,51 +50,72 @@ python3 kb_workflow.py --check --url "[URL]"
|
||||
|
||||
### 步骤 2: 链接解析
|
||||
|
||||
**启动子代理:** `kb-link-parser`
|
||||
|
||||
**输入:** 用户的 URL
|
||||
|
||||
**预期输出:** `pending/{platform}_{id}.link.json`
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
```
|
||||
1.使用kb-link-parser技能解析这个链接:[用户的 URL]
|
||||
2.文件输出路径:[知识库pending目录]
|
||||
3.结束时返回结果json。
|
||||
```
|
||||
- 等待子代里结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
- 如果返回成功,解析文件名,提取平台名称。
|
||||
|
||||
### 步骤 3: 元数据提取
|
||||
|
||||
**启动子代理:** 根据平台选择
|
||||
- Bilibili → `kb-bilibili-metadata`
|
||||
- 知乎 → `kb-zhihu-metadata`
|
||||
|
||||
**输入:** 步骤 2 输出的文件路径
|
||||
|
||||
**预期输出:** `metadata/{platform}_{id}.meta.json`
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
```
|
||||
1.使用[kb-平台名称-metadata]技能获取元数据
|
||||
2.输入文件:[知识库pending目录/步骤2返回的文件名]
|
||||
3.输出目录:[知识库metadata目录]
|
||||
4.结束时返回结果json
|
||||
```
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
### 步骤 4: 内容下载
|
||||
|
||||
**启动子代理:** 根据平台选择
|
||||
- Bilibili → `kb-bilibili-content`
|
||||
- 知乎 → (暂无)
|
||||
|
||||
**输入:** 步骤 3 输出的文件路径
|
||||
|
||||
**预期输出:**
|
||||
- `content/downloads/{platform}_{id}.mp4`
|
||||
- `content/subtitles/{platform}_{id}.srt`(可能没有)
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
```
|
||||
1.使用[kb-平台名称-content]技能获取内容
|
||||
2.输入文件:[知识库metadata目录/步骤3返回的文件名]
|
||||
3.输出目录:[知识库内容下载目录]
|
||||
4.结束时返回结果json
|
||||
```
|
||||
- 每5分钟检查一次子代理情况,将进度汇报给用户。
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
### 步骤 5: OCR 处理
|
||||
|
||||
**启动子代理:** `kb-ocr-processor`
|
||||
|
||||
**输入:** 步骤 4 输出的字幕文件路径(没有字幕则用视频文件路径)
|
||||
|
||||
**预期输出:** `content/{platform}_{id}.txt`
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
```
|
||||
1.使用kb-ocr-processor技能通过视频帧解析字幕内容
|
||||
2.输入文件:[知识库内容下载目录/步骤4返回的文件名]
|
||||
3.输出目录:[知识库内容下载目录]
|
||||
4.结束时返回结果json
|
||||
```
|
||||
- 每5分钟检查一次子代理情况,将进度汇报给用户。
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
### 步骤 6: 深度分析
|
||||
|
||||
**启动子代理:** `kb-deep-analyzer`
|
||||
|
||||
**输入:**
|
||||
- 步骤 3 输出的元数据文件路径
|
||||
- 步骤 5 输出的文字内容文件路径(如有,否则用元数据文件路径)
|
||||
|
||||
**预期输出:** `analyzed/{platform}_{id}.md`
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
```
|
||||
1.使用kb-deep-analyzer技能对字幕内容进行深度分析,总结提炼
|
||||
2.输入文件1:[元数据目录/步骤3返回的元数据文件名]
|
||||
3.输入文件2:[知识库内容下载目录/步骤5返回的字幕文件名]
|
||||
3.输出目录:[知识库analyzed目录]
|
||||
4.结束时返回结果json
|
||||
```
|
||||
- 每5分钟检查一次子代理情况,将进度汇报给用户。
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
### 步骤 7: 归档
|
||||
|
||||
@@ -134,8 +173,3 @@ python3 kb_workflow.py --check --url "[URL]"
|
||||
python3 kb_workflow.py --archive "[分析报告路径]"
|
||||
```
|
||||
|
||||
## 环境变量(可选)
|
||||
|
||||
```bash
|
||||
export KB_BASE_PATH="~/work/knowledge-base"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user