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
+27 -4
View File
@@ -37,7 +37,7 @@ OpenClaw should treat the returned `run_id` as the only stable handle for follow
## Supported MCP Tools
Current MCP tools: 11 total.
Current MCP tools: 14 total, including the FreshRSS workflow set plus article-summary async job tools.
Workflow service tools:
@@ -49,12 +49,34 @@ Workflow service tools:
- `get_run_report`
- `resume_run`
Article-summary tools:
- `start_article_summary_job`
- `get_article_summary_job_status`
- `get_article_summary_job_result`
Single-step / debug tools:
- `extract_url_content`
- `extract_item_content`
- `filter_summary_result`
- `generate_article_summaries`
- `generate_article_summaries`(同步模式,仅适合轻量调试)
## Recommended Selected-Article Flow
For OpenClaw selected-article follow-up, prefer the async job path:
1. Call `start_article_summary_job` with a real extracted file path plus a non-empty `selected_ids` list.
2. Poll `get_article_summary_job_status` until `status` becomes `success` or `failed`.
3. On success, call `get_article_summary_job_result` and continue downstream processing from `written_paths`.
4. Use `generate_article_summaries` only as a synchronous debug fallback, not as the default production path.
Job state is written under `outputs/freshrss/article_summary_jobs/<job_id>/` and will minimally contain:
- `run-state.json`
- `input.json`
- `result.json` on success
- `job-report.json`
## Required Environment Variables
@@ -144,8 +166,9 @@ reader 当前正式 MCP workflow service 的边界如下:
- state query tools: `get_run_status`, `list_runs`, `list_run_artifacts`
- result read tools: `get_delivery_payload`, `get_run_report`
- `digest-brief.json` is generated and registered as an artifact, but there is no standalone `get_digest_brief` tool yet
- `run_freshrss_openclaw_pipeline` and `resume_run` are synchronous MCP calls today; there is no background queue / worker model yet
- `generate_article_summaries` is supported, but it is outside the formal `resume_run` scope and not part of the FreshRSS workflow-state model
- `run_freshrss_openclaw_pipeline` and `resume_run` are synchronous MCP calls today; there is no background queue / worker model for the FreshRSS daily workflow yet
- article summary now has a minimal asynchronous job model with `start_article_summary_job` / `get_article_summary_job_status` / `get_article_summary_job_result`
- `generate_article_summaries` is still supported, but it is a synchronous debug path and outside the formal `resume_run` scope
Historical compatibility note: