返回主页

你的数据

Lino 是本地优先的:你的每一次改动,先写进你自己电脑上的数据库,然后才谈得上别的;同步是这份数据的副本,而不是反过来。这一页把话说全——文件在哪、断网会怎样、两台设备改了同一样东西怎么办、怎么把所有东西拿出去。

东西存在哪

你的库是你机器上的一个 SQLite 数据库文件,你登录的每个账号各一份:

  • macOS~/Library/Application Support/Lino/users/<账号>/lino.db
  • Windows%APPDATA%\Lino\users\<账号>\lino.db

你放进来的图片、链接预览等文件就在旁边的同一个文件夹里。这里没有任何东西被锁在 Lino 里:它是一个普通的 SQLite 文件,而下面说的导出随时能把它变成纯 JSON。

本地数据库本身没有单独加密。它和你电脑上别的文件一样,靠系统的磁盘加密保护——建议打开:macOS 的 FileVault,Windows 的 BitLocker

断网时

网络从来不挡在一次编辑前面。拖一张卡、在卡里打字、画画、改表格,每一下都是往本地数据库写一行,大约一毫秒,不需要跟任何地方来回。

登录着但断网时,这些改动排在磁盘上的队列里。关掉 app、重启电脑、断电,都不会清空这个队列——它是数据库的一部分,不是内存里攒着的东西。下次联网,它们按顺序推上去。

同步,以及两台设备意见不一致时

登录之后多一层同步:画布经由我们的服务器复制一份,让你的几台设备保持一致;数据库的行级安全策略保证每个账号的数据和别人的隔开。传输是加密的,云端那份静态也是加密的。

不是端到端加密。你的东西在我们的服务器上是可读的,就像任何一个托管服务那样。我们不读你的画布,也不拿你的内容训练模型——但我们宁愿把话这么说清楚,也不去承诺一个架构上并不成立的保证。

同一张卡片、表格或 sketch 在两台设备上都被改过——比如两边都离线了一个下午——Lino 按对象裁决,不是按文件:

  1. 后改的那次生效,两台设备上看到的都是它。
  2. 输掉的那一份不会被丢掉。它作为这个对象的一个版本留着,输掉的那台设备会提示你一次。
  3. 你打开这个对象的版本历史,两份都看一眼,留下你本来想要的那份。

哪台设备先联网都一样,被盖掉的那份都在。

版本历史

卡片、表格、sketch 各自有历史:

  • 停一阵之后重新开始编辑时、AI 动手改之前、以及同步冲突需要保住输掉的那份时,都会存一版。
  • 版本跟着账号走,所以一张卡的历史在你另一台电脑上也在。
  • 在对象上右键 View history 打开:还原之前先看清楚它会改掉什么。还原本身是一次普通编辑,⌘Z 撤得掉。

最近删除

删掉不等于立刻销毁。30 天内它待在图库的 Deleted 筛选里,预览、名字都在,还写着离清除还有几天。

要拿回来,从那里拖到画布上。它连着的、对方还在的连线会一起回来;旧位置不会回来——你放在哪它就在哪,所以放回一张卡不会在你早就忘了的画布上散落出一堆副本。

备份

三件不同的事,它们失效的方式也不同,这正是要点:

在你的机器上。 Lino 每天给你的库备份一份,保留最近 7 份。设置 → Data & Import → Backups 里按日期和大小列着,Restore to this day 把整个库放回那天的样子。那天之后做的东西不会被销毁,它们进「最近删除」——所以一次不该做的恢复,本身也是可逆的。恢复之前,Lino 还会把当前的样子再留一份。

全部导出。 同一处有 Export all:写出一个 zip,里面是一份包含所有内容的 library.json,加上它引用到的图片和文件。换电脑之前、或者任何你想要一份不依赖我们的副本时,导一次。

我们的服务器。 如果你登录着,你的东西在我们的服务器上也有一份,那边每天备份、保留 7 天。

出事了去哪找

| 发生了什么 | 去哪 | |---|---| | 不小心删了 | 图库 → Deleted 筛选,30 天内 | | 改完之后卡片或表格不对了 | 在对象上右键 → View history | | 另一台设备上的修改盖掉了你的 | 同一个版本历史,输掉的那份在里面 | | 一下午改乱了,想整个退回去 | 设置 → Data & Import → Backups → Restore to this day | | 想把材料拿到 Lino 之外 | 设置 → Data & Import → Backups → Export all | | 有东西同步不上去 | 同一个设置页会列出云端拒收的行,可以重试 |