01 云同步,我们一直在路上
启文从第一天起就坚持「本地优先、可离线」的理念。所有数据存在用户自己的设备上,不上传、不联网、不依赖任何服务器。这个定位帮我们赢得了一批信任我们的人——尤其是科研、教育、医疗这些对数据敏感领域的用户。
但「本地优先」从来不是「只能本地」。
实际上,从项目的第一行代码开始,云同步就在我们的路线图上。我和团队对这个功能的态度一直很明确:不是做不做的问题,而是怎么做的问题。我们花了很长时间思考一个核心命题——什么样的云同步,才真正符合启文的理念?
——用户需要的不是"要么本地要么云",而是"本地和云可以同时存在,由我来决定怎么用"。
核心命题:云扮演什么角色?
在这个问题上,我们内部讨论了很久。最核心的分歧在于:云应该是"数据的主人"还是"数据的搬运工"?
如果云是主人,实现上最简单。所有文档的"正本"存在服务器上,本地设备只是缓存。改一个地方,所有设备自动同步。这种方式技术上很成熟,市面上大多数工具都是这么做的。
但问题也很明显:一旦服务器宕机,你的文档就打不开。一旦服务停止运营,你的数据可能消失。而且,服务器管理员理论上可以看到你的文档内容——这在医疗、科研、法律等对数据敏感的领域,是不可接受的。
如果云是搬运工,实现上复杂得多。每台设备维护完整本地库,云端只负责加密传输。你需要处理冲突合并、增量同步、离线恢复、设备认证……工程复杂度远大于前一种方案。
但我们选了后者。
原因很简单:启文的用户不是"消费者",他们是"创作者"。他们的文档不是消费品,是智力资产。智力资产应该在自己手里。

02 启文的云同步做了什么?
在具体实现上,启文的云同步基于一个核心原则:每台设备维护一份完整的本地文档库,云端仅负责在设备之间传递加密后的变更。
下面展开讲几个关键机制。
文档同步:本地始终是正本
你在办公室的台式机上写了一篇论文草稿,包含文字、公式、参考文献和几张实验图表。
点击工具栏的"同步"按钮后:
1. 启文在本地对你的文档进行加密(AES-256,密钥只存在于你的设备)
2. 加密后的数据上传到云端暂存区
3. 回到家,你打开笔记本,点击"同步"
4. 启文从云端暂存区拉取加密数据,在本地解密
5. 你的笔记本上出现了一份与台式机完全一致的本地副本
之后你在笔记本上修改了"实验方法"那一段,新增了两条参考文献,删掉了一张不需要的图表。再次点击"同步":
1. 启文比对本地副本和上次同步时的状态,提取出差量数据
2. 只上传变更部分(而非整个文档)
3. 第二天回到办公室,台式机拉取变更,应用到本地副本
整个过程中,你的本地文件始终是"正本"。云端只是传输的中间站,不掌握明文数据。
附件同步:不只是文字
文档中插入的图片、PDF、数据表格、代码文件等附件,也会随文档一起同步。
附件同步采用了增量传输策略:如果你在一个 50MB 的数据表格里只改了几个单元格,同步时只传输变化的部分,而不是重新上传整个文件。这对经常处理大型数据集的研究人员来说,节省了大量时间和带宽。
冲突处理:不替你决定
多设备写作最棘手的问题就是冲突——两台设备改了同一份文档,该听谁的?
启文的处理方式是:把选择权交给你。
如果两台设备修改了同一份文档的不同段落,同步时自动合并。比如你在台式机上改了"引言",在笔记本上改了"结论",两次修改互不干扰,合并后两份修改都保留。
如果两台设备修改了同一段落,启文不会自动覆盖任何一方的修改。它会在文档中保留两个版本,用醒目的标记标出冲突位置,由你手动选择保留哪个版本(或者手动整合两个版本的优点)。同时,未被选择的版本会保存为"冲突备份",你不会丢失任何文字。
这个设计背后的考虑是:写作中的每一句话都可能是经过反复推敲的。自动合并有可能破坏你的表达意图。我们宁愿多一个手动确认的步骤,也不愿意替你删掉你斟酌过的句子。
离线优先:网络断了,写作不能停
这是启文一贯的设计原则。即使你在完全断网的设备上写作、修改、新增文档,启文会在本地正常保存一切。下次联网时,点击"同步",所有离线期间的变更会自动推送到云端暂存区,同时拉取其他设备的更新。
这意味着你不会因为网络问题而中断写作流程。在飞机上、地下室里、偏远地区的野外考察中——启文不会因为找不到网络就限制你的使用。写作是核心,同步是辅助。 这个优先级从未改变。

03 技术实现:几个关键的工程决策
云同步在技术上有多种现成的方案和开源框架。但我们没有直接套用任何一种,而是从启文的理念出发,做了几个关键的工程决策。
决策一:设备为锚点,而非云端为中心
大多数同步方案采用"中心化架构"——云端服务器是唯一的数据源,所有设备作为客户端从云端读写数据。这种方案的优点是逻辑简单、冲突少,缺点是设备对服务器的依赖性极强。
我们选择了"去中心化架构":每台设备维护一份完整的数据副本,云端只作为加密数据的传输中转站。这意味着:
• 每台设备都能独立工作,不依赖服务器
• 即使服务器完全宕机,你的本地文档丝毫不受影响
• 你可以随时更换设备、添加新设备,只要登录同一账号就能同步
但这带来了更高的工程复杂度。我们需要自己实现:
变更检测:在不依赖服务器时间戳的前提下,判断哪些文件发生了变化
增量同步:只传输变化的部分,减少带宽消耗
冲突检测与合并:在多个本地副本之间比对差异
离线队列:设备离线时暂存变更,联网时按顺序重放
这些组件在中心化架构中都有成熟的云服务支持,但在我们的方案里,都需要从零开始实现。开发周期比预想的长了将近一倍,但结果是值得的。
决策二:端到端加密,密钥不出设备
数据传输过程中的加密是标配,没什么好说的。真正的差异在于:数据在云端暂存时,是加密的还是明文的?
很多同步服务在传输时加密,但数据到达服务器后解密存储。这样做的目的是让服务器能够对数据做一些处理——比如全文索引、AI分析、智能推荐。代价是服务器管理员理论上可以访问你的内容。
我们选择了全程加密:数据在离开设备前加密,在云端暂存期间始终保持加密状态,只有回到你的设备时才解密。加密密钥仅存在于你的本地设备,不传输到服务器。
这带来一个必然的取舍:我们无法在云端对你的文档做任何智能处理。 全文搜索只能在本地完成,AI总结只能逐设备运行,数据分析和推荐完全不可能。但这些功能缺失换来的是:哪怕 BitWool 的服务器被攻破,攻击者也看不到任何用户的文档内容。
我们觉得这个取舍是值得的。
决策三:异步同步,尊重写作的节奏
实时同步(像 Google Docs 那样多人同时编辑一个文档,光标跳动,实时显示他人修改)技术上是可行的。但我们选择了异步同步——点击按钮才同步,不自动推送。
原因不只是工程复杂度。更深层的考虑是:写作需要深度专注。
当你正在推敲一段论证的逻辑、调整一个段落的节奏、寻找一个精准的词汇——这时候屏幕上突然弹出"张三修改了第3段",你的注意力就被打断了。实时同步适合协作办公场景,但启文的用户更多是独立创作者:写论文的博士生、准备教案的教师、起草法律文书的律师。他们需要的是在自己的节奏里完成思考,然后在合适的时间选择分享。
异步同步尊重了这个节奏。你写完了、改完了、确认了,点击同步——你的成果被安全地传递到其他设备。不必担心写作过程中被人打断,也不必担心半成品被误传。

04 云同步怎么用?
使用路径:
1. 更新启文到 v1.2 及以上版本。
2. 在「设置 → 账户」中注册 BitWool 账号(仅需邮箱,用于设备关联)。
3. 在需要同步的其他设备上登录同一账号。
4. 在任意设备上打开启文,点击工具栏右侧的"云同步"按钮(云朵图标)。
5. 系统会自动比对云端暂存区与本地的差异:拉取新文档、推送本地修改。
6. 同步完成后,状态栏图标变为绿色对勾,表示所有设备数据一致。
安全与隐私:
• 所有文档在离开设备前使用 AES-256 加密,密钥仅存储在本地设备。
• 云端暂存区不存储任何明文数据。即使服务器被物理入侵,也无法读取用户文档。
• 你可以在设置中随时查看同步日志、暂停同步、清空云端暂存区。
• 如果你选择不再使用云同步,所有文档依然完整保留在本地。云同步的停止不会导致数据丢失。

05 启文的完整图景
做完云同步之后,启文的完整定位终于清晰了。
它不是"本地软件",也不是"云端软件"。它是以本地为锚点的分布式文档系统。
什么叫"以本地为锚点"?就是说:
每一台设备都是数据的完整拥有者。你的台式机、笔记本、平板,各自拥有一份完整的本地文档库。换掉任何一台设备,不影响其余的数据。
云端只是传输管道。它不存储明文、不做分析、不掌握你的内容。它存在的唯一意义,就是在你的设备之间安全地搬运加密数据。
你可以随时离开。停止使用云同步,数据不会消失。停止使用启文,所有文档以标准格式留在你的设备上。甚至 BitWool 公司不再运营,你的数据依然是你的。
这引出了一个更大的问题:在数字时代,什么叫"拥有"数据?
表面上看,你用任何软件创建的文档都在你的电脑上,你当然拥有它。但实际上,如果文档的格式是私有闭源的,只有特定软件能打开;如果文档的"正本"在云端,本地只是缓存;如果软件停止服务后文档变得无法访问——你拥有的,其实只是一个"访问权限"。
启文做的,是把这个"访问权限"变成真正的所有权。每一份文档都有独立的文件路径,可以用任何文本编辑器打开。每一次同步都会在本地生成完整副本,不依赖云端。每一个功能都尊重一个底线:用户随时可以离开,带着所有数据,不受任何损失。
这不是技术问题,是价值观问题。
06 接下来
云同步只是开始。基于这个基础设施,下面几个方向已经在规划中:
团队协作空间
允许多个 BitWool 账号共享一个加密文档库。每个成员用自己的私钥访问,云端仍然看不到明文。适合课题组共同撰写论文、实验室分享实验记录、小团队协作文档。
版本历史
每次同步生成一个带时间戳的版本快照。你可以回溯到任意历史版本,查看当时的完整文档状态,对比不同版本之间的差异,或者恢复某个旧版本。这对论文写作尤其有用——你经常需要回顾几周前的某个表述,或者恢复被误删的段落。
选择性同步
你可以为不同的文件夹设置不同的同步策略。比如"论文"文件夹同步所有设备,"日记"文件夹只保留在笔记本上,"课程资料"文件夹只在办公室电脑和笔记本之间同步。不是所有文档都需要出现在所有设备上。
Web 端只读查看
一个轻量级的 Web 入口,让你在没有安装启文的设备上也能临时查看文档。比如在图书馆的公用电脑上、在朋友的设备上,打开浏览器就能看。只读模式不会暴露加密密钥,不会留下本地缓存。
写在最后
很早以前,Tim Berners-Lee 说过一句话,大意是:"我发明了 Web,但我不希望有人拥有它。"
二十多年过去了,互联网的发展走向相反的方向。数据越来越集中到少数几个平台手里,你的文档、笔记、论文草稿、实验记录——存在某个公司的服务器上,你拥有的只是一个"访问权限"。
启文想做的,是让这件事回到正轨上来。
你可以在多台设备上无缝写作,但每一份文件都以你自己的设备为家。你可以用云同步,但云看不到你的内容。你可以随时离开,带着所有的数据,没有任何损失。
这不是一个功能,这是我们的底线。
联系邮箱:bitwool@163.com
BitWool 数字毛织| bitwool.cn
启文|启于思,行于文
免费 · 本地优先 · 可离线的写作伙伴
夜雨聆风