137 lines
5.3 KiB
Markdown
137 lines
5.3 KiB
Markdown
# Roadmap: kb-skills
|
|
|
|
## Milestones
|
|
|
|
- ✅ **v1.0 Pipeline Architecture** - Phases 1-4 (shipped 2011-03-15)
|
|
- ✅ **v1.1 Architecture Refactor** - Phases 5-6 (shipped 2011-03-16)
|
|
- ✅ **v1.2 Zhihu Crawler** - Phases 7-9 (shipped 2011-03-17)
|
|
- 🚧 **v1.3 Anti-Crawler Optimization** - Phases 10-14 (in progress)
|
|
|
|
## Phases
|
|
|
|
<details>
|
|
<summary>✅ v1.0 Pipeline Architecture (Phases 1-4) - SHIPPED 2011-03-15</summary>
|
|
|
|
### Phase 1: Foundation
|
|
**Goal**: 项目基础设施和状态管理
|
|
**Plans**: 3 plans
|
|
|
|
Plans:
|
|
- [x] 01-01: WorkflowStateManager 状态管理
|
|
- [x] 01-02: LinkParser URL 解析
|
|
- [x] 01-03: IdempotencyChecker 幂等检查
|
|
|
|
### Phase 2: Adapters
|
|
**Goal**: 平台元数据适配器
|
|
**Plans**: 2 plans
|
|
|
|
Plans:
|
|
- [x] 02-01: BilibiliAdapter B站适配器
|
|
- [x] 02-02: ZhihuAdapter 知乎适配器
|
|
|
|
### Phase 3: Processors
|
|
**Goal**: 管道处理器架构
|
|
**Plans**: 3 plans
|
|
|
|
Plans:
|
|
- [x] 03-01: BaseProcessor 基类
|
|
- [x] 03-02: 具体处理器实现
|
|
- [x] 03-03: Schema 验证
|
|
|
|
### Phase 4: Pipeline
|
|
**Goal**: 处理器编排和 CLI
|
|
**Plans**: 2 plans
|
|
|
|
Plans:
|
|
- [x] 04-01: Pipeline 编排引擎
|
|
- [x] 04-02: CLI process 命令
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary>✅ v1.1 Architecture Refactor (Phases 5-6) - SHIPPED 2011-03-16</summary>
|
|
|
|
### Phase 5: 归档与目录优化
|
|
**Goal**: 统一中间目录结构,添加自动归档步骤,优化最终目录布局
|
|
**Depends on**: Phase 4
|
|
**Requirements**: INT-01, INT-02, INT-03, ARC-01, ARC-02, ARC-03, ARC-04, OUT-01, OUT-02, OUT-03, OUT-04
|
|
**Success Criteria** (what must be TRUE):
|
|
1. 所有分析任务的中间文件统一存放在 `~/work/intermediate/analysis/{platform}_{content_id}/`
|
|
2. 分析完成后 md 文件自动复制到按平台分组的最终目录
|
|
3. 最终目录结构为 `{KB_ARCHIVE_PATH}/{platform}/{YYYYMMDD}_{content_id}_analysis.md`
|
|
4. 归档时检测重复文件,询问用户是否覆盖
|
|
5. 不自动清理中间文件(用户手动维护)
|
|
**Plans**: 3 plans (all complete)
|
|
|
|
### Phase 6: 代码整合
|
|
**Goal**: 将独立的元数据技能和 Pipeline 模块整合进 kb-workflow
|
|
**Depends on**: Phase 5
|
|
**Requirements**: MET-01, MET-02, MET-03, MET-04, MET-05, PIP-01, PIP-02, PIP-03, PIP-04
|
|
**Success Criteria** (what must be TRUE):
|
|
1. kb-bilibili-metadata 和 kb-zhihu-metadata 代码移入 kb-workflow/metadata/
|
|
2. kb_pipeline/ 代码合并入 kb-workflow/ 保持 processors/, platforms/, schemas.py 结构
|
|
3. 所有导入路径更新指向新位置,CLI 正常工作
|
|
4. 原独立的 kb-bilibili-metadata、kb-zhihu-metadata、kb_pipeline 目录已删除
|
|
5. 所有 sys.path 动态操作已删除或重构
|
|
6. Pipeline 类可从 kb_workflow.pipeline 包级别导入
|
|
**Plans**: 3 plans (all complete)
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary>✅ v1.2 Zhihu Crawler (Phases 7-9) - SHIPPED 2011-03-17</summary>
|
|
|
|
### Phase 7: 登录认证体系
|
|
**Goal**: 建立知乎登录认证机制,支持二维码扫码和手动 Cookie 两种方式,实现 Cookie 持久化和过期检测
|
|
**Depends on**: Phase 6
|
|
**Requirements**: AUTH-01, AUTH-02, AUTH-03, AUTH-04
|
|
**Success Criteria** (what must be TRUE):
|
|
1. 用户可以通过命令行显示二维码并扫码登录知乎
|
|
2. 扫码失败时用户可以手动设置 Cookie 进行认证
|
|
3. Cookie 自动保存到本地文件,下次运行自动复用
|
|
4. Cookie 过期时系统自动检测并提示用户重新登录
|
|
**Plans**: 3 plans (all complete)
|
|
|
|
### Phase 8: 内容爬取实现
|
|
**Goal**: 实现知乎问答、专栏/文章、评论的完整爬取功能,包含网络反爬措施
|
|
**Depends on**: Phase 7
|
|
**Requirements**: CONT-01, CONT-02, CONT-03, CONT-04, NET-01, NET-02, NET-03
|
|
**Success Criteria** (what must be TRUE):
|
|
1. 用户可以爬取知乎问答(问题标题、描述、回答内容、元数据)
|
|
2. 用户可以爬取知乎专栏/文章(标题、正文、元数据)
|
|
3. 用户可以选择是否爬取内容下的评论
|
|
4. 爬取结果包含作者信息、发布时间、点赞数等完整元数据
|
|
5. 用户可以配置代理 IP 以降低被封风险
|
|
**Plans**: 3 plans (all complete)
|
|
|
|
### Phase 9: Pipeline 整合
|
|
**Goal**: 将新爬虫实现整合进现有 Pipeline 架构,替换原有知乎处理器
|
|
**Depends on**: Phase 8
|
|
**Requirements**: PIPE-01, PIPE-02, PIPE-03
|
|
**Success Criteria** (what must be TRUE):
|
|
1. 知乎链接使用新爬虫处理器,无需手动设置 Cookie
|
|
2. 新处理器与现有 Pipeline 架构完全兼容
|
|
3. 支持断点续传和幂等执行(与其他处理器行为一致)
|
|
**Plans**: 1 plan (complete)
|
|
|
|
</details>
|
|
|
|
### 🚧 v1.3 Anti-Crawler Optimization (In Progress)
|
|
|
|
**Milestone Goal:** 增强爬虫反检测能力,降低被封风险,提升爬取稳定性
|
|
|
|
#### Phase 10: Proxy Pool (代理池管理)
|
|
**Goal**: 建立代理池基础设施,支持多代理配置、自动轮换和健康检查
|
|
**Depends on**: Phase 9
|
|
**Requirements**: PROXY-01, PROXY-02, PROXY-03, PROXY-04
|
|
**Success Criteria** (what must be TRUE):
|
|
1. 用户可以从配置文件或环境变量加载多个代理地址
|
|
2. 每次请求自动选择下一个可用代理,实现负载均衡
|
|
3. 代理不可用时自动检测并标记为失效
|
|
4. 当前代理失败时自动切换到备用代理继续请求
|
|
**Plans**: 2 plans
|
|
|
|
Plans:
|
|
- [x] 10-01: ProxyPool 核心类实现 — 从 YAML/环境变量加载代理,Round-Robin 轮换
|
|
- [ ] 10-02: 健康检查与 ZhihuCrawler 集成 — 被动检测、冷却恢复、代理切换
|