edit | blame | history | raw

---
excalidraw-plugin: parsed
tags:
- excalidraw
words:
2026-08-22: 3107
2026-08-23: 3094

2026-08-25: 3060

==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'

用成链标签作为触发器

1. #成链 不是 NoteChain 要求的,是我给脚本选的"选择器"

NoteChain 自己**完全不认 #成链 这个标签**。它只认笔记 frontmatter 里的 PrevNote/NextNote#成链 纯粹是我写的那个 notechain_extract.py 用的**"提取信号"**——脚本扫 Knomo 月归档,看到哪条文里带 #成链,就把哪条**复制**进 Knomo/Atom/;没带的,一律不动。

所以"什么场景打这个标签"的准确说法是:

当你觉得某条 Knomo 碎碎念"值得发展成一篇正经笔记/文章"时,就在它身上打个标记,让脚本把它从"句子"升级成"文件",之后才能交给 NoteChain 去成链。

它就是个"候选入场券"——意思是"这条我想拎出去单独成链",不是"已经链好了"。

2. 但有个真问题:用 # 标签当信号,可能会污染你的 tag 系统

你第④条约束说的是"**副本**不能带 tag、不能进 00index 标签页"——脚本确实做到了(副本里所有 # 都被剥掉)。

可是我忽略了一层#成链 留在了**源 Knomo 记忆**里。而 Knomo 记忆是你的 vault 里真实存在的 .md,所以它一旦被打上 #成链,这个 tag 就会出现在你全局的 tag 检索、00index 的标签 MOC 里——**这正是你明确不想看到的污染**。我当初图省事用了 # 前缀,和你"不污染 tag"的原则其实是冲突的。

[决议]
我觉得没关系。这个标签够突出

3. 完整场景串一遍

  1. 某天你在 Knomo 记了句碎碎念,过几天觉得"这个值得成文" → 在那条文末尾加 【成链】
  2. 跑 python3 notechain_extract.py --vault "..." --apply → 它单独被复制成 Knomo/Atom/某文件.md(已剥 tag、剥 todo、记好来源)
  3. 在 Obsidian 启用 NoteChain 后,对这篇 Atom 文件用"新建上一篇/下一篇"命令 → 它才真正进入 PrevNote/NextNote 链条

附-关于标签的处理

  • 副本Knomo/Atom/ 里的文件)已经被脚本剥掉了所有 # 标签,不会进 00index 的标签页——你第④条约束照常成立。
  • 代价只在**源 Knomo 记忆**上:被你打过 #成链 的那条原文会带一个真实 #成链 tag,理论上会进入全局 tag 检索 / 00index 标签页。只要你不介意 00index 里多一个 #成链 标签(它通常零内容、只是个空标签入口),就完全没问题。

用法1-命令行整理碎碎念

脚本1 把全部内容都跑一遍
```bash
python3 notechain_extract.py --vault "..." --months 2026-07 --all --apply



**脚本2 只把带 #成链 的都跑一遍**

python3 notechain_extract.py --vault "..." --months 2026-07 --apply #成链
```

用法2-针对单条笔记加勾子

对任意一篇非排除区笔记
用"新建上一篇/下一篇"命令,亲自试试通用成链(日记 → 日记 是最自然的练手);

Notechain作者原思想总结

NoteChain 插件总结:作者"知更鸟在屋顶"想解决什么问题、实现什么效果

一、核心哲学:一句话概括

作者在 GitHub README 中写下了这句标语:

"Thoughts as river, notes as chain."(思想如河,笔记如链。)

而驱动他开发这个插件的核心洞察是:

"Linear output requires linear input."(线性输出需要线性输入。)


二、他想解决什么问题?

通过公众号一系列文章的演进,可以看到作者的思考脉络:

1. 双链笔记的"网状自由"与"线性输出"之间的矛盾

Obsidian 的双向链接让笔记像大脑一样以**网状结构**自由发散——像根须、像河网,不漏掉任何想法。但作者在实践中发现,当你需要**把观点整理成文章、把主题编纂成书**时,必须把这张网"卷成一条主线"。而 Obsidian 原生并没有提供一种方式来定义"这篇笔记在那一篇之前/之后"的**线性顺序**。

这在作者那篇《Orz__给跪了,当我苦思 Obsidian 笔记顺序为何重要时,〈论语〉开篇三句告诉了我答案!》中体现得最明显——他苦思冥想"笔记顺序为何重要",最终从《论语》"学而时习之"等开篇三句中获得了灵感。

2. 文件资源管理器只能按字母排序,无法反映逻辑关系

Obsidian 默认按文件名首字母排序,笔记之间的邻近关系基本是随机的。即使你用序号前缀,也只是权宜之计,无法灵活调整顺序。

3. 新建笔记脱离上下文

Obsidian 原生的新建笔记功能是"凭空"创建的,与当前笔记没有任何关联。作者在《Obsidian NoteChain 把门都拆了:新建笔记是替换原生功能》一文中明确表示,他要**替换掉原生新建笔记功能**,让每次新建笔记都自动接续在当前笔记之前或之后。

4. 原子笔记散落各处,难以"串联"输出

作者在《赞叹呐,用这款插件,挥舞长鞭,打落篇篇【原子笔记】》一文中表达了他对"原子笔记"的思考——单条笔记是原子的、碎片的,但写作需要把它们像鞭子一样**串起来挥舞**。


三、他想实现什么效果?

从公众号文章的演进时间线,可以看到插件功能逐步丰满的过程:

第一阶段:建立笔记链(核心功能)

  • 通过 frontmatter 元数据 PrevNote / NextNote 定义每篇笔记的前驱和后继,把同主题的笔记串成一条**链**
  • 提供命令创建前/后/头/尾笔记(建议快捷键 Ctrl+N),新建笔记自动接入链条
  • 支持 Alt+← / Alt+→ 在链上前后导航,像翻书一样
  • 三种方式批量设置笔记链关系(插入节点、按文件夹重建、与 LongForm 插件同步)

第二阶段:改造文件资源管理器

  • 开启后,文件列表**按链条顺序排序**,而非字母序
  • 支持文件夹也参与排序(通过 FolderPrevNote + FolderPrevNoteOffset
  • 支持 Confluence 式的**层级缩进**(通过 notechain.level
  • 支持拖拽排序

这就是《Obsidian NoteChain 完成目录排序功能》和《Obsidian NoteChain 完成 80%的功能开发》两篇文章的核心内容。

第三阶段:替换原生功能,深度整合

  • 替换 Obsidian 原生新建笔记——每次新建都接续在当前笔记的链上
  • 与 Templater、DataView、Tasks、Recent Files、LongForm 等插件深度集成
  • 提供双语命令(跟随系统语言),见《我的插件提交了!支持跟随系统的双语命令哦》

第四阶段:从笔记链到"控制中心"(1.1.16 → 1.2.1+)

  • NoteChain 1.1.16:新增多项效率功能(见《Obsidian 效率党的新宠:NoteChain 1.1.16 更新再添亮点》)
  • NoteChain 1.2.1:引入网页式"**侧边栏笔记页面**"——在页面中打开笔记、自动监听变化并更新、支持预览、重启自动记忆,让 Obsidian 像浏览器一样工作(见《工作区革命:用 NoteChain 打造你的 Obsidian 控制中心》)
  • 可添加输入框快速输入链接、提供命令和文件的快速打开、在笔记中创建 UI 页面固定到侧边栏

第五阶段:AI 与 Agent 时代(最新版本)

  • 本地 HTTP 服务:支持 HTTPS(手机/局域网)和 HTTP(WebViewer)
  • MCP for Agents:暴露 vault 工具给 Cursor 等 AI Agent,端点 /mcp/*/sse
  • WebViewer LLM:在 Obsidian Web Viewer 中自动化 AI 聊天(支持元宝、ChatGPT、Kimi 等)
  • Online Vault:浏览器编辑 /online
  • EasyAPIwindow.ea 提供文件/编辑器/对话框等工具函数

四、用一张图概括作者的思路

思想(网状收集)          笔记链(线性整理)          输出(文章/书)
┌─────────────┐      ┌─────────────────┐      ┌──────────┐
│  双链笔记     │      │  PrevNote/NextNote │      │  线性成稿  │
│  自由发散     │ ───→ │  串成链条          │ ───→ │  顺序输出  │
│  像河网一样   │      │  文件树按链排序     │      │  一气呵成  │
└─────────────┘      └─────────────────┘      └──────────┘
     Obsidian原生            NoteChain插件              最终效果

五、总结

"知更鸟在屋顶"(GitHub: ZigHolding)开发 NoteChain 的核心动机可以归纳为:

他要解决的问题是:Obsidian 的双链笔记擅长网状发散收集,但当你需要把想法整理成线性文章时,缺少一种把笔记按逻辑顺序串联起来的机制——文件排序是字母序的、新建笔记是脱离上下文的、原子笔记是散落的。

他想实现的效果是:让笔记像链条一样首尾相连(PrevNote/NextNote),文件资源管理器按链条顺序而非字母排序,新建笔记自动接入链条,前后导航如翻书般流畅——最终让"网状收集"和"线性输出"在同一套系统里无缝衔接。随着版本迭代,他还把这个链条系统扩展成了 Obsidian 的"控制中心",集成了 AI 聊天自动化、MCP Agent 接口等前沿能力。

插件从 2024 年 5 月首次发布到 2026 年 8 月已经迭代了 51 个版本、累计下载超 6100 次,仍在活跃更新中。

Excalidraw Data

Text Elements

用法1-用命令行 @针对碎碎念 ^bbMdGmGU

用法2-针对单篇笔记 ^ZtUbKshl

想给日记串成时间链?
直接对 X0.Diary 的笔记用链命令,不必经过任何脚本。 ^s88mAZfF

想给某篇项目笔记串前后文?
直接在它和相邻笔记上用命令。 ^AemA3GpY

只有想把 Knomo 里某条碎碎念也拉进来成链时,
才需要"复制提取"把它先变成文件。 ^sYI6kG49

复制提取到 Knomo/Atom/ ^zF2eigOA

/Users/ar/WorkBuddy/2026-08-14-04-08-54/notechain_extract.py ^FEgd98uU

把 Knomo 月归档(Memos-YYYY-MM.md)里、你标记为“要成链”的碎碎念,
用「复制」方式拆成独立 .md 文件,放到 Knomo/Atom/ ^IIqVWgyO

日记里的碎碎念不需要、也不该在日记的 frontmatter 里串; ^iZGAmzR6

它们该在被"提取成独立原子笔记"那一刻,才各自带上 Prev/Next 去成链。 ^SHiCBl4f

日记负责"记下来",链条负责"连起来" ^Nd7VBc6O

——两者各管一摊 ^3bBAC67e

作者的原始想法 ^zNIjsPZZ

Element Links

BVk6coGZ: [[插件Notechain#用成链标签作为触发器]]

iGyY2Z4P: [[插件Notechain#用法1-命令行整理碎碎念]]

AuDOYZdj: [[插件Notechain#用法2-针对单条笔记加勾子]]

vSaD7RRs: [[插件Notechain#Notechain作者原思想总结]]

Embedded Files

2a585d3dbe3cdd1c05980a5260b8a98923769ba2: [[notechain01-26.0814.svg]]

40c26f962b987584923085063e90d615e698a006: [[X.Attachment/notechain02-26.0814.svg]]

0f57eb591cdce773053a53905d269e7da7484fac: [[Pasted Image 20260823174436_856.png]]

%%

Drawing

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

%%