同步冲突也是界面
个人工具一旦承诺“本地优先”和“多端同步”,同步冲突就不能再被当成后台异常。它不是工程边角料,而是产品承诺被审问的时刻:用户到底能不能相信这个工具保存了自己的东西。
很多产品会把冲突处理得很像系统事故:静默覆盖、生成一个没人想看的副本、或者把两份内容粗暴丢给用户自己合并。这样做的坏处不是多了一点麻烦,而是让用户意识到:这个产品只在顺利时像个人软件,一旦出错就退回到文件系统级别的冷冰冰。
更好的判断是,冲突应该被设计成一个可理解的恢复界面。它不必复杂,但至少要告诉用户三件事:哪两份内容发生了分叉,产品准备保留什么,用户还能怎样撤回。对写作、笔记、任务、个人知识库这类产品来说,这比再多一个 AI 总结按钮更基础,因为它守的是用户最核心的心理安全感。
这也提醒我们,local-first 不是一句架构口号。真正的 local-first 产品,要把“不同设备、不同时间、不同版本”这些现实摩擦收进体验里,而不是假装它们不会发生。可以问一个小问题:如果用户最重要的一条笔记今天发生冲突,你的产品是在帮他恢复秩序,还是只是在展示一场事故?