5.8 KiB
5.8 KiB
kb-skills 工作流重构
Current Milestone: v1.2 Zhihu Crawler
Goal: 构建可靠的知乎内容爬取体系 — 解决 Cookie 过期问题,支持自动登录维持
Target features:
- 二维码扫码登录 + 手动 Cookie 降级
- Cookie 持久化存储
- 问答/专栏/文章内容爬取
- 评论爬取支持
- 代理 IP 支持
- 整合进现有 Pipeline
What This Is
一个基于管道模型的知识库内容处理技能体系。将外部链接(B站视频/专栏、知乎问答/专栏)转换为结构化的深度分析报告,支持幂等执行和断点续传。
使用方式:
python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx"
Core Value
可靠、可维护的处理管道 - 每个步骤独立、可验证、可恢复。无论何时失败,都能从断点继续,不会丢失已完成的进度。
Requirements
Validated
v1.1 Architecture Refactor (2026-03-16):
- ✓ REF-01: 中间目录调整 — 统一到
~/work/intermediate/analysis/ - ✓ REF-02: 归档步骤 — 分析完成后自动归档到最终目录
- ✓ REF-03: 最终目录结构 — 按平台分目录,文件前缀加时间戳
- ✓ REF-04: 元数据技能整合 — kb-bilibili-metadata + kb-zhihu-metadata → kb-workflow
- ✓ REF-05: Pipeline 整合 — kb-pipeline 合并进 kb-workflow
v1.0 管道架构 (2026-03-15):
- ✓ PIPE-01: 统一的管道模型 —
kb_pipeline/pipeline.py - ✓ PIPE-02: 步骤级状态管理 —
WorkflowStateManager - ✓ PIPE-03: 统一 JSON Schema —
StepInput/StepOutputschemas - ✓ PIPE-04: 幂等执行保证 —
IdempotencyChecker - ✓ PIPE-05: 错误恢复策略 — 重试机制 + 降级策略
- ✓ PIPE-06: 清晰的流程定义 — 每个处理器有明确的输入/输出
- ✓ PIPE-07: Schema 验证机制 — Pydantic 验证
- ✓ PIPE-08: 代码结构清晰化 —
kb_pipeline/模块化设计 - ✓ REL-01~03: 可靠性要求 — 幂等执行、错误恢复、流程定义
- ✓ VAL-01: Schema 验证机制
- ✓ MNT-01~03: 可维护性要求 — 清晰结构、统一配置、错误处理
- ✓ PLAT-01~03: 平台支持 — B站视频/专栏、知乎问答/专栏
原有技能 (已验证):
- ✓ B站视频元数据提取 — bilibili_metadata.py
- ✓ B站视频/专栏内容下载 — bilibili_content.py
- ✓ B站字幕下载(官方字幕) — bilibili_content.py
- ✓ 知乎元数据提取 — zhihu_metadata.py
- ✓ 知乎文章/问答内容提取 — zhihu_content.py
- ✓ Whisper 语音识别 — whisper.py
- ✓ 说话者分离 — whisper_diarization.py
- ✓ FunASR 中文语音识别 — funasr_runner.py
- ✓ OCR 文字识别 — ocr_processor.py
- ✓ AI 深度分析 — deep_analyzer.py
Active
v1.2 Zhihu Crawler:
- ZHIHU-01: 二维码扫码登录 — playwright 提取二维码,用户扫码
- ZHIHU-02: 手动 Cookie 降级 — 扫码失败时支持手动设置 Cookie
- ZHIHU-03: Cookie 持久化 — 本地存储 Cookie,自动复用
- ZHIHU-04: 问答内容爬取 — 问题标题、回答内容、元数据
- ZHIHU-05: 专栏/文章爬取 — 文章标题、正文、元数据
- ZHIHU-06: 评论爬取 — 支持爬取内容下的评论
- ZHIHU-07: 代理 IP 支持 — 降低被封风险
- ZHIHU-08: Pipeline 整合 — 替换现有知乎处理器
Deferred
- ADV-01: 进度可见性 — 实时显示工作流执行进度
- ADV-02: 并行步骤执行 — 支持独立步骤的并行执行
- ADV-03: 说话者分离默认启用 — HF_TOKEN 配置后自动使用
- EXT-01: 微信公众号处理 — 支持微信公众号文章
- ZHIHU-F01: 问题下所有回答 — 爬取问题的所有热门回答
- ZHIHU-F02: 作者全部内容 — 爬取某作者的所有文章/回答
Out of Scope
- 实时/流式处理 — 批量处理即可
- 并发限制 — 不需要限制并发数量
- 用户界面 — 命令行运行
- 多语言支持 — 中文即可
- 小红书 — 当前不支持
- 知乎会员付费内容 — 不爬取付费内容
- 知乎视频 — v1.2 不支持
- 大规模爬取 — 仅用于个人知识库
- 付费打码服务 — 使用二维码登录替代
Context
当前架构 (v1.0)
- 核心模块:
kb_pipeline/— Pipeline、Processors、Schemas - CLI 入口:
kb-workflow/kb_workflow.py process - 平台适配器: BilibiliAdapter, ZhihuAdapter
- 处理器: ParseProcessor, DownloadProcessor, ASRProcessor, AnalyzeProcessor
- 测试覆盖: 单元测试 + E2E 集成测试
技术栈
- Python 3.12+
- Pydantic v2 (数据验证)
- asyncio (异步执行)
- pytest (测试框架)
技术债务
- 环境变量配置分散 (~/.kb_env, HF_TOKEN, ZHIHU_COOKIE)
- SKILL.md 需要更新为简化的 CLI 使用方式
Constraints
- Tech Stack: Python 3.12+, Pydantic v2
- Compatibility: 可破坏性更新
- Scope: 只支持 B站和知乎
- State Granularity: 步骤级状态管理
Key Decisions
| Decision | Rationale | Outcome |
|---|---|---|
| 管道模型 | 每个步骤独立,输入→处理→输出,串联执行 | ✓ Good — 清晰的处理器边界 |
| 步骤级状态 | 记录主要步骤状态,支持断点续传 | ✓ Good — WorkflowStateManager 实现 |
| Schema 验证 | 只验证 JSON Schema,内容正确性由步骤保证 | ✓ Good — Pydantic 验证 |
| 顺序执行 | Pipeline 使用顺序执行而非并行 | ✓ Good — 简单性和可调试性 |
| CLI subparsers | 使用 argparse subparsers 组织命令 | ✓ Good — 可扩展的 CLI 结构 |
| 懒加载导入 | AnalyzeProcessor 懒加载 DeepAnalyzer | ✓ Good — 避免依赖问题 |
Last updated: 2026-03-17 after v1.2 milestone started