笔记库里多出来的 .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 版本开始生效。更早的版本没有这个文件夹,也就没有这道防线——建议保持插件为最新版。