# kb-skills 工作流重构 ## Current Milestone: v1.2 Zhihu Crawler **Goal:** 构建可靠的知乎内容爬取体系 — 解决 Cookie 过期问题,支持自动登录维持 **Target features:** - 二维码扫码登录 + 手动 Cookie 降级 - Cookie 持久化存储 - 问答/专栏/文章内容爬取 - 评论爬取支持 - 代理 IP 支持 - 整合进现有 Pipeline ## What This Is 一个基于管道模型的知识库内容处理技能体系。将外部链接(B站视频/专栏、知乎问答/专栏)转换为结构化的深度分析报告,支持幂等执行和断点续传。 **使用方式:** ```bash 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/StepOutput` schemas - ✓ **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*