diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 6d6d4fb..c758740 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -1,60 +1,139 @@ -# Requirements: kb-skills v1.5 +# Requirements: kb-skills v1.6 语义分段改进 -**Defined:** 2026-03-19 -**Core Value:** 简化 B 站视频处理流程,生成易读的 Markdown 文档 +**Defined:** 2026-03-21 +**Core Value:** 可靠、可维护的处理管道 - 每个步骤独立、可验证、可恢复 -## v1.5 Requirements +## v1.6 Requirements -### SRT Processing +语义分段改进需求。使用 LLM 实现智能分段,替代基于时间+长度的简单规则。 -- [x] **SRT-01**: 系统能解析 SRT 字幕文件格式 -- [x] **SRT-02**: 系统能移除时间戳,提取纯文本内容 -- [x] **SRT-03**: 系统能根据内容主题变化自动划分语义段落 -- [x] **SRT-04**: 系统能使用 LLM 根据上下文修正语音识别错误 +### 视频类型识别 (VIDEO) -### Output +- [ ] **VIDEO-01**: 系统能识别 B站视频的内容类型(知识类、故事类、访谈类、新闻类、vlog 等) +- [ ] **VIDEO-02**: 视频类型识别结果决定后续分段策略的选择 +- [ ] **VIDEO-03**: 视频类型识别具有容错性,识别失败时使用默认策略 -- [x] **OUT-01**: 系统能生成结构化的 Markdown 文件 -- [x] **OUT-02**: 系统能在 Markdown 中保留视频元数据(标题、作者等) -- [ ] **OUT-03**: 系统能保留原有的元数据处理功能(BilibiliAdapter) -- [x] **OUT-04**: 系统能继续生成视频标签(基于元数据) +### 语义边界检测 (BOUND) -### Scope Change +- [ ] **BOUND-01**: 系统能检测字幕中的话题转换点,在不同主题之间创建分段边界 +- [ ] **BOUND-02**: 边界检测基于语义分析,而非时间间隔或字符长度 +- [ ] **BOUND-03**: 话题切换时正确创建分段,不混入不同话题的内容 +- [ ] **BOUND-04**: 单个话题的内容保持完整,不会被错误截断 -- [ ] **SCOPE-01**: 移除深度观点分析功能(DeepAnalyzer) -- [ ] **SCOPE-02**: 仅针对 B 站视频,不影响其他平台处理器 +### 内容完整性保护 (COMP) + +- [ ] **COMP-01**: 分段不会在句子中间截断内容 +- [ ] **COMP-02**: 分段不会破坏论点的完整性(如前提-结论结构) +- [ ] **COMP-03**: 并列结构(首先、其次、最后)不会被错误拆分 + +### 主题标题生成 (TITLE) + +- [ ] **TITLE-01**: 系统能为主题/章节类型的分段生成描述性标题 +- [ ] **TITLE-02**: 标题简洁准确,反映分段的主要内容 +- [ ] **TITLE-03**: 论点/观点类型的分段只分段,不加标题 + +### 中文句边界检测 (SENT) + +- [ ] **SENT-01**: 系统能识别中文字幕的句子边界 +- [ ] **SENT-02**: 句边界检测基于语义停顿,而不仅依赖标点符号 +- [ ] **SENT-03**: 分段位置自然,保持内容的连贯性和可读性 + +### 分段策略 (STRAT) + +- [ ] **STRAT-01**: 系统提供至少 2 种分段策略(知识类、故事类) +- [ ] **STRAT-02**: 不同视频类型自动适配对应的分段策略 +- [ ] **STRAT-03**: 分段策略可扩展,便于未来添加新类型 + +### 鲁棒性 (ROBUST) + +- [ ] **ROBUST-01**: LLM 调用失败时自动降级到简单规则分段 +- [ ] **ROBUST-02**: LLM 响应解析失败时自动降级到简单规则分段 +- [ ] **ROBUST-03**: AI 不可用时自动使用简单规则分段 +- [ ] **ROBUST-04**: 降级过程有日志记录,便于问题诊断 + +### 成本控制 (COST) + +- [ ] **COST-01**: 长视频字幕进行分块处理,避免上下文窗口溢出 +- [ ] **COST-02**: 实现智能缓存,相同内容不重复调用 LLM +- [ ] **COST-03**: 提供配置开关,用户可选择是否启用 LLM 分段 + +### 输出格式 (OUTPUT) + +- [ ] **OUTPUT-01**: 主题/章节分段输出带标题的 Markdown 结构 +- [ ] **OUTPUT-02**: 论点/观点分段输出纯文本,保持原有风格 +- [ ] **OUTPUT-03**: 输出与现有 SRTProcessor 兼容,不影响其他平台处理 + +### 配置与兼容性 (CONFIG) + +- [ ] **CONFIG-01**: LLM 分段功能可通过配置启用/禁用 +- [ ] **CONFIG-02**: 向后兼容,不破坏现有简单规则分段 +- [ ] **CONFIG-03**: 知乎/文章平台继续使用 AnalyzeProcessor,不受影响 + +## v2.0 Requirements + +延后到未来版本的功能。 + +- **分层主题结构** — 支持多级主题层次(章-节) +- **分段质量评分** — 给出分段质量的可信度 +- **说话人识别集成** — 结合说话者变化优化分段 +- **可配置分段粒度** — 用户可控制分段密度 ## Out of Scope -| Feature | Reason | -|---------|--------| -| 知乎内容处理 | 本次只改 B 站 | -| 观点提炼 | 明确移除 | -| 并行处理 | 不需要 | -| 进度显示 | Deferred | +明确排除的功能。 + +| 功能 | 原因 | +|------|------| +| 固定大小分段 | 违背语义分段初衷,破坏内容完整性 | +| 实时流式分段 | 需要全局上下文才能做出好的分段决策 | +| 多模态融合 | 需要视频帧分析,超出纯文本处理范围 | +| 分段合并建议 | v1.6 专注于核心分段功能 | +| 时间戳对齐 | v1.6 可以简化处理,延后到 v2.0 | ## Traceability -Which phases cover which requirements. Updated during roadmap creation. +需求与阶段的映射关系(在路线图创建时填充)。 | Requirement | Phase | Status | |-------------|-------|--------| -| SRT-01 | Phase 12 | Complete | -| SRT-02 | Phase 12 | Complete | -| SRT-03 | Phase 12 | Complete | -| SRT-04 | Phase 12 | Complete | -| OUT-01 | Phase 12 | Complete | -| OUT-02 | Phase 12 | Complete | -| OUT-03 | Phase 12 | Pending | -| OUT-04 | Phase 12 | Complete | -| SCOPE-01 | Phase 12 | Pending | -| SCOPE-02 | Phase 12 | Pending | +| VIDEO-01 | Phase 13 | Pending | +| VIDEO-02 | Phase 13 | Pending | +| VIDEO-03 | Phase 13 | Pending | +| BOUND-01 | Phase 13 | Pending | +| BOUND-02 | Phase 13 | Pending | +| BOUND-03 | Phase 13 | Pending | +| BOUND-04 | Phase 13 | Pending | +| COMP-01 | Phase 13 | Pending | +| COMP-02 | Phase 13 | Pending | +| COMP-03 | Phase 13 | Pending | +| TITLE-01 | Phase 13 | Pending | +| TITLE-02 | Phase 13 | Pending | +| TITLE-03 | Phase 13 | Pending | +| SENT-01 | Phase 13 | Pending | +| SENT-02 | Phase 13 | Pending | +| SENT-03 | Phase 13 | Pending | +| STRAT-01 | Phase 13 | Pending | +| STRAT-02 | Phase 13 | Pending | +| STRAT-03 | Phase 13 | Pending | +| ROBUST-01 | Phase 14 | Pending | +| ROBUST-02 | Phase 14 | Pending | +| ROBUST-03 | Phase 14 | Pending | +| ROBUST-04 | Phase 14 | Pending | +| COST-01 | Phase 14 | Pending | +| COST-02 | Phase 14 | Pending | +| COST-03 | Phase 14 | Pending | +| OUTPUT-01 | Phase 15 | Pending | +| OUTPUT-02 | Phase 15 | Pending | +| OUTPUT-03 | Phase 15 | Pending | +| CONFIG-01 | Phase 15 | Pending | +| CONFIG-02 | Phase 15 | Pending | +| CONFIG-03 | Phase 15 | Pending | **Coverage:** -- v1.5 requirements: 10 total -- Mapped to phases: 10 -- Unmapped: 0 ✓ +- v1.6 requirements: 30 total +- Mapped to phases: 0 (待路线图创建) +- Unmapped: 30 ⚠️ --- -*Requirements defined: 2026-03-19* -*Last updated: 2026-03-19 after initial definition* +*Requirements defined: 2026-03-21* +*Last updated: 2026-03-21 after initial definition*