7e0acef4f9
- Add complete skill set including feishu, github, ci-gen, etc. - Add workspace documentation (AGENTS.md, SOUL.md, etc.) - Add memory system and project context
200 lines
5.8 KiB
Markdown
200 lines
5.8 KiB
Markdown
# 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`
|
|
|
|
**准备启动多代理并行开发?**
|