2019 年 Roam Research 带火双链笔记之后,我试过的工具可能比记过的笔记还多——命令行里的 nb、zk,编辑器里的 Org-roam、vimwiki,后来又回到 Obsidian。折腾来折腾去,核心诉求其实没变过:数据必须自己管,文件必须是纯文本。这样换软件不心疼,AI 来了也方便对接。
但说实话,有时候我会想念纸笔。拿起手机就能写,打开就能看,不用管同步,不用装客户端。Obsidian 早年没有移动端的时候,我甚至把笔记丢进 Quartz 生成静态网站,就为了随时能查。设备越多,配置越烦,有没有更省事的路子?
![]()
四年前,Zef Hemel 启动了一个叫 SilverBullet.md 的开源项目。它最不一样的地方在于:自托管,客户端是一个本地优先的渐进式网页应用(PWA)。你现在打开它的官网,整个网站就是一个只读的笔记应用实例,除了不能编辑,其他功能都能试。
自托管意味着数字所有权在自己手里;PWA 意味着打开手机浏览器就能用,不用重复安装配置。下面说说怎么把它跑起来。
SilverBullet 提供单个二进制文件,但更推荐用 Docker。建议先在本地电脑跑通流程,再迁到 VPS。部署完登录,会进入笔记库主页——默认是 index.md,可以通过 compose.yml 里的 SB_INDEX_PAGE 变量改。
界面分两块:顶栏和编辑区。顶栏左边是笔记标题,右边是一排可自定义按钮。其中最常用的是 Page Picker 和 Command Palette。
Page Picker 用 Ctrl/Cmd-k 呼出,用来打开或新建笔记。回车打开选中项,Shift+回车则以输入的标题新建笔记。Command Palette 用 Ctrl/Cmd-/ 呼出,命令右侧显示已有按键绑定,执行过的命令会排在更前面。
SilverBullet 的每一页都是常规 markdown 文件,连软件设置也是 md 文件。这些文件存在部署时指定的文件夹里,通常叫 space。想迁移现有笔记,直接把文件丢进去就行。如果想让其他软件共用这份笔记库,可以用 syncthing 或 git 对这个目录做同步。
编辑时自动保存,未保存的笔记标题会变灰。改标题等于重命名 md 文件,相关链接会自动更新。离线时顶栏背景变成淡黄色,内容先存本地,联网后再同步到服务器。
编辑区底部会列出 Linked Mentions,即其他页面引用当前笔记的位置——双链笔记的标配功能。
SilverBullet 和 Obsidian 底层都用 CodeMirror,编辑体验类似,都是把 markdown 的编辑和渲染混在一起。说实话,我觉得有比 markdown 更适合笔记的格式——各家软件为了补功能,造了太多 markdown 方言,同一份笔记在不同编辑器里表现可能不一致。但 markdown 已经是事实标准,SilverBullet 也没免俗,在 CommonMark 基础上加了不少扩展。
和 Obsidian 类似,SilverBullet 支持用页面顶部的 frontmatter 加元数据。比如设 aliases 给笔记起别名,用斜杠命令能快速创建空 frontmatter。
想给笔记里的具体内容加属性,用 Attribute 语法:[attributeName: value]。多个属性就写成 * Item [attr1: foo][attr2: bar]。
Wikilink 的用法和其他软件差不多:自动补全、[[link|description]] 改显示文字、[[note#heading]] 指向标题。它还有个特殊语法 [[note@position]],比如 [[note@L10C42]] 指向第 10 行第 42 列,[[note@n]] 指向第 n 个字符。
因为笔记经常增删,手动写 @+位置不太靠谱,这种链接一般只出现在自动生成的 Linked Mentions 里。作为补充,SilverBullet 支持锚链接:在笔记某处后加 $anchor,另一篇笔记用 [[$anchor]] 指向它。注意整个笔记库不能重名 anchor。
Transclusion 用来在当前笔记里嵌入其他笔记的内容,嵌入的是本体而非副本,源笔记改了,嵌入处跟着变。语法是在前面那些链接前加感叹号,比如 ![[link]]。
标签用 #tag,可以加给整篇笔记,也可以加给某个段落。
SilverBullet 的功能不止这些,但光凭"PWA 形态的自托管笔记"这一点,它就解决了我最烦的几个问题:不用装客户端、打开浏览器就能写、数据还在自己手里。如果你也在找一条更省事的笔记路径,值得花半小时搭起来试试。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.