# TODO ## 当前状态 项目当前处于 `Content Extract MCP` 的 MVP 完成,已进入规则过滤与 Markdown sink 阶段。 已完成: - [x] 明确整体阅读流链路 - [x] 明确 `source -> item -> document/article` 的数据抽象 - [x] 明确 `MCP 负责提取,LLM 负责摘要` 的职责边界 - [x] 搭建 Python MCP 服务骨架 - [x] 实现 `extract_url_content` - [x] 实现 `extract_item_content` - [x] 完成标题与正文提取 - [x] 完成质量标记与结构化错误输出 - [x] 用参考文章完成真实提取测试 - [x] 输出结构化提取 JSON 文件 - [x] 设计并迭代 LLM 摘要 prompt - [x] 验证 LLM 输出的 `result.json` 基本符合预期 - [x] 已封装 LLM 摘要校验 workflow skill - [x] 接通 FreshRSS 上游并完成 `item` 映射 - [x] 跑通 `FreshRSS -> item -> content extraction` 单条链路 - [x] 定义规则过滤层 schema - [x] 实现第一版规则引擎与过滤 MCP tool - [x] 定义 sink 输入输出 schema - [x] 实现第一版 Markdown sink 与本地写入脚本 --- ## P0 - 近期必须完成 - [x] 为 LLM 摘要结果定义正式 JSON Schema - [x] 增加一个本地校验脚本,自动校验 `result.json` 是否符合 schema - [x] 把“提取 JSON -> LLM 摘要 JSON”串成一个标准化本地流程 - [x] 清理或移除当前已不再使用的 `src/summary_mcp/core/summarizer.py` - [x] 更新旧设计文档中仍然残留的 `summary mcp` 描述,避免和当前实现冲突 --- ## P1 - 下一阶段推进 - [x] 把上游 RSS 聚合结果映射成标准化 `item` - [x] 补充 `item` 的实际样例文件 - [x] 跑通 `FreshRSS -> item -> content extraction` 单条链路 - [x] 定义规则过滤层的输入输出 schema - [x] 设计知识库入库格式 - [ ] 设计 webhook / 推送格式 - [ ] 给提取结果增加更多正文清洗策略,比如尾部噪音清理 - [ ] 细化过滤规则并引入更多个性化上下文 --- ## P2 - 后续增强项 - [ ] 增加批量提取能力 - [ ] 引入 Playwright 作为动态页面兜底抓取方案 - [ ] 支持更多 `content_kind`,例如 `release`、`thread`、`video` - [ ] 增加提取缓存、重试和更细粒度日志 - [ ] 重命名包和项目名,从 `summary_mcp` 调整为更符合当前职责的名称 - [ ] 与 OpenClaw 做更正式的工作流编排整合 - [ ] 扩展 Notion / Webhook / 其他 sink --- ## 当前建议的下一步 优先做这两件事: 1. 设计 webhook / 推送格式 2. 细化过滤规则并引入更多个性化上下文 --- ## 收束上下文后建议先看 - docs/context-reset-brief.md - docs/filter-rule-engine-design.md - docs/markdown-sink-design.md - TODO.md