Files
reader/TODO.md
T

4.1 KiB

TODO

当前状态

项目当前处于 Content Extract MCP 的 MVP 完成阶段,已验证 规则过滤 + Markdown sink,下一阶段将转向 OpenClaw 日报聚合 + 知识沉淀 改造。

已完成:

  • 明确整体阅读流链路
  • 明确 source -> item -> document/article 的数据抽象
  • 明确 MCP 负责提取,LLM 负责摘要 的职责边界
  • 搭建 Python MCP 服务骨架
  • 实现 extract_url_content
  • 实现 extract_item_content
  • 完成标题与正文提取
  • 完成质量标记与结构化错误输出
  • 用参考文章完成真实提取测试
  • 输出结构化提取 JSON 文件
  • 设计并迭代 LLM 摘要 prompt
  • 验证 LLM 输出的 result.json 基本符合预期
  • 已封装 LLM 摘要校验 workflow skill
  • 接通 FreshRSS 上游并完成 item 映射
  • 跑通 FreshRSS -> item -> content extraction 单条链路
  • 定义规则过滤层 schema
  • 实现第一版规则引擎与过滤 MCP tool
  • 定义 sink 输入输出 schema
  • 实现第一版 Markdown sink 与本地写入脚本
  • 明确下一阶段主路径应调整为 候选材料 -> 日报 -> 人工确认 -> 知识沉淀
  • 明确 ArticleCandidateRecord 与 OpenClawCandidateInput 需要分层设计

P0 - 近期必须完成

  • 为 LLM 摘要结果定义正式 JSON Schema
  • 增加一个本地校验脚本,自动校验 result.json 是否符合 schema
  • 把“提取 JSON -> LLM 摘要 JSON”串成一个标准化本地流程
  • 清理或移除当前已不再使用的 src/summary_mcp/core/summarizer.py
  • 更新旧设计文档中仍然残留的 summary mcp 描述,避免和当前实现冲突

P1 - 下一阶段推进

  • 把上游 RSS 聚合结果映射成标准化 item
  • 补充 item 的实际样例文件
  • 跑通 FreshRSS -> item -> content extraction 单条链路
  • 定义规则过滤层的输入输出 schema
  • 设计知识库入库格式
  • 在文档层定义 ArticleCandidateRecord、OpenClawCandidateInput 与 DailyDigest
  • 在代码里把当前 article_candidate 重新定位为 ArticleCandidateRecord
  • 新增 OpenClawCandidateInput 模型与转换逻辑
  • 给 OpenClawCandidateInput 增加 canonical_url 与 language
  • 输出面向 OpenClaw 的精简 OpenClawCandidateInput 批量载荷
  • 将“人工确认状态”拆成独立模型,不回写到 candidate 输入对象
  • 设计 OpenClaw webhook / delivery payload 的实际传输方式
  • 设计“人工确认后再沉淀知识库”的状态流转
  • 给提取结果增加更多正文清洗策略,比如尾部噪音清理
  • 细化过滤规则并引入更多个性化上下文
  • 收敛 paywall 误判规则,避免仅因正文提到“付费/收费”就进入高优先级 review

P2 - 后续增强项

  • 将当前 Markdown sink 调整为 debug / fallback 能力,而非主路径
  • 增加按天批量收集 ArticleCandidateRecord 的脚本
  • 让 OpenClaw 聚合候选内容并生成日报
  • 将日报写入知识库,并同步生成面向用户的汇报消息
  • 增加批量提取能力
  • 引入 Playwright 作为动态页面兜底抓取方案
  • 支持更多 content_kind,例如 release、thread、video
  • 增加提取缓存、重试和更细粒度日志
  • 重命名包和项目名,从 summary_mcp 调整为更符合当前职责的名称
  • 与 OpenClaw 做更正式的工作流编排整合
  • 扩展 Notion / Webhook / 其他 sink

当前建议的下一步

优先做这三件事:

  1. 设计 OpenClaw webhook / delivery payload 的实际传输方式
  2. 收敛 paywall 误判规则
  3. 设计人工确认后进入知识库的状态流转

收束上下文后建议先看

  • docs/current/context-reset-brief.md
  • docs/openclaw/openclaw-candidate-input-field-spec.md
  • docs/openclaw/openclaw-delivery-payload-spec.md
  • docs/openclaw/openclaw-daily-digest-refactor.md
  • docs/openclaw/article-candidate-daily-digest-schema.md
  • docs/design/filter-rule-engine-design.md
  • docs/design/markdown-sink-design.md
  • TODO.md