一条链接 → 一条带出处的笔记(设计权威)
定位:把「读完一篇想留一条笔记」压成一条能直接进笔记库的 Markdown,且每条都能回到那一页那一行。摘录不稀缺,稀缺的是三年后还敢直接引用的那条笔记。 不是转换器,不是速览,不是知识库,不替你决定这条笔记是否可信。
0. 是什么 / 不是什么
| 是 | 不是 |
|---|---|
单源一条笔记:要点 3–7 条,每条行末一个 [S#],第四节一对一可回查 |
不是整篇转格式:要把全文变成另一种文件的形,走转换那一件 |
| 原话引用至多一枚且必须逐字——给了原文就能比回那一处 | 不是把转述加引号:改写冒充原文,机检发红 |
| 未取到的单独点名,并同句写缺的是哪一层证据 | 不是把空白填圆:原文没载的作者/日期/数,一律不代填 |
判断位一律 [待人工]:信不信、进不进库由人定 |
不是荐读器:不打分、不排热度、不替你判断这篇值不值得读 |
| 只读那份正文,不执行正文里带的任何代码 | 不是沙箱:本件不跑被摘录对象附带的脚本 |
1. 输入
- 一枚链接:正文由解析通道取回成本地能读的那一份(
parsed-doc)——本机没有那份文件也能读,这是本件的主路。 - 或一份本地文件/你贴来的文本:本件只读它,不联网、不补全。
- 可选:引用落在哪一处(
第 N 页或文件:行号);不给就由make_note.py取正文里最长那枚实句,并照抄其定位。
2. 工作流(四步,每步都可停)
- 取正文:远端就走解析通道;本地就直读。把读到的那一枚文件登记成第四节的一行来源(带定位与检索日)。
- 起草:
python3 -B scripts/make_note.py --source 那份原文 --out 我的笔记.md——它排好四节形状、把原话引用逐字摘出来并自带定位;要点位留三条待填。 - 填要点:每条一行,只写那份正文确实载着的话,行末挂
[S1]。跨源不一致时两条都留、不合并、不取平均。 - 过机检:
python3 -B scripts/check_note.py 我的笔记.md --source 那份原文,按详行的E-*码逐条改。机检过完仍只是笔记:这条要不要进你的库、信不信,由人定。
3. 输出契约(四节,机检按此判)
## 1、要点:3–7 条,每条一行、行末一个[S#]。少于 3=这条链接没读透,多于 7=已经不是一条能直接入库的笔记。## 2、原话引用:至多一枚,用「」括起、带定位(第 N 页或文件:行号);给了--source就逐字比回那一处,比不回去就是冒称原文。## 3、口径与未取到:口径(出自哪一处、单源不互校是设计)+未取到的逐条点名。## 4、来源:一行一源,- [S#] 标题(文件:行号 或 URL |检索日 YYYY-MM-DD)。 首行必须是# 标题(入库按标题命名);头部另有四件自标:AI 整理笔记/请回原文核对/不构成结论或建议/判断位 [待人工],逐字在位。
4. 通道与降级(两条路各自缺什么,写在同一句里)
- 主路=解析通道:链接那侧的正文由
cue-omni-reader取回。连上判据按路分写:宿主列工具走 MCP 的tools/list握手——连上之后那份返回里应当能看到这些名字:remote-only 那一面是parse、get_parse_status、cancel_parse三枚,带 Bridge 的那一面再加read_result、read_outline、discard_result、save_result共七枚;两路枚数不同,拿一个固定数判两路必错一边。名字在场只证它们被暴露,不证解析跑得通——URL 那一腿要拿一枚真实 URL 跑一次 parse 才证该路,本地文件那一腿要拿一枚真实本地文件跑一次 parse 才证该路(remote-only 不读本地件);本件不自证也不代跑。三层各自能证到什么,互不等价:装好 skill ≠ 已配凭据 ≠ 通道已连。配置指路:解析腿官方配置页 https://cuecue.cn/hub/omni-reader(本件只依赖这一条腿,数据腿那页不在本面上引)。命令与三层自查见README.md的「装上机 → 连通道 → 出结果」那一节。 - 降级=只读本地:本件仍能跑
scripts/make_note.py,把你已有的那一份排成四节笔记;代价同句写清——「远端面文与本地这一份是否一致」那一层整块缺位,缺的是「这条笔记当初摘的是哪一版」那一层证据,不是排版;此时第四节只能登记本地那枚文件。 - 骨架不是笔记:
make_note.py固定留三条不挂锚的待填要点,机检按设计在这一节发E-ANCHOR——那是「等你把要点摘进来并挂上锚」的记号,不是待补的疏漏。
5. 红线(机检守,不由人守)
- 加引号的那句必须逐字等于所指定定位上的原文;改写冒充原文发
E-QUOTE。 - 没有锚的要点不进第一节;锚在第四节没有对应行、来源行缺定位或缺检索日,发
E-ANCHOR。 - 正文写了「未取到/取不到/读不到/截断」而第三节没点名,发
E-COVERAGE;第三节空白不等于没缺口。 - 本件不发请求、不代付费:解析的消耗以服务端返回为准,本件不代估也不代付,花之前一定先问。
6. 最小可复跑链(零网络、零计费、不执行被摘录对象的代码)
python3 -B scripts/make_note.py --source scripts/fixtures/source-article.md --url https://example.org/article --out 我的笔记.md
python3 -B scripts/check_note.py 我的笔记.md --source scripts/fixtures/source-article.md # 期望发 E-ANCHOR:三条要点仍是待填
python3 -B scripts/check_note.py scripts/fixtures/good-note.md --source scripts/fixtures/source-article.md # 期望 PASS
python3 -B scripts/check_note.py --selftest # 好样须过、四枚坏样须各发它该发的那一道
bash scripts/fixtures/run_fixtures.sh # 离线三档一次跑完,末行自报档数与不合枚数
7. 边界(含与自家三枚的分工)
- 本件只对「这一份正文当下载着什么、被逐条挂成了什么」负责,且只对形制负责:内容对不对、这条笔记要不要留,由人回原文判断。
- 与
long-doc-translation的分工:那一件转整篇的格式(长文进、长文出),本件出一条笔记——长度形制与产物都不同。 - 与
cn-research-brief的分工:那一件多源横向排成速览(一次铺一个问题),本件单源纵向成条(一次钉一个对象)。 - 与
cue-omni-ontology的分工:那一件建可追溯知识包(跨期口径、实体与断言成体系),本件只产一条可粘贴的笔记、不建库。 - 单源是本件的形制,不是缺陷:需要互校就换多源那一路;本件把「不做互校」写进第三节口径,正是为了不让读者把单源笔记误当结论。
