This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kb-skills/.planning/PROJECT.md
T
starmen1265 c8dcc3e09b
PR Test / lint (pull_request) Successful in 2s
chore: complete v1.5 milestone - B站字幕简化处理
- Archive roadmap to milestones/v1.5-ROADMAP.md
- Archive requirements to milestones/v1.5-REQUIREMENTS.md
- Update ROADMAP.md with collapsed v1.5 entry
- Update PROJECT.md with validated requirements
- Add semantic segmentation to backlog

Delivered: B站视频简化处理流程

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 23:24:59 +08:00

9.9 KiB
Raw Blame History

kb-skills 工作流重构

Current State: v1.5 B站字幕简化处理 (Shipped 2026-03-21)

Delivered: B站视频简化处理流程 — 基于 SRT 字幕生成易读的 Markdown 文档

Key Features:

  • SRT 字幕解析与时间戳去除
  • 简单语义分段(基于时间间隔和长度)
  • LLM 自动纠正语音识别错误(可选)
  • Pipeline 平台路由(B站视频使用 SRTProcessor)
  • 文件命名包含视频标题

Previous Milestones

v1.4 Zhihu Anti-Crawler (Shipped: 2026-03-18):

  • 浏览器指纹伪装 (Stealth) — 使用 playwright-stealth 隐藏自动化特征
  • ZhihuCrawler 集成 — 默认启用 stealth,绕过反爬检测

v1.3 Proxy Pool (Shipped: 2026-03-18):

  • 代理池管理 (ProxyPool) — 支持 YAML/环境变量配置,Round-Robin 轮换,健康检查

v1.2 Zhihu Crawler (Shipped: 2026-03-17):

  • 知乎登录认证 — 二维码扫码登录 + 手动 Cookie 降级
  • 知乎内容爬取 — 问答、专栏、评论

v1.1 Architecture Refactor (Shipped: 2026-03-16):

  • 中间目录调整 — 统一到 ~/work/intermediate/analysis/
  • 归档步骤 — 分析完成后自动归档到最终目录

v1.0 Pipeline Architecture (Shipped: 2026-03-15):

  • 管道架构 — WorkflowStateManager, BaseProcessor, Pipeline 类
  • 平台适配器 — BilibiliAdapter, ZhihuAdapter
  • CLI 入口 — kb-workflow process <url>

What This Is

一个基于管道模型的知识库内容处理技能体系。将外部链接(B站视频/专栏、知乎问答/专栏)转换为结构化的深度分析报告,支持幂等执行和断点续传。

使用方式:

python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx"

Core Value

可靠、可维护的处理管道 - 每个步骤独立、可验证、可恢复。无论何时失败,都能从断点继续,不会丢失已完成的进度。

Requirements

Validated

v1.5 B站字幕简化处理 (2026-03-21):

  • ✓ SRT-01: SRT 字幕解析 — 读取 SRT 文件,提取纯文本和时间戳
  • ✓ SRT-02: 去除时间戳 — 移除时间码,保留字幕文本
  • ✓ SRT-03: 简单分段 — 基于时间间隔(3秒)和长度(500字符)分段
  • ✓ SRT-04: LLM 纠正 — 使用 SimpleAIClient 纠正语音识别错误(可选)
  • ✓ OUT-01: Markdown 输出 — 生成包含元数据和内容的 Markdown 文件
  • ✓ OUT-02: 元数据保留 — 标题、作者、时长、标签等
  • ✓ OUT-03: 标签生成 — 继续正常生成视频标签
  • ✓ OUT-04: 平台路由 — B站视频使用 SRTProcessor,其他平台使用 AnalyzeProcessor
  • ✓ SCOPE-01: DeepAnalyzer 弃用 — 添加弃用警告(仅针对 B站视频)
  • ✓ SCOPE-02: 其他平台不受影响 — 知乎/文章继续使用 AnalyzeProcessor

v1.4 Zhihu Anti-Crawler (2026-03-18):

  • ✓ STEALTH-01: 隐藏 navigator.webdriver 属性
  • ✓ STEALTH-02: 移除 Playwright 特有属性(__playwright, pwInspect 等)
  • ✓ STEALTH-03: 模拟正常浏览器的 Chrome 属性
  • ✓ STEALTH-04: 修改 User-Agent 为正常浏览器格式
  • ✓ VERIFY-01: ZhihuCrawler 集成指纹伪装后能正常访问问答页面
  • ✓ VERIFY-02: 保持现有功能不变(登录、Cookie、内容爬取)

v1.3 Proxy Pool (2026-03-18):

  • ✓ PROXY-01: 代理池配置 — 支持从 YAML 文件或环境变量加载多个代理
  • ✓ PROXY-02: 自动轮换 — Round-Robin 策略自动选择下一个代理
  • ✓ PROXY-03: 健康检查 — 代理失败检测与冷却恢复机制
  • ✓ PROXY-04: 失败回退 — 当前代理失败时自动切换到备用代理

v1.2 Zhihu Crawler (2026-03-17):

  • ✓ ZHIHU-01: 二维码扫码登录 — playwright 提取二维码,用户扫码
  • ✓ ZHIHU-02: 手动 Cookie 降级 — 扫码失败时支持手动设置 Cookie
  • ✓ ZHIHU-03: Cookie 持久化 — 本地存储 Cookie,自动复用
  • ✓ ZHIHU-04: 问答内容爬取 — 问题标题、回答内容、元数据
  • ✓ ZHIHU-05: 专栏/文章爬取 — 文章标题、正文、元数据
  • ✓ ZHIHU-06: 评论爬取 — 支持爬取内容下的评论
  • ✓ ZHIHU-07: 代理 IP 支持 — 降低被封风险
  • ✓ ZHIHU-08: Pipeline 整合 — 替换现有知乎处理器

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

(当前无活跃需求 — 等待下一里程碑规划)

Deferred / Backlog

  • 语义分段改进 — 当前基于简单规则(时间+长度),无法识别话题转换(已记录到 .planning/backlog/semantic-segmentation.md)
  • ADV-01: 进度可见性 — 实时显示工作流执行进度
  • ADV-02: 并行步骤执行 — 支持独立步骤的并行执行
  • ADV-03: 说话者分离默认启用 — HF_TOKEN 配置后自动使用
  • EXT-01: 微信公众号处理 — 支持微信公众号文章
  • ZHIHU-F01: 问题下所有回答 — 爬取问题的所有热门回答
  • ZHIHU-F02: 作者全部内容 — 爬取某作者的所有文章/回答

Out of Scope

  • 实时/流式处理 — 批量处理即可
  • 并发限制 — 不需要限制并发数量
  • 用户界面 — 命令行运行
  • 多语言支持 — 中文即可
  • 小红书 — 当前不支持
  • 知乎会员付费内容 — 不爬取付费内容
  • 知乎视频 — v1.2 不支持
  • 大规模爬取 — 仅用于个人知识库
  • 付费打码服务 — 使用二维码登录替代

Context

当前架构 (v1.5)

  • 核心模块: kb_workflow/ — Pipeline, Processors, Schemas
  • SRT 处理: kb_workflow/srt/ — parser, segmenter, corrector
  • CLI 入口: kb-workflow/kb_workflow.py process
  • 平台适配器: BilibiliAdapter, ZhihuAdapter
  • 处理器: ParseProcessor, DownloadProcessor, SRTProcessor, 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 — 避免依赖问题
代理池索引指针 使用 index pointer 而非 itertools.cycle ✓ Good — 更好的可测试性
惰性冷却检查 get_next_proxy() 中惰性检查而非后台定时器 ✓ Good — 简化实现
代理池优先级 ProxyPool 参数优先于 config.proxy ✓ Good — 向后兼容
playwright-stealth 使用外部库实现指纹伪装 ✓ Good — 成熟方案,活跃维护
stealth 默认启用 stealth_config=None 时默认启用 ✓ Good — 向后兼容,无需修改现有代码
SRT 独立模块 SRT 处理独立于 DeepAnalyzer,位于 kb_workflow/srt/ ✓ Good — 职责分离
简单分段规则 语义分段基于时间间隔+长度,不依赖 LLM ✓ Good — 快速,低成本
ASR 纠错可选 AI 不可用时返回原文 ✓ Good — 降级策略
平台路由 B站视频使用 SRTProcessor,其他使用 AnalyzeProcessor ✓ Good — 灵活性
disable_reasoning 参数 ASR 纠错禁用思考模式获得直接结果 ✓ Good — 避免 AI 分析过程输出

Last updated: 2026-03-21 after completing v1.5 milestone