跳到主要内容
知仓学习社ZHICANG

sn-prepare-citations

用于终稿完成且脚注需要后处理时:去重 [^key] 引用,转换为 [N] 编号,并追加参考文献。

不碰外部(只输出文字)无严重或高危命中OpenSenseNova/SenseNova-Skills

它会碰到什么

扫了多少2 个文本文件,20 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

sn-prepare-citations(引用渲染)

处理 sn-deep-research 的 stitched.md:从 evidence.json 收集 sources[],将正文中的 [^source_id] 转换为 [N] 编号引用,插入 L0/TOC,并追加参考文献。

推荐用法(sn-deep-research v2)

python3 scripts/prepare_citations.py \
  --report <report_dir>/stitched.md \
  --evidence <report_dir>/sub_reports/d1.evidence.json <report_dir>/sub_reports/d2.evidence.json \
  --outline <report_dir>/outline.json \
  --output <report_dir>/report.md

参数

| 参数 | 说明 |

|---|---|

| --report | 输入 markdown。sn-deep-research 中通常是 stitched.md |

| --evidence | 全部 d*.evidence.json,用于收集 source 元数据和修复 claim-id 泄漏 |

| --outline | 可选但推荐。提供 L0、TOC 和标题结构信息 |

| --output | 输出 markdown。sn-deep-research 中通常是 report.md |

| --no-l0 | 关闭 L0 摘要层渲染 |

| --no-toc | 关闭 TOC 渲染 |

处理逻辑

  1. 从所有 evidence.json 的 sources[] 收集引用元数据。
  2. 按 URL 归一化去重,同 URL source 合并为同一编号。
  3. 检测 [^dN.cM] claim-id 引用泄漏;能映射到 claim evidence 时替换为对应 source_id,不能映射则报告 unresolved。
  4. 扫描正文中的 [^source_id],按首次出现顺序分配编号。
  5. 替换 [^source_id][N],移除脚注定义行。
  6. 根据 outline 插入或校准 L0 / TOC。
  7. 追加 ## 参考文献
  8. 写出 report.md 和同目录 citations.json
  9. stdout 输出结构化 JSON,包含 orphan citations、claim-id leakage、TOC 和 L0 状态。

控制器处理要求

  • orphan_citations 非空:不要交付,回 writer/stitcher 修正引用或删除 unsupported 内容。
  • claim_id_leakage.unresolved 非空:不要交付,回 writer 修正 [^dN.cM]
  • claim_id_leakage.resolved 非空但 unresolved 为空:可以继续,但记录为警告;writer 后续应直接输出 [^source_id]

旧兼容模式

不传 --outline / --output 时,脚本会覆写 --report 指向的文件,仅做引用编号和参考文献追加。sn-deep-research 正常流程不使用该模式。

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。