- 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>
This commit is contained in:
+70
-42
@@ -1,14 +1,15 @@
|
||||
# kb-skills 工作流重构
|
||||
|
||||
## Current Milestone: v1.5 B站字幕简化处理
|
||||
## Current State: v1.5 B站字幕简化处理 (Shipped 2026-03-21)
|
||||
|
||||
**Goal:** 简化 B 站视频处理流程,基于 SRT 字幕生成易读的 Markdown 文档
|
||||
**Delivered:** B站视频简化处理流程 — 基于 SRT 字幕生成易读的 Markdown 文档
|
||||
|
||||
**Target features:**
|
||||
**Key Features:**
|
||||
- SRT 字幕解析与时间戳去除
|
||||
- 语义分段(LLM 根据内容主题自动划分)
|
||||
- LLM 自动纠正语音识别错误
|
||||
- 移除深度观点分析功能
|
||||
- 简单语义分段(基于时间间隔和长度)
|
||||
- LLM 自动纠正语音识别错误(可选)
|
||||
- Pipeline 平台路由(B站视频使用 SRTProcessor)
|
||||
- 文件命名包含视频标题
|
||||
|
||||
## Previous Milestones
|
||||
|
||||
@@ -19,6 +20,19 @@
|
||||
**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站视频/专栏、知乎问答/专栏)转换为结构化的深度分析报告,支持幂等执行和断点续传。
|
||||
@@ -36,6 +50,42 @@ python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx
|
||||
|
||||
### 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**: 归档步骤 — 分析完成后自动归档到最终目录
|
||||
@@ -69,42 +119,13 @@ python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx
|
||||
- ✓ OCR 文字识别 — ocr_processor.py
|
||||
- ✓ AI 深度分析 — deep_analyzer.py
|
||||
|
||||
**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.3 Proxy Pool (2026-03-18):**
|
||||
- ✓ **PROXY-01**: 代理池配置 — 支持从 YAML 文件或环境变量加载多个代理
|
||||
- ✓ **PROXY-02**: 自动轮换 — Round-Robin 策略自动选择下一个代理
|
||||
- ✓ **PROXY-03**: 健康检查 — 代理失败检测与冷却恢复机制
|
||||
- ✓ **PROXY-04**: 失败回退 — 当前代理失败时自动切换到备用代理
|
||||
|
||||
**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、内容爬取)
|
||||
|
||||
### Active
|
||||
|
||||
**v1.5 B站字幕简化处理:**
|
||||
- [ ] **SRT-01**: SRT 字幕解析 — 读取生成的 SRT 文件,提取纯文本
|
||||
- [ ] **SRT-02**: 去除时间戳 — 移除时间码,保留字幕文本
|
||||
- [ ] **SRT-03**: 语义分段 — LLM 根据内容主题变化自动划分段落
|
||||
- [ ] **SRT-04**: LLM 纠正 — 根据上下文自动修正语音识别错误
|
||||
- [ ] **SRT-05**: Markdown 输出 — 生成结构化的 Markdown 文件
|
||||
- [ ] **SRT-06**: 移除观点提炼 — 不再做深度观点分析
|
||||
(当前无活跃需求 — 等待下一里程碑规划)
|
||||
|
||||
### Deferred
|
||||
### Deferred / Backlog
|
||||
|
||||
- [ ] **语义分段改进** — 当前基于简单规则(时间+长度),无法识别话题转换(已记录到 `.planning/backlog/semantic-segmentation.md`)
|
||||
- [ ] **ADV-01**: 进度可见性 — 实时显示工作流执行进度
|
||||
- [ ] **ADV-02**: 并行步骤执行 — 支持独立步骤的并行执行
|
||||
- [ ] **ADV-03**: 说话者分离默认启用 — HF_TOKEN 配置后自动使用
|
||||
@@ -126,11 +147,12 @@ python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx
|
||||
|
||||
## Context
|
||||
|
||||
### 当前架构 (v1.0)
|
||||
- **核心模块**: `kb_pipeline/` — Pipeline、Processors、Schemas
|
||||
### 当前架构 (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, ASRProcessor, AnalyzeProcessor
|
||||
- **处理器**: ParseProcessor, DownloadProcessor, SRTProcessor, AnalyzeProcessor
|
||||
- **测试覆盖**: 单元测试 + E2E 集成测试
|
||||
|
||||
### 技术栈
|
||||
@@ -142,6 +164,7 @@ python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx
|
||||
### 技术债务
|
||||
- 环境变量配置分散 (~/.kb_env, HF_TOKEN, ZHIHU_COOKIE)
|
||||
- SKILL.md 需要更新为简化的 CLI 使用方式
|
||||
- 语义分段需要改进(基于简单规则,无法识别话题转换)
|
||||
|
||||
## Constraints
|
||||
|
||||
@@ -165,6 +188,11 @@ python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx
|
||||
| 代理池优先级 | 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-19 after starting v1.5 milestone*
|
||||
*Last updated: 2026-03-21 after completing v1.5 milestone*
|
||||
|
||||
Reference in New Issue
Block a user