存储与同步 · 当前 Web 版
文字修改会立即保存,
登录联网后自动同步。
JotGrove Web 会把卡片、墙面位置、计划、任务、设置、AI 审核数据和「重启人生」进度写入当前浏览器的 IndexedDB。同步协议覆盖的卡片、位置、计划和任务修改,会和持久 outbox 记录一起保存。登录且联网时通常约 2 秒内开始同步;断网后恢复连接或重新登录,也会自动续传待处理内容。
- 每个已验证账号即时写入本地
- 登录联网时自动同步
- 持久 outbox 在网络恢复后重试
修改已在本地保存
- 01立即保存
文字修改立即提交到当前浏览器。
- 02可靠排队
同一个事务把操作 ID 和基础版本写入持久 outbox。
- 03自动同步
登录联网时,待处理内容通常约 2 秒内开始发送。
- 04自动续传
断网内容保留在队列中,网络恢复或重新登录后继续同步。
立即保存 → 联网后自动同步
本地优先,不是只保存在本地
先写本地,让普通文字工作在断网时也能继续。
“本地优先”描述的是一次修改先提交到哪里。它不表示所有功能都能离线使用,也不表示同步内容只留在一台设备,更不等同于端到端加密。
- 01当前浏览器
- 02账号隔离
- 03同步队列
- 04同时修改
- 05需要服务端的功能
当前浏览器
正在使用的副本保存在 IndexedDB。
便签、墙面位置、计划、任务、AI 运行及结果、设置、同步队列和「重启人生」进度都保存在浏览器数据库。因此,短暂断网时普通文字修改仍可以留在当前设备。
- 同一个事务里保存内容并加入同步操作
- 基于 UUID 的记录无需等待网络往返即可在本地创建
- 成功访问后,可安装的 Web 应用能用已缓存的外壳离线打开;私人 API 数据不会进入该缓存
账号隔离
每个已验证账号与工作空间使用独立本地数据库。
邮箱验证后,JotGrove 会根据已校验的用户 ID 和工作空间 ID 选择对应数据库,再载入远端内容。退出登录后会保留该账号的本地数据库,方便以后重新登录时恢复。
- 新账号只初始化设置,不会带演示便签
- 账号范围变化后会先重载,再把远端内容写入本地
- 旧版登录前数据库不会自动导入新账号
同步队列
断网时文字会留在本地,恢复联网后自动上传。
每条排队修改都会持久保存在 IndexedDB,并带有稳定的操作 ID 和开始修改时的基础版本。推送接口可以识别重复操作,所以重试同一条已接收操作时,不会有意重复创建;拉取接口用有序游标把远端变化带回浏览器。
- 多次离线编辑会在推送前合并为相关的最新状态
- 网络恢复或之后重新登录,都会自动续传待处理同步
- 登录状态下通常约 1.5 秒后安排发送,并有约 30 秒一次的兜底检查;仍可使用“立即同步”
同时修改
当前 Web 同步没有手动处理版本冲突的流程。
当前 Web 版调用 v1 同步。卡片、计划或任务带较旧基础版本到达时,服务端仍会应用传入内容、推进版本,并返回 merged。因此,后到的快照可能覆盖另一设备刚修改的字段,而不是打开一个冲突供你选择。
- 墙面位置写入可以按字段比较时钟
- 队列只会对 ID 碰撞或记录不存在等有限情况重新设定基础版本后重试
- 服务端存在 v2 字段冲突引擎,但当前 Web 客户端没有调用它
需要服务端的功能
媒体、转写、AI 和外部连接使用不同的网络边界。
图片原始文件不进入 IndexedDB,也没有离线上传或自动重试队列;上传失败时可能只留下文字卡片。成功的图片使用需要鉴权的附件接口。录音转文字时,浏览器先把音频发给 JotGrove 服务端,再由服务端转交已配置的转写提供方;最终只保存可编辑文字。AI、链接服务、登录和账号同步也需要服务端。
- 附件原始文件保存在需要鉴权的服务端存储中
- MCP 客户端只能读取已经到达服务端的最新数据
- 让外部客户端读取刚修改的内容前,先使用“立即同步”
按字面理解状态
“本地”“等待同步”和“已同步”是三种不同状态。
界面会告诉你当前浏览器是否还有内容等待进入账号。在清除数据或从其他地方使用 MCP 前,这个区别很重要。
- 01
本地优先不代表端到端加密
- 02
当前产品是个人工作空间,不包含协作式 CRDT 编辑
- 03
当前 v1 Web 同步可能把并发内容接受为 merged;界面没有用户可用的版本合并功能
联网后自动同步
网络中断时,也可以继续记录。
文字会留在持久 outbox 中,网络恢复或重新登录后自动上传。只有在刚刚的修改必须立刻出现在其他会话或 MCP 客户端时,才需要使用“立即同步”确认状态。
打开 JotGrove