返回

Smart Sync(Markdown 与 Obsidian)

Smart Sync 让一张卡片(Card)和你电脑上的一个 Markdown 文件双向保持一致。你在 Obsidian、Logseq、VS Code 或任何文本编辑器里改笔记,改动会回到卡片上;你在 Lino 里改卡片,改动也会写回文件。适合那些笔记还要继续住在文件夹里的情况——一个你还会在别处打开的 vault,或放在版本管理下的文件——同时你又想在画布(Canvas)上用它们思考。

一条绑定是一个配对:一张卡片,一个文件。Smart Sync 只在这台电脑上生效,因为文件在这台电脑上。

打开它

Smart Sync 在导入时打开。

  1. 打开 Settings → Import,选 Obsidian、Bear、Logseq 或 Markdown。每一步见 导入。
  2. 在导入对话框里选好文件,勾选 Smart Sync——"Keep these cards and their Markdown files in step, both ways."
  3. 点 Import。提示的结尾会是 with Smart Sync。

现在每张导入的卡片都和它的文件绑在一起了。Lino 会在文件的 frontmatter 里加一行 lino-id,这样就算你移动了文件夹再导入一次,文件也记得自己属于哪张卡片。

需要登录。如果勾选框是灰的,说明这台电脑还没完成设置(Sync binding needs this device to finish setup.)。

重新连接以前导入或导出的文件

如果你导入的文件带着一个 lino-id,指向一张你还留着的卡片——比如以前同步过的文件,或用 Export as Markdown 导出的文件——请保持勾选 Smart Sync。Reconnect review 框会列出这些文件,每个都设为 Reconnect to(重新连接到)已有卡片。卡片会和文件绑定,而不是复制一张新的。见 导入 → 重新导入。

怎样看出一张卡片在同步

  • 角标。 绑定了的卡片在画布上右上角有一个蓝色小文件夹标记。悬停可以看到 Markdown binding、文件名和上次同步的时间。
  • 属性。 打开卡片的属性(Property):Binding 显示文件名,Synced 显示上次同步的时间。
  • 设置。 Settings → Import → Smart Sync 列出这台电脑上的所有绑定(见下文)。

同步是怎么进行的

Lino 发现有改动

Lino 大约每 30 秒检查一次你绑定的配对。当一张卡片或它的文件在上次同步之后改过,会出现一条通知:

Card-file sync needed · 3 pairs

它有两个按钮和一个关闭按钮:

  • Sync——现在就同步这些配对。
  • Review——先在右侧面板(Right Panel)里打开改过的文件看一看。(找不到文件时,会改为打开 Settings → Import。)
  • ×——暂时忽略这些配对。在你重启 app 之前,Lino 不会再为它们提醒。

你也可以随时在 Settings → Import → Smart Sync 里用 Sync now 同步单个配对。

两边被合并

比如你在 Lino 里给「Photosynthesis」卡片加了一句话,同一天又在 Obsidian 里改了 Photosynthesis.md 的一个错字。点 Sync 时:

  • Frontmatter(概念、别名、变量和其他属性)以上次同步的版本为基准,逐个字段合并。只有一边改过的字段取那一边的值;两边都改过的字段取较新的那个,Lino 会告诉你哪一边赢了,例如 status changed on both sides; the file's version is newer and won.
  • 笔记正文由 Lino AI 合并。它拿到上次同步的版本和两边当前的版本,返回一份合并后的正文,同时写回卡片和文件。它没有任何工具,也不读别的东西。在上面的例子里,你新加的句子和改过的错字都会保留。

没人动过的内容不会消失

写入之前,Lino 会检查合并结果。如果某一行在三份里都有——上次同步的正文、卡片、文件——却不在结果里,说明合并弄丢了一行谁都没删的内容。这时 Lino 会停下,两边都不写:Sync stopped: the merge dropped a line from … Nothing was written. 你的卡片和文件都保持原样。

对 AI 隐藏的卡片

标记了 Hide from AI(对 AI 隐藏)的卡片不会发给 AI 模型,所以它的正文不会由 AI 合并:

  • 只有一边改过:把那一边原样复制到另一边。
  • 两边都改过:同步停止,并提示你把两边都打开,留下你想要的那份。

见 隐私与发送内容。

管理绑定

Settings → Import → Smart Sync 显示这台设备上绑定了多少个文件,并逐条列出。点刷新按钮可以重新载入列表。

每一行显示卡片(或画布)的名字、文件名和完整路径,以及一个标记:

标记含义
Card file一张卡片绑定了一个 Markdown 文件。显示 Last sync(上次同步)。
Canvas folder一块画布绑定了一个文件夹,供 Lino AI 在里面工作。见 画布绑定。
missing文件或文件夹已经不在那个路径了。
orphan这条绑定丢了文件,等着你修复或移除。

每一行的按钮:

  • Sync now——为这个配对排一次同步(仅卡片文件)。
  • Re-bind——换一个文件(画布文件夹则是换一个文件夹)。移动或重命名文件之后用它。
  • Unbind——移除绑定。会问你 Unbind "Photosynthesis.md"?——文件留在原处,卡片也留在 Lino 里,只是两者不再同步。

小贴士

  • 文件移动或改名了? 这一行会显示 missing。点 Re-bind,选新位置上的文件。
  • 绑定属于这台电脑。 在另一台电脑上卡片照样在(它随账号同步),但要等你在那台电脑上用 Smart Sync 导入那个文件夹,才会有文件绑定。
  • 画布文件夹是另一回事。 把整块画布绑定到文件夹,不会让卡片和文件同步;它是给 Lino AI 一个文件夹,让它在你使用这块画布时在里面读写文件、运行命令。见 画布绑定。

相关