# 项目当前状态简报 ## 当前结论 当前仓库已经具备作为 OpenClaw 上游服务的正式基础能力。 当前正式主链路是: `FreshRSS 未读 -> RSS 内容提取 -> LLM 总结 -> 规则过滤 -> OpenClaw delivery payload` 当前正式控制面已经收口为异步 job: - 主日报:`start_freshrss_pipeline_job -> poll -> get result` - 恢复:`inspect_resume_plan -> start_resume_job -> poll -> get result` - 单篇总结:`start_article_summary_job -> poll -> get result` 同步 `run_freshrss_openclaw_pipeline`、`resume_run`、`generate_article_summaries` 仍保留,但只用于 debug / fallback。 ## 当前权威入口 先看这些文档: 1. `README.md` 2. `docs/README.md` 3. `docs/openclaw/README.md` 4. `docs/openclaw/openclaw-handoff.md` 5. `docs/openclaw/openclaw-orchestration-flow.md` 6. `plans/README.md` 7. `TODO.md` 如果问题是 OpenClaw 集成、状态分支或恢复策略,优先看 `docs/openclaw/`,不要先翻历史计划。 ## 当前正式能力 - FreshRSS 主日报 run 会落地 `run-state.json` - `get_run_status` / `list_runs` / `list_run_artifacts` 提供 run 级观测 - `get_delivery_payload` / `get_run_report` 提供正式结果读取 - 查询层已经支持 stale state 与终态 artifacts 的状态收敛 - 主日报正式启动已切到 async job - `resume` 已切到 async job,并在执行前先做 `inspect_resume_plan` - 生产恢复依赖 `summary/summary-batch.json` 与 `candidates/candidate-batch.json` - 单篇总结也已补齐 async job 形态 ## 当前关键代码入口 - MCP 服务入口:`src/summary_mcp/server.py` - 主日报 workflow:`src/summary_mcp/workflows/freshrss_pipeline.py` - run / artifact 查询:`src/summary_mcp/runtime/query_service.py` - 主日报 async job:`src/summary_mcp/runtime/freshrss_pipeline_jobs.py` - resume 预检与恢复:`src/summary_mcp/runtime/resume_service.py` - resume async job:`src/summary_mcp/runtime/resume_jobs.py` - 单篇总结 async job:`src/summary_mcp/runtime/article_summary_jobs.py` - 关键词治理:`src/summary_mcp/core/keyword_index.py` ## 当前核心产物 主日报稳定产物: - `outputs/freshrss/rerun//run-state.json` - `outputs/freshrss/rerun//raw/freshrss.raw.json` - `outputs/freshrss/rerun//summary/summary-batch.json` - `outputs/freshrss/rerun//candidates/candidate-batch.json` - `outputs/freshrss/rerun//candidates/openclaw-delivery-payload.json` - `outputs/freshrss/rerun//candidates/digest-brief.json` - `outputs/freshrss/rerun//run-report.json` - `outputs/freshrss/rerun//extracted/item-XX.extracted.json` job 状态目录: - `outputs/freshrss/pipeline_jobs//` - `outputs/freshrss/resume_jobs//` - `outputs/freshrss/article_summary_jobs//` 关键词运行数据: - `data/term_index/daily/YYYY-MM-DD.json` - `data/term_index/term_stats.json` ## 当前已验证 - FreshRSS 未读拉取与已读回写可用 - RSS-first 提取策略可用 - 主日报 MCP 主链路可触发并写出正式产物 - 状态查询与结果读取接口可用 - stale state / artifacts 收敛逻辑已落地 - `resume` 的 artifact-first 判定已落地 - `start_resume_job -> poll -> result` 已做本地 synthetic 验证 - 单篇总结 async job 可跑通 - 关键词 review bundle 与建议写回脚本可用 ## 当前主要限制 - 某些源 RSS 正文不足时会被直接跳过 - 规则仍然偏保守,部分内容会落到 `review` - `paywall` 启发式对中文仍可能误判 - 关键词治理还没有接入周期性调度 - `digest-brief.json` 仍没有独立 MCP 读取工具 - `resume` 目前的剩余主风险不再是恢复点判定,而是缺少真实生产环境的完整恢复验证 ## 当前建议 - 把 `docs/openclaw/openclaw-orchestration-flow.md` 当成正式编排手册 - 把 `docs/openclaw/openclaw-handoff.md` 当成接手总览 - 把 `plans/README.md` 当成规划文档导航 - 把 `docs/openclaw/archive/` 和 `docs/archive/` 当成历史资料,不要当当前事实源