106 lines
4.0 KiB
Markdown
106 lines
4.0 KiB
Markdown
# 项目当前状态简报
|
||
|
||
## 当前结论
|
||
|
||
当前仓库已经具备作为 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_dir>/run-state.json`
|
||
- `outputs/freshrss/rerun/<run_dir>/raw/freshrss.raw.json`
|
||
- `outputs/freshrss/rerun/<run_dir>/summary/summary-batch.json`
|
||
- `outputs/freshrss/rerun/<run_dir>/candidates/candidate-batch.json`
|
||
- `outputs/freshrss/rerun/<run_dir>/candidates/openclaw-delivery-payload.json`
|
||
- `outputs/freshrss/rerun/<run_dir>/candidates/digest-brief.json`
|
||
- `outputs/freshrss/rerun/<run_dir>/run-report.json`
|
||
- `outputs/freshrss/rerun/<run_dir>/extracted/item-XX.extracted.json`
|
||
|
||
job 状态目录:
|
||
|
||
- `outputs/freshrss/pipeline_jobs/<job_id>/`
|
||
- `outputs/freshrss/resume_jobs/<job_id>/`
|
||
- `outputs/freshrss/article_summary_jobs/<job_id>/`
|
||
|
||
关键词运行数据:
|
||
|
||
- `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/` 当成历史资料,不要当当前事实源
|