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
openclaw/agents/haonan/workspace/memory/plans/video-chunking-implementation.md
T
2026-02-15 00:36:24 +08:00

4.0 KiB

长视频分段分析功能 - 实现计划

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 最后执行

请选择执行方式?