Patchwork:本地优先的多类型文档工作台

+

Patchwork 是一个本地优先的多类型文档工作台。

它不是传统意义上的在线文档,也不是单一的 Markdown 编辑器。它更像一个运行在浏览器里的轻量知识工作空间:你可以在里面写文章、做白板、建表格、管理看板、整理文件夹,也可以使用 Bot 文档辅助编辑。

访问地址:

https://patchwork.doradreamland.com

为什么做 Patchwork

很多工具在一开始就假设数据必须先进入云端。

但对个人写作、项目构思、资料整理和轻量协作来说,我更喜欢另一种方式:

  • 数据先在自己设备上可用
  • 没网时也能继续写
  • 工具不因为服务器状态而影响本地编辑
  • 需要时再开启同步和备份
  • 文档不被限制在单一形态里

Patchwork 的核心思路就是本地优先。

文档会先存储在浏览器的 IndexedDB 中。同步服务器是可选能力,用来在不同设备或会话之间同步 Automerge 文档。即使没有同步服务器,Patchwork 也可以作为本地工具使用。

适合做什么

Patchwork 适合这些场景:

  • 写作草稿、项目说明、产品文档
  • 用白板梳理结构、流程和关系
  • 用表格记录轻量数据
  • 用看板管理想法、任务和进度
  • 把不同类型文档放在文件夹中组织
  • 保存个人项目的思考过程和版本变化
  • 在浏览器中安装成 PWA,当作桌面应用使用

它适合那些希望把想法、结构、任务和资料放在同一个工作台里的人。

核心功能

多类型文档

Patchwork 当前支持多种文档类型:

  • Markdown / Essay:适合写文章、笔记、项目说明
  • tldraw 白板:适合画图、画流程、做空间化思考
  • Datagrid 表格:适合记录结构化数据
  • Kanban 看板:适合管理任务和项目进度
  • Folder 文件夹:适合组织文档层级
  • Bot 文档:适合配置和运行辅助编辑流程

这些文档都建立在 Automerge 之上,可以保存编辑历史,也能支持同步和分支式的编辑流程。

本地优先存储

Patchwork 会优先把数据保存在浏览器本地。

这意味着:

  • 打开网站后,可以在本机继续编辑
  • 普通关闭页面、重启浏览器,不会导致文档消失
  • 网络不可用时,本地文档仍然可用
  • 是否启用同步,由部署和配置决定

需要注意的是,浏览器本地数据不是永久保险箱。如果清理浏览器数据、卸载 PWA 并删除数据、重置浏览器配置或设备丢失,本地数据仍可能丢失。

所以 Patchwork 提供了备份和恢复功能。

备份与恢复

在顶部菜单中打开 Local data,可以管理本地数据:

  • 查看本地存储状态
  • 选择本地文件夹进行自动备份
  • 手动导出完整备份 JSON
  • 从备份文件恢复本地数据

如果浏览器支持文件夹访问,Patchwork 可以把备份写入你选择的本地文件夹。启用后,它会维护一个最新备份文件,也会保留按时间生成的备份文件。

可安装为 PWA

Patchwork 可以作为 PWA 安装。

安装后,它会像普通桌面应用一样出现在系统里,适合长期使用。

使用手册

1. 打开 Patchwork

访问:

https://patchwork.doradreamland.com

建议使用 Chrome 或 Edge。Safari、Android Chrome 也可以安装为 PWA,但不同浏览器对本地文件夹备份的支持程度不同。

2. 创建文档

打开页面后,左侧是 My Documents 文档列表。

在左侧可以创建不同类型的文档:

  • New Essay:创建 Markdown 写作文档
  • New Tldraw:创建白板
  • New Datagrid:创建表格
  • New Kanban:创建看板
  • New Folder:创建文件夹
  • New Bot:创建 Bot 文档

点击文档后,右侧会打开对应编辑器。

3. 管理文档

在左侧文档树中可以:

  • 点击文档打开
  • 双击文档名称重命名
  • 拖拽文档调整顺序或移动到文件夹
  • 使用搜索框过滤文档
  • 展开或折叠文件夹

如果文档类型支持重命名,侧边栏里的名称会同步更新到文档本身。

4. 写 Markdown 文档

创建 Essay 文档后,可以直接在编辑器中写 Markdown。

适合用于:

  • 项目说明
  • 文章草稿
  • 会议记录
  • 产品想法
  • 研究笔记

顶部菜单中可以导出文档。具体可导出的格式会根据文档类型显示。

5. 使用白板

创建 Tldraw 文档后,可以在画布中画图。

适合用于:

  • 流程图
  • 结构图
  • 产品草图
  • 关系梳理
  • 自由白板

白板内容同样会保存到本地 Patchwork 数据库中。

6. 使用表格

创建 Datagrid 文档后,可以在表格中录入结构化数据。

表格支持行列编辑,也支持基础公式能力,适合做轻量数据记录。

7. 使用看板

创建 Kanban 文档后,可以用看板管理任务。

你可以:

  • 添加列表
  • 添加卡片
  • 移动卡片
  • 修改卡片内容
  • 删除卡片或列表

适合管理项目阶段、灵感池、待办事项和执行进度。

8. 分享和复制

顶部菜单中的 Copy share URL 可以复制当前文档链接。

如果部署启用了同步服务器,知道文档链接的人可以尝试打开并同步该文档。因此,不要把敏感文档链接随意公开。

顶部菜单中的 Make a copy 可以把当前文档复制成一个新的分支副本,适合做实验性修改。

9. 备份本地数据

点击顶部右侧的更多菜单,选择 Local data

建议第一次正式使用前就设置备份:

  1. 点击 Folder
  2. 选择一个本地备份目录
  3. 之后 Patchwork 会自动写入备份
  4. 也可以随时点击 Backup 手动备份

如果没有选择自动备份目录,点击 Backup 会导出完整 JSON 备份文件。

10. 恢复数据

Local data 中点击 Restore,选择之前导出的备份 JSON 文件。

注意:恢复会替换当前设备上的 Patchwork 本地数据。操作前建议先导出一次当前数据备份。

数据安全说明

Patchwork 是本地优先工具,但本地优先不等于永不丢失。

请记住:

  • 浏览器 IndexedDB 是主要本地存储位置
  • 清理站点数据可能删除文档
  • 卸载 PWA 时如果选择删除数据,文档也会被删除
  • 换设备不会自动带走本地数据,除非同步或导入备份
  • 重要资料请定期导出备份

如果你把 Patchwork 用作长期写作或项目资料库,强烈建议开启自动备份。

技术说明

Patchwork 的核心基于:

  • React
  • Vite
  • Automerge
  • IndexedDB
  • CodeMirror
  • tldraw
  • Handsontable
  • PWA

前端是 Vite 静态应用,后端同步服务是 Automerge WebSocket sync server。当前部署地址已经可用:

https://patchwork.doradreamland.com

Patchwork 目前更像一个可持续演进的个人工作台原型:它把写作、白板、表格、看板、文件夹和本地备份放在一起,为更自由的个人知识管理和项目管理提供基础。