教程

笔记库里多出来的 .obsync-anchors 是什么

手机电脑同步插件 · ·使用教程

一句话

它是插件给你这个笔记库贴的一张”门牌”,用来防止两个不同的笔记库被搞混、把内容混到一起。

里面没有你的密钥,也没有任何笔记内容,一台设备只有几百字节。它不会被同步到云端,也不会跑到你别的设备上。看到了不用管它,也不用删。

一、它在哪、什么时候出现

配对成功、这个笔记库开始同步之后,插件会在笔记库根目录创建:

你的笔记库/
├─ .obsidian/
├─ .obsync-anchors/          ← 就是它
│   └─ anchor-xxxxxxxx-....json
└─ 你的笔记.md

因为名字以点开头,Obsidian 左侧的文件列表里是看不到它的——你多半是在电脑的文件管理器里(打开了”显示隐藏文件”),或者在手机的文件管理 App 里翻到的。

每台设备只写自己那一个文件。所以如果你有电脑 + 手机两台设备都连着同一个笔记库,这个文件夹里会慢慢出现两个文件,各归各管,互不覆盖。

二、为什么需要它

先说会出什么事。

有些用户为了”省事装插件”,会把电脑上装好的插件文件夹(.obsidian/plugins/shoujidiannao/整个复制到另一个笔记库里去。问题在于:这个文件夹里存着”我已经配对好的那个云端库”的全部凭据。复制过去之后,新的这个笔记库会以为自己就是原来那个库,于是:

  • 原来那个库的笔记,被下载进了新库;
  • 新库里本来的笔记,被上传进了原来那个库的云端;
  • 你其它所有设备也一起收到了这些不该收到的笔记。

两个库就此混在一起,而且事后分不开——因为对插件来说,它们已经是同一个库了。

.obsync-anchors 就是为这件事准备的。它待在插件文件夹外面,所以复制插件文件夹时不会被一起带走。插件每次启动都先看一眼:“我手里这份凭据,跟这个笔记库门牌上写的,是同一个云端库吗?”

  • 对得上 → 正常同步,你什么都不会察觉;
  • 对不上 / 门牌是空的但情况可疑先停下,弹提示问你(见下一节),在你确认之前,一个字节的笔记都不读、不写。

三、如果看到”同步已安全暂停”

打开插件设置页,你会看到这样一段,并且带三个按钮:

同步已安全暂停 插件找到了同步凭据,但还不能证明它们属于当前打开的这个 Obsidian 库。 本地库「我的笔记」→ 云端库「工作库」(共 328 个文件 · 45.2 MB)

怎么选,只看一个问题:你刚才复制/移动/还原的,是”整个笔记库文件夹”,还是”只有插件那个文件夹”?

你刚才做的事该点哪个
整个笔记库换了位置、改了名、从备份还原、拷到了新电脑确认:这是原来的整个库,继续同步
只把 .obsidian/plugins/shoujidiannao/ 复制到了另一个笔记库不是,重新配对
什么都没做,想让它再查一次重新检测

⚠️ 这一步选错是不可逆的:本来是两个库,点了”确认继续”就会合并成一个,之后没有办法再拆开。拿不准的时候,先选”重新配对”——重新配对只是让这个库重新选一次要同步到哪个云端库,不会动你已经写好的笔记。

如果看到的是另一句——“检测到本机库身份不一致,同步未启动”——意思是门牌上写着 A 库,凭据却指向 B 库。同样是没有读写任何云端笔记,按”重新配对并选择同步库”重新选一次即可。

四、几个常见疑问

里面到底写了什么?会不会泄露我的东西?

一个文件对应一台设备,内容就是这么几行:设备编号、一串随机生成的编号、你这个笔记库对应的云端库编号,以及两个时间。没有密钥、没有密码、没有笔记内容、没有文件名。就算被别人看到,也拿不到你的任何笔记。

它会被同步到云端或其它设备吗?

不会。插件对这个文件夹是双向拦死的:既不上传,也不接收。你别的设备上那个文件,是那台设备自己写的。

能删掉吗?

可以删,但没必要。删掉之后下次启动,插件发现没有门牌就会重新判断:没有可疑迹象(比如这确实是你一直在用的那个库)就自动补一张新的,你不会被打扰;有可疑迹象就会弹出上面那个确认提示。所以删它的唯一效果,通常是”什么都没发生”,偶尔是”多问你一次”。

我把笔记库挪到别的盘、改了库名,会有影响吗?

不会。门牌记的是”这个库配的是哪个云端库”,跟它放在电脑的什么位置、叫什么名字无关。

我用 iCloud / 坚果云 / Git 同步整个笔记库,会不会打架?

不会。每台设备只写自己那个文件,不存在两台设备抢同一个文件的情况,也就不会产生”冲突副本”。整个库被镜像到新设备时,新设备看到门牌对得上,会安静地补上自己那份,不打扰你。

五、给好奇的人

文件的完整内容长这样(anchor-<设备编号>.json):

{
  "schemaVer": 1,
  "deviceId": "本机设备编号",
  "anchorId": "本机随机生成的一串编号,生成后永不改变",
  "vaultId": "这个笔记库对应的云端库编号",
  "createdAt": 1785000000000,
  "boundAt": 1785000000000
}

写入时采用”先写临时文件 → 读回来核对 → 再改成正式名字”的方式,所以哪怕正写到一半断电、被强制退出,也不会留下一张写坏的门牌导致误判。

这个保护从插件 2.5.1 版本开始生效。更早的版本没有这个文件夹,也就没有这道防线——建议保持插件为最新版。