51decc247d
只保留简洁的步骤描述:启动子代理并传入上一步返回结果
105 lines
2.6 KiB
Markdown
105 lines
2.6 KiB
Markdown
---
|
|
name: kb-workflow
|
|
description: 知识库工作流编排技能。接收"添加到知识库 + 链接"消息,完成完整处理流程。
|
|
metadata:
|
|
short-description: 知识库工作流编排
|
|
---
|
|
|
|
# KB Workflow
|
|
|
|
## 触发条件
|
|
|
|
当用户发送包含以下模式的消息时,此技能自动触发:
|
|
|
|
| 触发词 | 行为 | 示例 |
|
|
|--------|------|------|
|
|
| `添加到知识库` + 链接 | 添加到知识库并处理 | "添加到知识库 https://www.bilibili.com/video/BVxxx" |
|
|
| `保存到知识库` + 链接 | 同上 | "保存到知识库 https://www.bilibili.com/video/BVxxx" |
|
|
|
|
## Workflow 步骤
|
|
|
|
当触发后,按照以下步骤执行:
|
|
|
|
### 步骤 1: 查重
|
|
|
|
运行查重命令:
|
|
```bash
|
|
python3 kb_workflow.py --check --url "[URL]"
|
|
```
|
|
|
|
- 如果存在:汇报用户并询问是更新还是跳过
|
|
- 如果不存在:继续步骤 2
|
|
|
|
### 步骤 2: 链接解析
|
|
|
|
启动 kb-link-parser 子代理,传入 URL,返回链接解析结果文件路径。
|
|
|
|
### 步骤 3: 元数据提取
|
|
|
|
根据步骤 2 返回的文件名提取平台,启动对应平台的元数据子代理,传入链接解析结果,返回元数据文件路径。
|
|
|
|
### 步骤 4: 内容下载
|
|
|
|
根据步骤 2 返回的文件名提取平台,启动对应平台的内容下载子代理,传入元数据文件路径,返回视频和字幕文件路径。
|
|
|
|
### 步骤 5: OCR 处理
|
|
|
|
如果有字幕或视频,启动 OCR 子代理,传入字幕或视频文件路径,返回文字内容文件路径。
|
|
|
|
### 步骤 6: 深度分析
|
|
|
|
启动深度分析子代理,传入元数据文件路径和文字内容文件路径(如有),返回分析报告文件路径。
|
|
|
|
### 步骤 7: 归档
|
|
|
|
运行归档命令:
|
|
```bash
|
|
python3 kb_workflow.py --archive "[分析报告文件路径]"
|
|
```
|
|
|
|
### 步骤 8: 汇报完成
|
|
|
|
向用户汇报:
|
|
- 视频标题
|
|
- 处理阶段完成情况
|
|
- 最终文件路径
|
|
- Git commit 信息
|
|
|
|
## 目录结构
|
|
|
|
```
|
|
~/work/knowledge-base/
|
|
├── archive/
|
|
│ └── YYYY-MM-DD/
|
|
│ └── {platform}_{id}.md
|
|
│ └── {platform}_{id}.meta.json
|
|
├── pending/
|
|
│ └── {platform}_{id}.link.json
|
|
├── metadata/
|
|
│ └── {platform}_{id}.meta.json
|
|
├── content/
|
|
│ ├── downloads/
|
|
│ │ └── {platform}_{id}.mp4
|
|
│ ├── subtitles/
|
|
│ │ └── {platform}_{id}.srt
|
|
│ └── {platform}_{id}.txt
|
|
└── analyzed/
|
|
└── {platform}_{id}.md
|
|
```
|
|
|
|
## 辅助命令
|
|
|
|
```bash
|
|
# 查重
|
|
python3 kb_workflow.py --check --url "[URL]"
|
|
|
|
# 归档
|
|
python3 kb_workflow.py --archive "[分析报告路径]"
|
|
```
|
|
|
|
## 环境变量(可选)
|
|
|
|
```bash
|
|
export KB_BASE_PATH="~/work/knowledge-base"
|
|
```
|