From 1c0bd65e855b82ebc2c417da85429853f3989014 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 16 Apr 2026 11:24:47 +0800 Subject: [PATCH] =?UTF-8?q?reader-digest-flow=20SKILL.md:=20add=20hard=20r?= =?UTF-8?q?ule=20-=20candidates=20order=20=E2=89=A0=20extracted=20file=20n?= =?UTF-8?q?umber?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reader-digest-flow/SKILL.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reader-digest-flow/SKILL.md b/reader-digest-flow/SKILL.md index db2c65c..c01c82e 100644 --- a/reader-digest-flow/SKILL.md +++ b/reader-digest-flow/SKILL.md @@ -220,6 +220,10 @@ For every article explicitly selected by the user: **⚠️ item_id 前缀注意:** `candidates` 里的 ID 格式是 `cand:sha256:xxx`,但 item 文件里的 `item_id` 是 `sha256:xxx`(无 `cand:` 前缀)。传 selected_ids 时**必须去掉前缀**,否则匹配失败。 +**⚠️ item_id 与 extracted 文件编号的对应关系:candidates 数组顺序 ≠ extracted 文件编号顺序。pipeline 提取阶段和 LLM 筛选阶段是两套独立顺序,不能按"第几篇"的位置来映射。** + +**正确做法:** 传 selected_ids 前,必须先从 `candidates` 数组找到目标文章的 `item_id`(去前缀),再到对应的 `item-XX.extracted.json` 文件里读取其内部的 `article.item_id` 做交叉验证,确认匹配后再传。禁止仅凭"文章在 candidates 里排第几"来推断应该用哪个 item-XX 文件。 + **⚠️ single-item 输入约束:** 当 `extracted_path` 指向 `outputs/freshrss/rerun//extracted/item-XX.extracted.json` 这类单篇文件时,`selected_ids` 只应包含这一个文件对应的单个 `item_id`。不要对单个 extracted 文件传多个 IDs。 Preferred routes: