写在前面
这几年以来,Obsidian 一直作为 Local-First 双链笔记应用的标杆而存在。 OB的本地存储理念作为其产品哲学之一赢得了诸多用户的欢心。尤其是那些对「数据控制权」「隐私权」介意的用户而言,Obsidian 是这个「云时代」里少数几个坚持尊重用户选择的产品了。
然而,本地存储有利有弊,问题体现在:
- 跨设备的数据同步(例如我家里电脑和办公室电脑,还有手机和平板)
- 跨越人或组织的协作(多人要分享处理或批注同一份笔记)
虽然说,跨设备同步有很多方案,包括 Obsidian 自己也有付费的 Sync 方案(下图),但是人与人的协作,几乎就很难做到了。 如果想要获得「云笔记」(例如:Notion)那种无冲突的「实时协同」,简直像是做梦一般。

不过只要有问题,总有人想到对策,最近火箭君就很惊讶地看到了一篇文章,其中提到,有公司在做 Local-First 和 文档协同可以兼得的方案。 虽然文章里面提到的是 Obsidian 本地笔记,但实际上对于哪怕 一个普通 txt 文本文件而言,这个方案也是成立的。 所以,今天就在这里分享给大家。 这个方案叫做 Stashpad(这是一个产品系列的名称),虽然我觉得方案本身还有很大的不足,但至少是做出了一个有益的尝试和思路。
原作者:Stowe Boyd
原文地址:https://medium.com/workings/stashpad-obsidian-integration-e26a7e8ca95e
以下正文,火箭君翻译并略作编辑。
正文
我会使用许多 Obsidian 插件来支持各种工作流程。其中一个比较重要的用例是与他人共享 Obsidian 笔记的备注,而我很久没有找到可行的解决方案。
在一个完美的想象世界里面,Obsidian 背后的公司应该会提供一个名为「协作」的原生解决方案(就像现在提供的 「Sync」 服务),这个服务应该包括了类似 Google-Docs 的体验、可以共享备注,以及进行权限控制。(火箭君注: LogSeq 正在努力尝试,后面不知会怎么样,我谨慎观望)例如,我希望能与一个或多个其他人共享笔记时,也希望获得他们的反馈意见,但不允许他们对笔记本身内容进行编辑。按照 Google 文档的模式,我希望其他用户能够选择文本内容,并提出编辑建议。(火箭君注:像早期的 Word文档的审阅模式,现在的主流云文档都完美支持)
关于 Stashpad
我最近在阅读 Obsidian 最新的相关集成文章时才了解到 Stashpad 这家公司。
Stashpad 是一家开发了两种工具的公司,分别是:(火箭君注:如果仔细调查会发现,这家公司是一个获得资本支持的新兴小型创业公司,主打小而美的笔记工具)
- Stashpad Lists – 尽管名字如此,但这是一款用于 Markdown 笔记的桌面应用程序,内置任务管理功能并可与移动设备同步。
- Stashpad Docs – 基于网络的 Markdown 编辑器,具有共享评论和审阅功能。通过插件可将Obsidian 笔记导出到 Stashpad Docs。

我下载了 Stashpad Lists 这款应用程序,但它似乎没有与基于云的 Stashpad Docs 应用程序集成。
Stashpad Docs
Stashpad Docs 的广告词是 「谷歌文档的精简化替代品」(Your Streamlined Google Docs Alternative),这非常贴切。
下面这是我测试目的创建的文档,我使用 Gmail 账户登录创建文档,并使用共享链接共享文档,然后在浏览器隐身窗口(用户 91)中点击该链接,看到的效果如下图所示。

有一些基本问题:
- Docs 似乎无法以任何格式导出文档。只能剪切粘贴,或使用其他工具(我有一个叫 Paste to Markdown 的工具,可以将各种文本转换为MD标记符)。
- 不支持「脚注」格式。
- 大家关心的 Obsidian插件的工作方式是单向的,即从黑曜石到 Stashpad。此外,除了逐条手动复制之外,还无法从文档中复制注释。
- 无法上传图片或引用文件。(我尝试了从Obsidian里导出不同的文件)。
- 评论功能本身看起来倒是非常完善。
- 文本一旦被选中注释就无法编辑?至少我不知道如何编辑选中的文本,在 「解决 」(resolve)之后。在删除注释之前,它似乎一直处于冻结的状态。
- 评论和相关文本之间没有明显的联系,但如果点击评论,相关文本的高亮度会变暗来提示用户。
权限和共享
产品有非常复杂的权限设置:作为文档的创建者,我可以选择
a/ 与任何有链接的人共享,
b/ 只与受邀者共享,
c/ 只与我公司的人共享。

我还没有尝试过后两个选项,但当它们被选中时,系统会提示你添加电子邮件或在 Stashpad 上设置公司域名。
文档的编辑建议
打开文档页面顶部的切换开关并选择文本,即可创建建议编辑。输入后会出现下面的中间注释:

点击 “解决 “复选标记,就会应用编辑。非常酷。(火箭君注:Word的「审阅模式」)
关于 Stashpad 的一些改进建议
如果将 Obsidian 和 Stashpad 之间的双向集成实现,那将非常酷。不过,也会带来一些问题:
- 如何在 Obsidian 呈现 Slashpad 的评论备注?没有一个自然的最佳答案,但我更倾向于将 Stashpad 评论转换成我过去写过的那种侧注(参见 ShareNote 和 Tufte SideNotes 插件)。下面是一个示例。这是 Stashpad:

下面是 Obsidian 的样子,Stashpad 评论可以考虑作为侧注实现。

Obsidian的主旨是,用户希望将标记符中的所有内容都保存在他们的本地硬盘中,我也和其他用户一样,都希望将共享文档和协同工作的结果都反映到最初的 Obsidian 笔记中 (永久归档保存在本地)。
当然,最后,如果那些被邀请共享 Stashpad 文档的人本身也是 Obsidian 用户 — 而且他们被授予了足够的权限– 那么让他们把共享的 Stashpad 文档同步回自己的 Obisidian 资料库也是合理的设计。还需要解决一些实施细节问题,但我敢打赌,归根结底,这也是大多数黑曜石用户所希望的样子。
最后
火箭君觉得,本文虽然讲了一个小小的协同应用场景,多人文档的批注和审阅,但的确是一个 「本地优先」类产品的重要话题。 我个人的实践是:Obsidian 是我个人最终本地归档的工具;而在需要协同时,我会采用 Craft(也可以通过Notion)。 这也符合我一向的「工具链」原则,不同的工具干好各自的事情。 唯一的问题是,这个过程会比较麻烦,要不停的复制粘贴和导入导出,如果有一个自动化插件, 如文中的 Stashpad Docs 提供的插件, 或者 Craft 可以提供一个自动化插件,那就是一个完美的过程,既保证了文档最终在本地,又能让需要共享的部分被披露出去。
另外文中提到的 Stashpad Lists 和 Docs 还有一些有趣的用法(光标实时协同),大家可以自己去探索,或者以后另外再介绍。


