--- 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" ```