From 1dc507250de17675af8653061bca9884f618e23e Mon Sep 17 00:00:00 2001 From: root Date: Wed, 1 Apr 2026 16:47:49 +0800 Subject: [PATCH] docs: refine reader digest flow public/internal rules --- reader-digest-flow/SKILL.md | 39 +++++++++++++++++++++++++-- reader-digest-flow/references/flow.md | 35 +++++++++++++++++++++++- 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/reader-digest-flow/SKILL.md b/reader-digest-flow/SKILL.md index c0d628e..547008c 100644 --- a/reader-digest-flow/SKILL.md +++ b/reader-digest-flow/SKILL.md @@ -36,6 +36,7 @@ In the `reader` project, run the FreshRSS pipeline and obtain a real payload. Minimum expected artifacts: - `outputs/freshrss/rerun//candidates/openclaw-delivery-payload.json` +- `outputs/freshrss/rerun//candidates/digest-brief.json`(public digest 优先读取的轻量输入,仅包含 `keep` 候选) - `outputs/freshrss/rerun//run-report.json` - extracted article data, such as: - `outputs/freshrss/extracted/freshrss.extracted.json` @@ -44,10 +45,13 @@ If the pipeline fails, stop and report the exact failure point. ### Phase 2: Generate daily digest markdown -Read the real payload and generate digest markdown for the day. +Read the real run outputs and generate digest markdown for the day. If there is no real payload, stop instead of writing a fake or example digest. -Produce two output views from the same payload: +For **public digest**, prefer `candidates/digest-brief.json` when present; fall back to `candidates/openclaw-delivery-payload.json` only if the brief file is missing. +For **internal review digest**, continue reading the full `candidates/openclaw-delivery-payload.json`. + +Produce two output views from the same run, preferably in **one generation step**: 1. **Public digest** — for Hugo / public browsing 2. **Internal review digest** — for chat reporting and operator decisions @@ -67,6 +71,15 @@ Recommended **public digest** structure: - `延伸阅读` - `信息来源` +Public digest writing rules: + +- Use `digest-brief.json` as the default source when available. +- Treat it as a public-only view that already excludes non-keep items. +- Keep the tone suitable for public browsing and Hugo publishing. +- Do **not** expose internal workflow labels or operator language such as `待确认`, `建议沉淀到 IMA`, `keep/review/drop`, or `selection_decision`. +- Prefer concise but information-dense writing. +- For each item under `今日重点`, include not only summary and highlights, but also one short editor-style value sentence, for example: `这篇内容更值得关注的原因在于……`. + Recommended **internal review digest** structure: - `今日候选概况` @@ -75,6 +88,28 @@ Recommended **internal review digest** structure: - `建议沉淀到 IMA` - `原始候选清单` +Internal review digest writing rules: + +- Use the full `openclaw-delivery-payload.json`. +- Keep this as a human-readable review draft rather than a raw machine dump. +- Do **not** display `rank` values. +- Convert machine states to Chinese operator-facing labels: + - `keep` → `已入选` + - `review` → `待确认` + - `drop` → `暂不纳入` +- For every item under `已入选重点`, include: + - title + source + - status + - a fuller summary paragraph + - a short judgment paragraph explaining why it matters in today's digest +- For every item under `待你确认`, include: + - title + source + - status + - a fuller summary paragraph + - reason + - recommendation +- In `原始候选清单`, also use Chinese status labels instead of raw machine values. + ### Phase 3: Publish to Hugo Publish only the public digest to Hugo and verify: diff --git a/reader-digest-flow/references/flow.md b/reader-digest-flow/references/flow.md index 84c837f..c1b8ed3 100644 --- a/reader-digest-flow/references/flow.md +++ b/reader-digest-flow/references/flow.md @@ -56,17 +56,35 @@ Typical artifacts to inspect after a successful run: ```text 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 ``` +Notes: + +- `digest-brief.json` is the preferred input for **public digest** generation. +- It is a lighter public-only view and currently includes only `keep` candidates. +- If `digest-brief.json` is missing, fall back to `openclaw-delivery-payload.json`. + ### 2. Generate digest markdown -Generate two output views from the same payload: +Generate two output views from the same run, preferably in one model call: 1. a **public digest** for Hugo / public readers 2. an **internal review digest** for chat / operator workflow +Input preference: + +- **public digest**: prefer `candidates/digest-brief.json` +- **internal review digest**: use `candidates/openclaw-delivery-payload.json` + +Recommended generation pattern: + +- Pass the public brief and the full payload as two explicitly labeled input blocks. +- Ask the model to return both outputs in one response. +- Prefer a structured response shape (for example JSON with `public_digest_markdown` and `internal_review_digest_markdown`) when post-processing is needed. + Write only the public digest into Hugo here: ```text @@ -91,6 +109,13 @@ Recommended **public digest** structure: - `延伸阅读` - `信息来源` +Public digest constraints: + +- Use only the public brief view when present. +- Keep public wording free of internal workflow language. +- Optimize for concise public readability with solid information density. +- For each `今日重点` item, add one short editor-style sentence explaining why the item matters in today's digest (for example: `这篇内容更值得关注的原因在于……`). + Recommended **internal review digest** structure: - `今日候选概况` @@ -99,6 +124,14 @@ Recommended **internal review digest** structure: - `建议沉淀到 IMA` - `原始候选清单` +Internal review digest constraints: + +- Do not show `rank` values. +- Replace machine states with Chinese labels such as `已入选` / `待确认` / `暂不纳入`. +- For `已入选重点`, include a fuller summary plus a short judgment paragraph. +- For `待你确认`, include a fuller summary, reason, and recommendation. +- Keep it readable as an operator review draft, not a raw payload dump. + ### 3. Publish Hugo Publish only the public digest to Hugo.