feat(reader): add async article summary jobs
This commit is contained in:
@@ -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` 是否值得进入第一阶段
|
||||
|
||||
目标:
|
||||
|
||||
Reference in New Issue
Block a user