feat(reader): add async article summary jobs

This commit is contained in:
root
2026-04-10 16:37:43 +08:00
parent 87d18e4263
commit 2053cccfef
8 changed files with 1269 additions and 15 deletions
+41
View File
@@ -187,6 +187,47 @@
---
### [DOING][P1] 单篇总结改为最小真异步 job
目标:
- 解决 `generate_article_summaries` 在 OpenClaw → MCP 同步链路里易 timeout 的问题
- 将单篇总结正式升级为可启动、可轮询、可读取结果的异步 job
要求:
- 新增最小异步接口:
- `start_article_summary_job`
- `get_article_summary_job_status`
- `get_article_summary_job_result`
- 状态目录固定落到:
- `outputs/freshrss/article_summary_jobs/<job_id>/`
- 至少包含:
- `run-state.json`
- `input.json`
- `result.json`(成功时)
- `job-report.json`
- 执行模型优先使用后台子进程,不使用线程
- 业务逻辑继续复用 `summarize_selected_articles(...)`,不要重写正文总结核心逻辑
- 对 OpenClaw / reader-digest-flow 而言,异步 job 成功后应可继续接 IMA 沉淀闭环
当前进展:
- 2026-04-10:已完成方案文档 `plans/article-summary-async-job-plan.md`
- 2026-04-10:已落地最小代码骨架:
- `src/summary_mcp/runtime/article_summary_jobs.py`
- `scripts/run_article_summary_job.py`
- `src/summary_mcp/server.py` 已新增 3 个 async job tools
- 2026-04-10:已用真实 extracted 文件验证最小异步链路可跑通,job 能成功进入 `running → success`,并可读回结果
- 2026-04-10:已补 README / OpenClaw handoff 文档,并对外统一为 `start_article_summary_job` / `get_article_summary_job_status` / `get_article_summary_job_result`
- 2026-04-10:已完成聚焦自检:
- MCP tool 注册名校验通过
- stubbed async job 成功路径通过
- stubbed async job 失败路径通过,`error_summary` 与 `job-report.json` 可回读
下一步:
- 将 `reader-digest-flow` 正式默认路径切到 async job
- 用真实 LLM 配置再做一次非 stub 的服务端冒烟验证
---
### [TODO][P2] 评估 `rerun_stage` 是否值得进入第一阶段
目标: