feat: Add KB knowledge base series skills
- kb-link-parser: Multi-platform URL parser (Bilibili, YouTube, Zhihu) - kb-bilibili-metadata: Bilibili video/article/up主 metadata extractor - kb-zhihu-metadata: Zhihu question/answer/user metadata extractor - kb-bilibili-content: Bilibili video download and content extraction - kb-ocr-processor: OCR text extraction from video frames - kb-deep-analyzer: AI-powered deep content analysis - kb-workflow: Workflow orchestration (inbox, archive, subscriptions, report) Also add: - ARCHITECTURE_FLOWCHART.md: System architecture diagrams - DETAILED_DESIGN.md: Complete design documentation
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
# 知识库维护系统 - 整体流程图
|
||||
|
||||
## 1. 用户交互流程(接收链接)
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[用户发送链接] --> B{技能1: 链接解析}
|
||||
B --> C{类型判断}
|
||||
|
||||
C -->|单个内容| D[直接解析]
|
||||
C -->|列表类型| E[询问用户]
|
||||
|
||||
E --> F[处理范围选择]
|
||||
F --> G[订阅选项选择]
|
||||
G --> H[写入订阅配置]
|
||||
|
||||
D --> I[写入收件箱 pending/]
|
||||
H --> I
|
||||
|
||||
I --> J[返回用户: 已收录]
|
||||
```
|
||||
|
||||
## 2. 定时任务/手动触发流程
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[定时任务触发<br/>或手动触发] --> B[技能5: 工作流编排]
|
||||
B --> C[扫描收件箱]
|
||||
|
||||
C --> D{pending/ 目录}
|
||||
D -->|有待处理| E[获取待处理列表]
|
||||
D -->|无| F[检查订阅更新]
|
||||
|
||||
E --> G[技能2: 获取元数据]
|
||||
G --> H[更新状态: metadata_ready]
|
||||
H --> I[技能3: 获取内容]
|
||||
I --> J[更新状态: content_ready]
|
||||
J --> K[技能4: 深度分析]
|
||||
K --> L[归档到 archive/]
|
||||
L --> M[更新订阅追踪]
|
||||
M --> N[继续处理下一个]
|
||||
|
||||
F --> O{有订阅?}
|
||||
O -->|是| P[检测更新]
|
||||
P --> Q[新增内容加入 pending/]
|
||||
Q --> R[更新订阅时间]
|
||||
|
||||
O -->|否| S[跳过]
|
||||
|
||||
N --> T{还有待处理?}
|
||||
T -->|是| E
|
||||
T -->|否| U[生成汇报文件]
|
||||
U --> V[完成]
|
||||
```
|
||||
|
||||
## 3. 完整主流程(简化版)
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph 用户交互
|
||||
A[用户发送链接] --> B[技能1: link-parser]
|
||||
B --> C{内容类型}
|
||||
C -->|单个| D[直接处理]
|
||||
C -->|列表| E[询问用户选项]
|
||||
E --> F[保存订阅配置]
|
||||
D --> G[写入收件箱 pending/]
|
||||
F --> G
|
||||
end
|
||||
|
||||
subgraph 定时处理
|
||||
H[定时/手动触发] --> I[技能5: kb-workflow]
|
||||
I --> J[扫描收件箱]
|
||||
J --> K[技能2: metadata-fetcher]
|
||||
K --> L[技能3: content-fetcher]
|
||||
L --> M[技能4: deep-analyzer]
|
||||
M --> N[归档]
|
||||
N --> O[更新订阅]
|
||||
O --> P[生成汇报]
|
||||
end
|
||||
|
||||
G --> H
|
||||
|
||||
style A fill:#e1f5fe
|
||||
style I fill:#fff3e0
|
||||
style K fill:#f3e5f5
|
||||
style L fill:#e8f5e9
|
||||
style M fill:#fce4ec
|
||||
```
|
||||
|
||||
## 4. 各平台技能调用关系
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph 技能1
|
||||
LP[link-parser]
|
||||
end
|
||||
|
||||
subgraph 技能2[元数据获取]
|
||||
BM[bilibili-metadata]
|
||||
YM[ youtube-metadata]
|
||||
ZM[ zhihu-metadata]
|
||||
end
|
||||
|
||||
subgraph 技能3[内容获取]
|
||||
BC[bilibili-content]
|
||||
OC[ocr-processor]
|
||||
end
|
||||
|
||||
subgraph 技能4
|
||||
DA[deep-analyzer]
|
||||
end
|
||||
|
||||
LP -->|解析结果| BM
|
||||
LP -->|解析结果| YM
|
||||
LP -->|解析结果| ZM
|
||||
|
||||
BM -->|元数据| BC
|
||||
BC -->|低分视频| OC
|
||||
OC -->|OCR结果| DA
|
||||
BM -->|元数据| DA
|
||||
```
|
||||
|
||||
## 5. 数据流转
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph 输入
|
||||
URL[用户链接]
|
||||
end
|
||||
|
||||
subgraph 收件箱
|
||||
P[pending/]
|
||||
M[metadata/]
|
||||
C[content/]
|
||||
end
|
||||
|
||||
subgraph 输出
|
||||
A[archive/YYYY/MM/]
|
||||
R[report.json]
|
||||
end
|
||||
|
||||
URL -->|技能1| P
|
||||
P -->|技能2| M
|
||||
M -->|技能3| C
|
||||
C -->|技能4| A
|
||||
A -.->|统计| R
|
||||
|
||||
style P fill:#fffde7
|
||||
style M fill:#e3f2fd
|
||||
style C fill:#e8f5e9
|
||||
style A fill:#f3e5f5
|
||||
```
|
||||
|
||||
## 6. 状态流转
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> pending: 链接收录
|
||||
pending --> metadata: 技能2完成
|
||||
metadata --> content: 技能3完成
|
||||
content --> analyzed: 技能4完成
|
||||
analyzed --> archived: 归档完成
|
||||
archived --> [*]
|
||||
|
||||
pending --> skipped: 跳过
|
||||
metadata --> failed: 元数据获取失败
|
||||
content --> failed: 内容获取失败
|
||||
analyzed --> failed: 分析失败
|
||||
|
||||
failed --> retry: 重试
|
||||
retry --> pending
|
||||
retry --> metadata
|
||||
retry --> content
|
||||
```
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user