# Obsidian KB 技能开发 - 执行计划 **项目**: obsidian-kb-complete **目标**: 构建多源内容知识库维护系统,含长视频分段分析 **执行方式**: 多代理并行 **验收标准**: 所有测试通过,代码提交至Git --- ## 代理分配 | 代理 | Checkpoint | 任务 | 依赖 | 模型 | |------|-----------|------|------|------| | **代理A** | 1-2 | 项目脚手架 + 数据模型 + 存储 | 无 | kimi-coding/k2p5 | | **代理B** | 3 | B站适配器 | 代理A的models | kimi-coding/k2p5 | | **代理C** | 4-5 | 内容管道 + 长视频分段 | 代理A的models, config | kimi-coding/k2p5 | | **代理D** | 6 | CLI命令 | 代理C的pipeline | kimi-coding/k2p5 | | **代理E** | 7-8 | 模板 + 测试 + 文档 | 全部 | kimi-coding/k2p5 | --- ## 代理A: 项目脚手架与数据模型 (~60min) ### Checkpoint 1: 项目脚手架 **任务A1.1**: 创建目录结构 - **Action**: 创建 `skills/obsidian-kb/` 及所有子目录 - **Verify**: 目录结构完整 **任务A1.2**: 创建 SKILL.md - **Action**: 编写技能元数据、命令列表、使用说明 - **Verify**: 包含所有6个命令 **任务A1.3**: 创建 requirements.txt - **Action**: 列出依赖: requests, pyyaml 等 - **Verify**: pip install -r requirements.txt 成功 ### Checkpoint 2: 核心数据模型 **任务A2.1**: 实现 models.py - **Action**: 定义 Content, ContentType, ContentStatus 类 - **字段**: id, source, url, title, author, duration, transcript, etc. - **Verify**: 可以创建实例并序列化 **任务A2.2**: 实现 config.py - **Action**: 配置读取,支持 config.yaml - **Verify**: 能读取API key, git配置, chunking配置 **任务A2.3**: 实现 storage.py - **Action**: Inbox/Topics存储,JSON文件管理 - **Verify**: 能存取Content对象 **任务A2.4**: 实现 git_sync.py - **Action**: Git仓库初始化、commit、push - **Verify**: 能创建测试文件并推送 --- ## 代理B: B站适配器 (~45min) ### Checkpoint 3: B站适配器 **前置条件**: 代理A的 models.py 完成 **任务B3.1**: 实现 sources/base.py - **Action**: 定义 SourceAdapter 抽象基类 - **方法**: fetch_new(), extract_content(), get_transcript() **任务B3.2**: 实现 sources/bilibili.py - **Action**: B站API封装 - fetch_new(): 获取收藏夹视频列表 - extract_content(): 从URL提取视频元数据 - get_transcript(): 获取字幕(使用B站官方API) - **Verify**: 能获取真实B站视频信息和字幕 **任务B3.3**: 实现 sources/__init__.py - **Action**: SourceRegistry 注册表 - **Verify**: 可以通过名称获取适配器 --- ## 代理C: 内容管道与长视频分段 (~75min) ### Checkpoint 4: 内容处理管道 **前置条件**: 代理A的 models.py, config.py 完成 **任务C4.1**: 实现轻量扫描 - **Action**: 调用AI生成一句话摘要、关键词、质量评分 - **Verify**: 输入URL输出评分对象 **任务C4.2**: 实现深度分析基础 - **Action**: 根据duration选择分析策略 - **Verify**: 短视频(<10min)和长视频(>10min)不同处理 **任务C4.3**: 实现 pipeline.py - **Action**: 整合轻量扫描→入库→深度分析→生成笔记→Git同步 - **Verify**: 端到端流程可运行 ### Checkpoint 5: 长视频分段分析 **任务C5.1**: 实现 content_chunker.py - **Action**: ContentChunker类,chunk_by_duration()方法 - **Verify**: 能按时间分割SRT字幕 **任务C5.2**: 实现分段策略 - **Action**: get_chunking_strategy()函数 - **策略**: <10min直接, 10-30min截断, 30-60min分2段, 60min+每15分钟一段 **任务C5.3**: 实现AI客户端分段逻辑 - **Action**: _analyze_in_chunks(), _analyze_chunk(), _merge_summaries() - **Verify**: 长视频能正常分析不报错 --- ## 代理D: CLI命令 (~40min) ### Checkpoint 6: CLI命令 **前置条件**: 代理C的 pipeline.py 完成 **任务D6.1**: 实现 cli.py 框架 - **Action**: argparse命令解析框架 **任务D6.2**: 实现 /kb-subscribe - **Action**: 订阅B站收藏夹/UP主 - **Verify**: 配置能保存到config **任务D6.3**: 实现 /kb-inbox - **Action**: 显示待处理列表 - **Verify**: 显示标题、评分、摘要 **任务D6.4**: 实现 /kb-process - **Action**: 处理指定ID或全部 - **Verify**: 能调用pipeline完成分析 **任务D6.5**: 实现 /kb-skip, /kb-status, /kb-search - **Action**: 跳过、状态、搜索命令 - **Verify**: 功能正常 --- ## 代理E: 模板、测试与文档 (~45min) ### Checkpoint 7: 模板与文档 **前置条件**: 全部代理完成 **任务E7.1**: 创建Markdown模板 - light_video.md, tutorial_video.md, article.md, topic_index.md - **Verify**: 模板能正确渲染 **任务E7.2**: 实现 template_renderer.py - **Action**: 根据content_type选择模板渲染 - **Verify**: 不同类型输出不同格式 **任务E7.3**: 完善 SKILL.md 和 README.md - **Action**: 使用说明、配置指南、示例 ### Checkpoint 8: 测试与验证 **任务E8.1**: 编写单元测试 - **Action**: tests/test_*.py 覆盖核心模块 - **Verify**: pytest 通过 **任务E8.2**: 集成测试 - **Action**: 端到端测试完整流程 - **Verify**: 订阅→爬取→分析→同步 **任务E8.3**: Git提交 - **Action**: git add, commit, push - **消息**: "feat: implement obsidian-kb skill with long video chunking" - **Verify**: 代码已推送到远程仓库 --- ## 执行顺序 ``` 并行启动: 代理A (1-2) ─┬→ 代理B (3) ├→ 代理C (4-5) ─→ 代理D (6) └→ 代理E (7-8, 等待其他) ``` ## 验收标准 - [ ] 所有代理任务完成 - [ ] pytest 测试通过 - [ ] 能成功分析一个B站视频(含长视频分段) - [ ] Markdown输出格式正确 - [ ] Git自动同步工作 - [ ] 代码已提交到Git仓库 --- **计划已保存**: `memory/plans/obsidian-kb-execution.md` **准备启动多代理并行开发?**