5507b1d986
- 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
7.0 KiB
7.0 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| kb-workflow | 知识库工作流编排技能,提供收件箱扫描、内容处理、归档、订阅检测和汇报生成功能。 |
|
KB Workflow
Description
KB Workflow 是一个知识库工作流编排技能,负责协调和管理知识库内容的完整生命周期:
核心功能:
- 📥 收件箱扫描 - 扫描四个子目录 (pending, metadata, content, analyzed)
- 🔄 内容处理 - 调用技能2-4处理内容
- 📦 智能归档 - 将处理完成的内容归档到 archive/
- 🔔 订阅检测 - 检测订阅源的更新
- 📊 汇报生成 - 生成处理统计和推荐
Workflow Stages
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌──────────┐
│ pending │ → │ metadata│ → │ content │ → │ analyzed│ → │ archive/ │
└─────────┘ └─────────┘ └─────────┘ └─────────┘ └──────────┘
↓ ↓ ↓ ↓
Skill 2 Skill 3 Skill 4 ↓
(Link解析) (元数据提取) (内容分析) 最终归档
Installation
KB Workflow 作为 OpenClaw 技能套件的一部分,无需额外安装。
确保以下依赖已配置:
- Python 3.8+
- 知识库目录结构 (knowledge-base/)
Directory Structure
knowledge-base/
├── pending/ # 待处理的新内容
├── metadata/ # 已提取元数据
├── content/ # 已提取内容
├── analyzed/ # 已完成分析
├── archive/ # 归档内容
│ └── YYYY-MM-DD/ # 按日期归档
└── reports/ # 生成的汇报
Usage
命令行用法
# 查看工作流状态
python kb_workflow.py --trigger status
# 手动处理待处理内容
python kb_workflow.py --trigger manual --scope pending
# 处理所有新内容(限制5个)
python kb_workflow.py --trigger manual --limit 5
# 生成日报
python kb_workflow.py --trigger scheduled --report
# 检查订阅更新
python kb_workflow.py --trigger subscriptions
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
--trigger |
触发类型 | manual |
--scope |
处理范围 | all |
--limit |
处理数量限制 | 无限制 |
--report |
生成汇报 | False |
--output |
输出格式 | json |
触发类型
manual- 手动触发,立即处理scheduled- 定时任务触发webhook- Webhook 触发status- 仅查看状态report- 生成汇报subscriptions- 检查订阅
作用域
all- 所有目录pending- 仅待处理metadata- 仅元数据阶段content- 仅内容阶段analyzed- 仅已完成分析archive- 归档目录
Integration
技能2-4 集成
KB Workflow 协调以下子技能:
- Skill 2: Link Parser - 解析 URL/链接
- Skill 3: Zhihu Metadata - 提取元数据
- Skill 4: Bilibili Analyzer - 内容分析
调用示例
from kb_workflow import KBWorkflow
# 初始化
workflow = KBWorkflow(base_path="/path/to/knowledge-base")
# 扫描收件箱
inbox = workflow.scan_inbox(scope="pending")
print(f"待处理: {len(inbox['pending'])} 项")
# 处理项目
for item in inbox['pending'][:5]:
result = workflow.process_item(item)
print(f"处理结果: {result['success']}")
# 查看状态
status = workflow.get_status()
print(json.dumps(status, indent=2))
# 生成汇报
report = workflow.generate_report(period="daily")
Input/Output Formats
Input
扫描收件箱输入
{
"scope": "all", // 或 "pending", "metadata", "content", "analyzed"
"limit": 10 // 可选,限制返回数量
}
处理项目输入
{
"name": "example.md",
"path": "/path/to/knowledge-base/pending/example.md",
"extension": ".md",
"size": 1024,
"modified": "2026-02-10T12:00:00"
}
Output
状态输出
{
"status": "ready",
"timestamp": "2026-02-10T12:00:00",
"inbox": {
"pending": {"count": 5, "path": "/path/pending"},
"metadata": {"count": 3, "path": "/path/metadata"},
"content": {"count": 2, "path": "/path/content"},
"analyzed": {"count": 8, "path": "/path/analyzed"}
},
"archive": {
"count": 120,
"path": "/path/archive"
},
"total_items": 18
}
处理结果输出
{
"item": {"name": "example.md", ...},
"success": true,
"stages_completed": ["link_parsing", "metadata_extraction", "content_analysis"],
"output_path": "/path/analyzed/example.md",
"error": null
}
汇报输出
{
"generated_at": "2026-02-10T12:00:00",
"period": "daily",
"summary": {
"total_items_inbox": 18,
"total_archived": 120,
"items_by_stage": {...}
},
"processing_stats": {...},
"recommendations": [
"⚠️ 待处理内容较多 (15 项),建议优先处理",
"📦 已分析内容较多 (25 项),建议归档"
]
}
Configuration
KB Workflow 无需额外配置,自动使用以下路径:
- 知识库根目录:
skills/kb-workflow/knowledge-base/ - 归档目录:
skills/kb-workflow/knowledge-base/archive/ - 汇报目录:
skills/kb-workflow/knowledge-base/reports/
自定义路径
from kb_workflow import KBWorkflow
# 使用自定义路径
workflow = KBWorkflow(
base_path="/custom/knowledge-base",
archive_path="/custom/archive",
output_format="json"
)
Workflow Steps
完整处理流程
-
扫描收件箱
- 扫描
pending/目录获取新内容 - 扫描其他阶段目录获取待继续处理的内容
- 扫描
-
分类处理
- 新内容 → 提取链接/URL (Skill 2)
- 待提取元数据 → 提取元数据 (Skill 3)
- 待分析内容 → 深度分析 (Skill 4)
-
自动流转
- 处理完成后自动移动到下一阶段目录
-
归档
- 分析完成后可归档到
archive/YYYY-MM-DD/
- 分析完成后可归档到
-
汇报
- 生成处理统计
- 提供处理建议
定时任务示例
# 每天早上9点检查并处理新内容
0 9 * * * cd /path/to/skills/kb-workflow && python kb_workflow.py --trigger scheduled --scope pending --report
# 每小时检查订阅更新
0 * * * * cd /path/to/skills/kb-workflow && python kb_workflow.py --trigger subscriptions
Troubleshooting
常见问题
Q: 扫描不到内容? A: 确保知识库目录存在且包含正确的子目录 (pending, metadata, content, analyzed)
Q: 处理失败?
A: 检查日志输出,使用 --verbose 参数获取详细调试信息
Q: 如何查看处理进度?
A: 使用 --trigger status 查看各阶段的项目数量
Related Skills
- obsidian-kb - Obsidian 知识库管理
- link-parser - 链接解析
- zhihu-metadata - 知乎元数据提取
- bilibili-analyzer - B站视频分析
KB Workflow v1.0 - Knowledge Base Workflow Orchestration