学习资料

Zotero 换电脑文献就丢?配好 WebDAV 同步,附件也能自动带走

🦋admin LV1 · 1 次浏览 · 2 条回复

写论文那阵子,我在台式机和笔记本之间来回切。某天笔记本上打开 Zotero,发现台式机加的二十几篇文献全不在,而笔记本上标过的一批笔记也不见了——两边各写各的,最后手动导一遍,重复条目一堆,还把几条重要笔记覆盖掉了。

问题出在:Zotero 默认不同步。它只在你点了同步按钮时才把「条目信息」传到官方服务器,而 PDF 附件要另外买存储。免费那 300MB 装不了几篇就满。

免费额度到底够不够

Zotero 官方分两部分计费:

  • 条目信息(标题、作者、笔记、标签):完全免费,无限量同步
  • 附件文件(PDF、截图、补充材料):免费 300MB,超出要买存储(2GB 每年约 20 美元,6GB 约 60 美元)

300MB 是什么概念?一篇带图的学术 PDF 通常 2–5MB,纯文的 800KB 左右。大概装 100–150 篇就到顶了。如果是做综述或者博士期间攒文献,很快就撑爆。

所以自建 WebDAV 是性价比最高的一条路:用自己已有的网盘空间或 NAS,没有容量上限,也不用按月交钱。

三条路,我选了第三条

| 方案 | 成本 | 稳定性 | 配置难度 |
|---|---|---|---|
| 官方存储 | 年费 20 美元起 | 最稳,不用管 | 零 |
| 坚果云 WebDAV | 免费额度够用 | 稳,但限速 | 简单 |
| 自建 WebDAV(NAS / 服务器) | 硬件已有 | 看自己维护 | 中等 |

坚果云每个月有 1GB 上传流量限制,文献攒得快的话可能不够。我自己 NAS 常开,所以走了自建。

自建 WebDAV:两条命令就能跑

最省事的办法是直接用 rclone 起一个 WebDAV 服务(之前装过 rclone 的话,不用再装任何东西):

rclone serve webdav /mnt/nas/zotero \
  --addr :8080 \
  --user zotero \
  --pass 你自己设的密码 \
  --etag-hash md5 \
  --vfs-cache-mode writes

几个参数是必须的,缺一个都会出问题:

  • --etag-hash md5:让服务端返回文件的 MD5。Zotero 靠这个值判断本地和远端的文件是否一致,不设就会反复重复上传
  • --vfs-cache-mode writes:写入时先落缓存再回写,避免大 PDF 传到一半断流导致文件损坏
  • --addr :8080:如果只监听 127.0.0.1,局域网里别的设备连不上

如果要在公网用,一定要套 HTTPS。WebDAV 是明文传输,账号密码直接在网络上裸奔。用 Caddy 最省事,一行配置自动申请证书:

zotero.你的域名.com {
    reverse_proxy localhost:8080
}

Zotero 里怎么填

打开 编辑 → 设置 → 同步,把这两个地方改掉:

  • 账户页:填上 Zotero 官方账号(条目信息还是走官方,免费)
  • 同步页:「文件同步」一栏,方式选 WebDAV,地址填 https://zotero.你的域名.com/,用户名密码填上面设的

填完点一下「服务器校验」,绿色的勾出来就通了。

地址末尾的斜杠别漏,我第一次就是因为少了斜杠,校验一直提示失败,排查了半天。

校验失败,基本就这五个原因

按我遇到的概率排序:

  1. 用了 HTTP 而不是 HTTPS:Zotero 较新版本对明文 WebDAV 有警告,某些平台直接拒绝
  2. 自签证书不信任:自己签的证书 Zotero 不认,必须用 Let's Encrypt 这类公开可信的
  3. --etag-hash md5 没加:能连上,但每次都重复上传,流量翻倍还很慢
  4. 反向代理没放开 PUT / DELETE / MOVE / PROPFIND:Nginx 默认只放行常见方法,WebDAV 这几个方法必须显式允许
  5. 路径权限:容器里的 rclone 用户对目标目录没有写权限

Nginx 的话,除了放行方法,还要加这两行:

client_max_body_size 1024m;    # 默认 1m,大 PDF 传不上去

几个必装插件

配好同步之后,这三个插件能让 Zotero 好用一大截:

  • Zotero Connector(浏览器扩展):在知网、Google Scholar、arXiv 页面上点一下,条目和 PDF 一起进来
  • Better BibTeX:生成稳定的引用 key,跟 LaTeX / Obsidian 联动时不会乱跳
  • Zotero PDF Translate:划词直接翻译,读外文文献效率翻倍

装插件要去官方插件页下 xpi,然后在 Zotero 里「工具 → 插件 → 从文件安装」。注意插件版本要跟 Zotero 版本匹配,大版本升级后老插件会失效。

同步冲突怎么处理

两台机器同时改同一条笔记,Zotero 会保留两个版本让你手动选,不会静默覆盖(我当年那次是因为压根没同步)。真遇到冲突,看条目右侧的「冲突」标记,点进去对比后保留一个。

另外一个习惯建议:大批量导入文献后,手动点一次同步再关电脑。Zotero 的自动同步有延迟,直接关机可能丢掉最后一次改动。

现在台式机加的文献,笔记本开机几秒就全过来了,附件也跟着下来。300MB 那个焦虑彻底没有了——空间是我 NAS 上剩下的几百 GB。

你们文献管理用什么?Zotero 还是别的?如果也在用自建同步,踩过哪些坑?

回复 (2)

  • 夜航船 #1

    坚果云那条要提醒一句:它的 WebDAV 用的是应用密码,不是登录密码。

    在坚果云的账户信息 → 安全选项里单独生成一个应用密码,填到 Zotero 里。直接用登录密码的话会校验失败,而且开了二次验证之后更是连不上。这个卡了不少人。

    流量方面,坚果云免费版每月上传 1GB、下载 3GB。日常同步条目和小附件够用,但如果你一次性导入几十篇带图 PDF,那个月肯定超。建议大批量导入的时候挑个流量周期刚开始的时候做,或者干脆先用本地同步把文件放好。

  • 硬盘收藏家 #2

    插件版本那个坑我踩得特别惨。

    Zotero 7 出来之后我直接升级,结果 Better BibTeX 和 Translate 全部失效,界面上倒是不报错,就是功能没了。查了才知道插件的 xpi 里写了兼容版本号,大版本不匹配就直接不加载。

    现在的习惯是:升级 Zotero 之前先去插件的 GitHub 看一眼有没有适配新版,没有就先不升。另外 Zotero 自己也能关自动更新,在高级设置里把 app.update.enabled 改成 false,想升的时候手动升。

登录后即可参与讨论

去登录 注册账号

相关帖子