docs: 修正Workflow执行流程说明,主代理直接调用子技能
This commit is contained in:
+84
-66
@@ -15,16 +15,6 @@ description: 当收到"添加到知识库 + 链接" 或"保存到知识库 + 链
|
||||
| `保存到知识库` + 链接 | 同上 | "保存到知识库 https://www.bilibili.com/video/BVxxx" |
|
||||
|
||||
|
||||
## 启动子代理方式
|
||||
|
||||
子代理需要:
|
||||
- **特定范围:** 明确的任务
|
||||
- **全部上下文:** 不要让他们自己去寻找
|
||||
- **清晰的输出:** 应该返回什么内容?
|
||||
- **约束:** 什么事情不能干?
|
||||
|
||||
使用 sessions_spawn 启动代理
|
||||
|
||||
## 环境变量
|
||||
检查以下环境变量
|
||||
KB_BASE_PATH
|
||||
@@ -34,6 +24,19 @@ KB_BASE_PATH
|
||||
export KB_BASE_PATH="~/work/knowledge-base"
|
||||
```
|
||||
|
||||
## Workflow 执行方式
|
||||
|
||||
主代理直接执行以下步骤,无需启动 kb-workflow 子代理:
|
||||
|
||||
1. 主代理执行 `kb_workflow.py --check` 查重
|
||||
2. 主代理启动子代理调用 kb-link-parser
|
||||
3. 主代理启动子代理调用 kb-平台-metadata
|
||||
4. 主代理启动子代理调用 kb-平台-content
|
||||
5. 主代理启动子代理调用 kb-ocr-processor(如需要)
|
||||
6. 主代理启动子代理调用 kb-deep-analyzer
|
||||
7. 主代理执行 `kb_workflow.py --archive-file` 归档
|
||||
|
||||
|
||||
## Workflow 步骤
|
||||
|
||||
当触发后,按照以下步骤执行:
|
||||
@@ -50,78 +53,92 @@ python3 kb_workflow.py --check --url "[URL]"
|
||||
|
||||
### 步骤 2: 链接解析
|
||||
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
1. 获取目录路径:
|
||||
```bash
|
||||
python3 kb_workflow.py --pending
|
||||
```
|
||||
1.使用kb-link-parser技能解析这个链接:[用户的 URL]
|
||||
2.文件输出路径:[知识库pending目录]
|
||||
3.结束时返回结果json。
|
||||
|
||||
2. 启动子代理调用 kb-link-parser:
|
||||
```bash
|
||||
python3 /path/to/link-parser.py --url "[URL]"
|
||||
```
|
||||
- 等待子代里结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
- 如果返回成功,解析文件名,提取平台名称。
|
||||
|
||||
3. 解析输出 JSON,提取 filename 和 platform
|
||||
|
||||
### 步骤 3: 元数据提取
|
||||
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
1. 获取目录路径:
|
||||
```bash
|
||||
python3 kb_workflow.py --metadata
|
||||
```
|
||||
1.使用[kb-平台名称-metadata]技能获取元数据
|
||||
2.输入文件:[知识库pending目录/步骤2返回的文件名]
|
||||
3.输出目录:[知识库metadata目录]
|
||||
4.结束时返回结果json
|
||||
|
||||
2. 启动子代理调用对应平台的 metadata 技能:
|
||||
```bash
|
||||
# Bilibili
|
||||
python3 /path/to/bilibili_metadata.py --id "[ID]" --type video
|
||||
|
||||
# Zhihu
|
||||
python3 /path/to/zhihu_metadata.py --id "[ID]" --type question
|
||||
```
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
3. 解析输出 JSON,提取 filename
|
||||
|
||||
### 步骤 4: 内容下载
|
||||
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
1. 获取目录路径:
|
||||
```bash
|
||||
python3 kb_workflow.py --content_downloads
|
||||
python3 kb_workflow.py --content_subtitles
|
||||
```
|
||||
1.使用[kb-平台名称-content]技能获取内容
|
||||
2.输入文件:[知识库metadata目录/步骤3返回的文件名]
|
||||
3.输出目录:[知识库内容下载目录]
|
||||
4.结束时返回结果json
|
||||
```
|
||||
- 每5分钟检查一次子代理情况,将进度汇报给用户。
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
### 步骤 5: OCR 处理
|
||||
2. 启动子代理调用对应平台的 content 技能:
|
||||
```bash
|
||||
# Bilibili 视频
|
||||
python3 /path/to/bilibili_content.py --id "[ID]" --type video --output [content_dir]
|
||||
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
# Bilibili 字幕
|
||||
python3 /path/to/bilibili_content.py --id "[ID]" --type subtitle --output [subtitles_dir]
|
||||
```
|
||||
1.使用kb-ocr-processor技能通过视频帧解析字幕内容
|
||||
2.输入文件:[知识库内容下载目录/步骤4返回的文件名]
|
||||
3.输出目录:[知识库内容下载目录]
|
||||
4.结束时返回结果json
|
||||
|
||||
3. 解析输出 JSON,提取 video_filename 和 subtitle_filename(如有)
|
||||
|
||||
### 步骤 5: OCR 处理(可选)
|
||||
|
||||
如果步骤4没有获取到字幕,需要从视频截帧 OCR:
|
||||
|
||||
1. 获取目录路径:
|
||||
```bash
|
||||
python3 kb_workflow.py --content
|
||||
```
|
||||
- 每5分钟检查一次子代理情况,将进度汇报给用户。
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
2. 启动子代理调用 kb-ocr-processor:
|
||||
```bash
|
||||
python3 /path/to/ocr_processor.py --video [video_path] --output [content_dir]/ocr.json --merge
|
||||
```
|
||||
|
||||
3. 解析输出 JSON,生成 content 文件供步骤6使用
|
||||
|
||||
### 步骤 6: 深度分析
|
||||
|
||||
- 启动子代理
|
||||
- 将以下内容输入上下文:
|
||||
1. 获取目录路径:
|
||||
```bash
|
||||
python3 kb_workflow.py --analyzed
|
||||
```
|
||||
1.使用kb-deep-analyzer技能对字幕内容进行深度分析,总结提炼
|
||||
2.输入文件1:[元数据目录/步骤3返回的元数据文件名]
|
||||
3.输入文件2:[知识库内容下载目录/步骤5返回的字幕文件名]
|
||||
3.输出目录:[知识库analyzed目录]
|
||||
4.结束时返回结果json
|
||||
|
||||
2. 准备 content JSON 文件(包含 subtitle/description)
|
||||
|
||||
3. 启动子代理调用 kb-deep-analyzer:
|
||||
```bash
|
||||
python3 /path/to/deep_analyzer.py --metadata [meta_path] --content [content_path] --output [analyzed_dir]/[filename].md
|
||||
```
|
||||
- 每5分钟检查一次子代理情况,将进度汇报给用户。
|
||||
- 等待子代理结束返回
|
||||
- 如果返回错误,停止并汇报错误给用户。
|
||||
|
||||
4. 解析输出 JSON,获取分析结果
|
||||
|
||||
### 步骤 7: 归档
|
||||
|
||||
运行归档命令:
|
||||
```bash
|
||||
python3 kb_workflow.py --archive "[分析报告文件路径]"
|
||||
python3 kb_workflow.py --archive-file "[分析报告文件路径]"
|
||||
```
|
||||
|
||||
### 步骤 8: 汇报完成
|
||||
@@ -132,16 +149,17 @@ python3 kb_workflow.py --archive "[分析报告文件路径]"
|
||||
- 最终文件路径
|
||||
- Git commit 信息
|
||||
|
||||
|
||||
## 子技能清单
|
||||
|
||||
| 步骤 | 子技能 | 输入 | 输出 |
|
||||
|------|--------|------|------|
|
||||
| 2 | kb-link-parser | URL | pending/{p}_{id}.link.json |
|
||||
| 3 | kb-bilibili-metadata | link.json | metadata/{p}_{id}.meta.json |
|
||||
| 3 | kb-zhihu-metadata | link.json | metadata/{p}_{id}.meta.json |
|
||||
| 4 | kb-bilibili-content | meta.json | downloads/{p}_{id}.mp4, subtitles/{p}_{id}.srt |
|
||||
| 5 | kb-ocr-processor | srt/mp4 | {p}_{id}.txt |
|
||||
| 6 | kb-deep-analyzer | meta.json, txt | analyzed/{p}_{id}.md |
|
||||
| 步骤 | 子技能 | 命令示例 | 输出 |
|
||||
|------|--------|----------|------|
|
||||
| 2 | kb-link-parser | `--url "BVxxx"` | `{p}_{id}.link.json` |
|
||||
| 3 | kb-bilibili-metadata | `--id "BVxxx" --type video` | `{p}_{id}.meta.json` |
|
||||
| 3 | kb-zhihu-metadata | `--id "xxx" --type question` | `{p}_{id}.meta.json` |
|
||||
| 4 | kb-bilibili-content | `--id "BVxxx" --type video` | `{p}_{id}.{ext}` |
|
||||
| 5 | kb-ocr-processor | `--video xxx.flv --output ocr.json` | `ocr.json`, `ocr.txt` |
|
||||
| 6 | kb-deep-analyzer | `--metadata x.meta.json --content x.json --output x.md` | `{p}_{id}.md` |
|
||||
|
||||
## 目录结构
|
||||
|
||||
@@ -172,7 +190,7 @@ python3 kb_workflow.py --archive "[分析报告文件路径]"
|
||||
python3 kb_workflow.py --check --url "[URL]"
|
||||
|
||||
# 归档分析报告
|
||||
python3 kb_workflow.py --archive "[分析报告路径]"
|
||||
python3 kb_workflow.py --archive-file "[分析报告路径]"
|
||||
|
||||
|
||||
# ------------------- 目录路径查询 -------------------
|
||||
|
||||
Reference in New Issue
Block a user