🔁 WebDAV Sync:通用、稳健的 WebDAV 同步插件(v3 重写已完成)

WebDAV Sync 是另一个 Obsidian 的非官方同步插件,类似于 Remotely SaveLiveSync

GitHub 仓库:

为什么需要另一个同步插件?

虽然社区中已有许多解决方案,但通过以下对比,本插件的优势便一目了然:

  • Remotely Save:支持众多厂商,但目前有付费项、无人维护,且有 200 个未解决的 Issue。
  • 所有类似于 Remotely Save 的插件:单个插件包揽了所有功能,您只使用了其中一部分,其余功能却拖慢了加载速度。且可能 vibe-coded、维护难、付费等问题。
  • Git Integration:对技术用户而言很理想,但作为日常同步方案过于沉重。
  • Syncthing Integration:优秀的 P2P 方案,但要求你的设备中至少有一台必须始终保持在线。
  • LiveSync:最为稳健,但需要自建服务器。

如何安装?

你可以从 Obsidian 插件库中安装它:

  1. 进入 社区插件 并搜索 WebDAV Sync
  2. 找到由 Hēsperus 开发的插件
  3. 安装并启用它,配置你的 WebDAV 服务,即可大功告成。

网络受限用户的安装方案

中国大陆地区访问 Obsidian 官方插件商店的网络连接可能不太稳定。如果您遇到此类问题,可以尝试以下两种解决方案:

方案一:使用 PKMer Market
  1. 参考 PKMer 教程,下载并安装 PKMer Market 插件。
  2. 登录您的 PKMer 账号。
  3. 在 PKMer Market 中搜索 WebDAV Sync,请认准由 Hēsperus 开发的插件。
  4. 通过此方式安装的插件支持自动更新,使用体验与官方插件商店一致。
方案二:手动安装

请按照以下步骤手动安装插件:

  1. 借助 GitHub 加速服务(例如 gh-proxy)。
  2. 复制以下链接,通过加速站转换后进行下载:
    • https://github.com/hesprs/obsidian-webdav-sync/releases/latest/download/main.js
    • https://github.com/hesprs/obsidian-webdav-sync/releases/latest/download/manifest.json
    • https://github.com/hesprs/obsidian-webdav-sync/releases/latest/download/styles.css
  3. 在文件管理器中打开 <您的仓库>/.obsidian/plugins/ 目录,新建一个名为 webdav-sync 的文件夹。
  4. 将下载好的三个文件移动至该文件夹内。
  5. 启动 Obsidian,确保已关闭“限制模式”(Restricted mode)。此时您应该能看到 WebDAV Sync 插件已处于可用状态。
  6. 注意:手动安装的插件无法自动更新,建议您定期重复上述步骤以获取最新版本。

:loudspeaker: V3 重写完成

V3 重写的完成标志着一个世代交替的里程碑。整个项目被彻底重构,并正式更名为 “Sync Engine”,不再是 “坚果云 fork”。Sync Engine 是一款革命性的 vault 同步解决方案。它不仅是一个同步插件,更是一个人人都可以基于此进行构建的模块化平台。

得益于模块化方面的革命性突破,该插件现在允许您(以及您的 AI Agent)编写专属模块来扩展插件行为,而无需修改其任何源码。同时,插件也超越了 WebDAV 的局限,现在支持新的后端(如 S3、阿里云盘 等)就像编写一个模块并将其放入 modules 文件夹一样简单。相关的开发文档、SDK 以及 AI Agent skill 也将于近期发布。

此外,通过激进的性能优化,我们进一步缩短了插件的加载和同步时间。在 Anchored Asymmetric Storage(锚定非对称存储) 技术的加持下,每次同步都快如拥有独立专属服务器一般(当然,这需要您的云服务本身没有频率限制)。

有关 v3 的详细信息,请参阅 GitHub 上的 feat/fs 分支

目前 v3 正处于 Beta 测试阶段,如果您想提前体验,可以通过以下方式进行下载(如果您现在不想使用 v3 也没关系。当它正式发布时,您将会被自动迁移到 v3 版本):

方案一:您可以通过 BRAT 进行安装:

  1. 前往 Community plugins(社区插件)并搜索 BRAT
  2. 安装并启用它。
  3. 点击 Add beta plugin(添加 Beta 插件),并在 repository(仓库)中填入 https://github.com/hesprs/obsidian-webdav-sync
  4. 选择 Latest 并安装 + 启用 Sync Engine。

上面提到的 “方案二:手动安装” 依然有效。

配置

  1. 前往插件设置,找到 Module management(模块管理),打开面板。
  2. 浏览并安装所需的语言包和后端。
  3. 配置您的后端,自动连通性检查会以图标形式显示在 存储后端 内部。
  4. 开始您的第一次同步。

如果你认为我的工作有用,请给我一个 GitHub Star :star:!如有其他问题,欢迎在下方留言!

14 个赞

试了试,的确是非常好的插件:+1:可惜我的alist似乎有点问题,删除的时候同步会报错Method Not Allowed

这种情况比较少见。能否请您提供一下支持日志(路径:设置支持报告导出为笔记)?或者,您也可以直接在 GitHub 上提交一个 Issue。

找到问题了,是alist配置问题,和插件本身无关。

我配置的alist的删除行为是将其移到./回收站目录中,可能是由于alist配置的权限问题或是我未创建./回收站,alist在删除时会提示操作失败。因此webdav操作时会报错 Invalid response: 405 Method Not Allowed,我改为永久删除后就可以正常同步了。

非常好的插件,已star,抱歉叨扰。

note fast sync 你值得拥有,毫秒级的。比webdev好用多了。webdev同步都是几十秒,慢的很。

我搜索了一下,Note Fast Sync 与 LiveSync 非常相似。但对于大多数普通用户来说,搭建服务器并将其暴露到公共互联网涉及高昂的成本和较高的技术门槛。而 WebDAV 可能是对他们而言最易用的方式,因为目前已有部分免费的公共互联网服务可供选择。

已经使用,比 Remotely Save 新颖稳定,Remotely Save是很久没更新了。
解决了Remotely Save的下面问题:

  1. 文件名中间有空格,会同步错误
  2. 偶尔同步不成功,但不会提示,WebDAV Sync每次都同步成功。
  3. 只在最后简单提示同步的成功已否。WebDAV Sync 有个界面展示同步进度,和删除哪些文件,令人安心。

插件没有bug。

感谢您的反馈,很抱歉给您带来了困扰。我会尽快进行调试修复。


编辑:已解决。这本身并非 WebDAV Sync 的 Bug,而是该插件与另一款名为 paste-image-rename 的插件之间的兼容性问题。

是的插件没有bug,我误会了,抱歉。
作者很有耐心,更新速度很快,技术很好 :sparkling_heart:,插件 webdav sync v2.1版本已经很完美,推荐使用。

你好,我使用了,我要的就是这样的插件,能不能提个建议,加一个端到端加密呢,谢谢。

1 个赞

另外就是,能不能同步时可以把.obsidian这个文件夹也上传,现在的这个我试过了,跟坚果云一样,就算把规则添加了,也不能同步。

安装成功,连接检查也没问题的。但是同步失败

安装成功,连接检查也没问题的。但是同步失败,显示401

设置里排除规则:把".obsidian" 删了试试

401 是webdav服务器权限问题好像,和插件无关哦。你问问ai,把webdav服务器设置好

试过了,先排除,再添加,本质上就是fork,原来的坚果云插件,因为在原来的坚果云插件上我就试过不行。

我安卓手机和windows电脑,装这个插件 2.0、2.1、2.2三个版本,并且删除重装了很多次。
每次填上webdav服务器地址,账号,密码,都能用,没任何错误哦。

webdav sync 和 Remotely Save 这两个同步插件是没问题的。
我很早前在windows电脑上装webdav服务器,使用"Remotely Save"同步插件也遇到401或者404错误,就是访问权限配置,或者文件夹权限问题。问ai解决了。

你用的什么webdav服务器?

@minzihua @b09feng

回复如下:

  1. 401 错误通常由 WebDAV 服务商的速率限制引起。要消除此错误,请在设置中将 “速率与大文件设置” 下的 “最大并发 WebDAV 请求数” 调整为 1
  2. .obsidian 文件夹的同步支持将在 v2.3 版本中推出(编辑:已实现并发布)。
  3. 端到端加密 (E2E encryption) 是呼声最高的功能,其开发进度将追踪于 此 GitHub Issue

建议阅读 中文 README,特别是最后三个部分,其中包含了关于开发进度和注意事项的重要信息。

请求数调整为1就可以了