This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw-skills/memory/plans/video-chunking-implementation.md
T
OpenClaw Agent 7e0acef4f9 feat: add skills and workspace files
- Add complete skill set including feishu, github, ci-gen, etc.
- Add workspace documentation (AGENTS.md, SOUL.md, etc.)
- Add memory system and project context
2026-02-06 19:14:24 +08:00

100 lines
4.0 KiB
Markdown

# 长视频分段分析功能 - 实现计划
**Goal:** 实现动态混合策略处理超长视频(30分钟以上),解决上下文溢出问题
**Approach:** 方案C - 根据视频时长动态选择处理策略(<30min直接分析,30-60min分2段,60min+分多段)
**Estimated Total Time:** 45-60 minutes
---
## Checkpoint 1: 基础结构搭建
*目标:创建字幕分割工具和配置更新*
- [ ] **Task 1.1:** 创建 `src/content_chunker.py` 模块 (~10 min)
- **Action:** 新建文件,实现 `ContentChunker` 类,包含按时间戳分割字幕的功能
- **Verify:** 文件存在,包含 `chunk_by_duration()` 方法,能将SRT字幕按指定时长分割
- [ ] **Task 1.2:** 更新 `config/config.yaml` 添加分段配置 (~5 min)
- **Action:** 添加 `chunking` 配置项:阈值(30分钟)、分段策略、每段最大字符数
- **Verify:** 配置文件包含 `chunking` 节点,有 `long_video_threshold: 1800` 等配置
- [ ] **Task 1.3:** 更新 `src/config.py` 读取新配置 (~5 min)
- **Action:** 在 Config 类中添加 chunking 相关属性
- **Verify:** 配置类能正确读取 chunking 配置,有默认值保护
---
## Checkpoint 2: MultiAIClient 改造
*目标:实现动态分段分析逻辑*
- [ ] **Task 2.1:** 修改 `_deep_analyze()` 方法,添加时长判断逻辑 (~10 min)
- **Action:** 根据 duration 决定处理策略:<30min直接分析,>=30min进入分段流程
- **Verify:** 代码逻辑清晰,有注释说明各分支
- [ ] **Task 2.2:** 实现 `_analyze_in_chunks()` 分段分析主方法 (~15 min)
- **Action:**
- 调用 `ContentChunker` 分割字幕
- 循环处理每段,调用AI生成摘要(限制500字)
- 收集所有段摘要
- **Verify:** 方法能正确处理多段字幕,每段返回结构化摘要
- [ ] **Task 2.3:** 实现 `_merge_chunk_summaries()` 合并摘要方法 (~10 min)
- **Action:** 将所有段摘要合并,生成最终的完整分析报告
- **Verify:** 合并后的结果包含:完整摘要、要点、大纲、时间轴等字段
---
## Checkpoint 3: 测试验证
*目标:确保功能正确运行*
- [ ] **Task 3.1:** 创建测试用例 `tests/test_chunking.py` (~10 min)
- **Action:** 编写单元测试,测试 ContentChunker 的分割逻辑
- **Verify:** 测试覆盖:正常分割、边界情况(空字幕、短字幕)
- [ ] **Task 3.2:** 运行测试验证 (~5 min)
- **Action:** 执行 `python -m pytest tests/test_chunking.py -v`
- **Verify:** 所有测试通过
- [ ] **Task 3.3:** 集成测试 (~10 min)
- **Action:** 运行 `analyze_video.py` 测试一个真实长视频(或模拟数据)
- **Verify:** 30分钟以上视频能正常处理,不报错,输出完整
---
## Checkpoint 4: 文档和清理
*目标:更新文档,标记完成*
- [ ] **Task 4.1:** 更新 `memory/tasks/ongoing-tasks.md` 标记完成 (~2 min)
- **Action:** 更新任务状态,记录完成时间
- **Verify:** 文件已更新
- [ ] **Task 4.2:** 创建 `memory/YYYY-MM-DD.md` 记录变更 (~3 min)
- **Action:** 记录本次修改:修复了长视频上下文溢出问题,实现了动态分段分析
- **Verify:** 文件已创建,内容完整
---
## Verification Criteria
- [ ] 所有4个检查点完成
- [ ] 30分钟以下视频:直接分析(1次API调用)
- [ ] 30-60分钟视频:分2段分析(3次API调用)
- [ ] 60分钟以上视频:每15-20分钟一段(N+1次API调用)
- [ ] 不抛出 "Context overflow" 错误
- [ ] 输出质量与之前相当(摘要完整、结构清晰)
---
## Execution Options
**计划已保存到 `memory/plans/video-chunking-implementation.md`**
**两种执行方式:**
1. **单代理顺序执行** - 我在当前会话依次完成任务,每个检查点汇报进度
2. **多代理并行执行** - 使用 `dispatch-multiple-agents` 技能,同时启动多个子代理并行开发
- Checkpoint 1 和 2 可以并行(结构独立)
- Checkpoint 3 依赖 1 和 2 完成
- Checkpoint 4 最后执行
**请选择执行方式?**