这两年我把市面上能折腾的知识管理工具基本都试了一圈,从 Notion 到 Obsidian,再到各种基于 Markdown 的本地笔记软件,最后反而在一个叫 AFFiNE 的开源项目上停了下来。AFFiNE 给自己的定位是“新一代开源知识生产平台”,这个说法一开始我觉得有点营销味,实际用下来才发现它真不是又一个 Markdown 笔记本,而是试图把文档、白板、数据库这三类工具揉进同一个编辑器里,同时做到本地优先、数据可控、多人协作不留死角。这篇文章不打算堆功能清单,就从我每天实际工作的视角出发,拆一拆这个平台到底解决了什么问题,适合哪些人,有哪些坑需要提前绕开。
先说说我个人的使用背景:平时既要做产品方案,又要写技术笔记,偶尔还要给团队画流程图和架构图。过去的状态是 Notion 里堆文字、Miro 里画白板、飞书文档里做表格,知识分散在三个工具里,拆得稀碎。换到 AFFiNE 之后,最大的感受不是“功能变多了”,而是“逻辑终于顺了”:文档里可以直接铺开一块无限白板,白板上又能嵌入文档块和数据库视图,所有的内容层级都长在同一棵树里。这种统一,才是“知识生产”这四个字真正值钱的地方。
1. 先聊聊这个项目的定位:为什么说它是“知识生产平台”而不是“知识库”
1.1 从 Notion 到 AFFiNE:我为什么换掉了主力知识工具
知识管理工具这个赛道其实已经很拥挤了,Notion、Obsidian、语雀、FlowUs、Logseq,每个都有自己忠实的一批用户。但这类工具大多有一个共同倾向:它们更像“知识收纳箱”,而不是“知识生产车间”。什么意思?你可以在 Notion 里建立一套漂亮的数据库,在 Obsidian 里维护一个庞大的双链网络,但这些动作本质上都是在“记录已经想清楚的事情”。真正的知识生产,是你脑子里的想法还只是一团模糊的轮廓时,需要一边画、一边写、一边调整结构,把混乱逐渐变成清晰——这个过程的工具支持,绝大多数知识软件都做得很差。
AFFiNE 的切入点就在这里。它的核心不是某个单一功能,而是把“文档块”和“白板块”放在同一个编辑器里,让你写作的时候随时可以切到白板去画,画完又可以嵌回文档里继续写。我实际用下来的感受是,它把“写作”和“思考”之间的距离大大缩短了。从最基础的文本行出发,每一段、每一张图、每一块画布都被视为一个可嵌套、可引用、可拖拽的块,块的边界是软的,这意味着你的知识体系不需要一开始就设计好,而是先散开、再聚合,最后长成结构。
1.2 它到底适合谁来用
我不是说 AFFiNE 能替代所有工具,但它的适用人群其实比你想的宽。第一类人是产品经理和设计师,大量的方案评审前需要把用户故事、流程图、原型截图混排在一起讲,这类工作恰好是文档+白板的天然结合场景。第二类人是技术团队里的文档维护者,受够了 wiki 系统的僵硬,希望既能写结构化的 Markdown,又能随手画时序图和架构图,并且不想把数据托管在某个 SaaS 服务上。第三类人更简单,就是那些对数据主权特别敏感的用户,不想自己的笔记内容被某家商业公司拿去训练模型,也不希望哪一天服务关停就永远丢失十年的积累。
如果你本身的工作流已经完全依赖 Notion 的数据库生态,或者你需要的只是一个无限层级的目录树来囤资料,那你可能感受不到它的价值。这也是我在使用过程中反复提醒自己的:AFFiNE 不是要取代你现有的所有工具,它更适合作为“从想法到产出”的核心枢纽,把零散输入变成半成品和成品,再按需导出和分发。
2. 核心机制拆解:文档、白板和数据库是怎么拼成一张网的
2.1 三大基础能力,各自解决什么问题
AFFiNE 的界面和交互并不复杂,表面上看就是一个左侧目录、中间编辑区的双栏布局。但它的关键能力集中在下面三块,这也是我日常使用频率最高的功能组合。
第一块是 Docs 文档模式。它支持块级编辑,回车自动切段落,斜杠呼出功能菜单,Markdown 语法也能直接输入。这个层面跟大多数现代块编辑器没有本质区别,但有个体验是很多编辑器没做好的:文档里任意选中的文字或块,可以一键转换为白板里的卡片,而且转换后文档和白板中的内容是同一份数据,改动一处另一处会立刻同步。这一点对我来说价值很大,过去我在 Notion 里写周报,要把某段内容复制到白板里重新排版,两份内容完全脱离,后续只要改一遍就必须手动维护两处。
第二块是 Edgeless 白板模式,这个名字取得很贴切,打开后就是一张无边无际的画布。你可以在白板上直接画图形、写便签、连线、拖入图片和 PDF,也可以把文档转换成卡片放进去。白板最重要的不是画布大小,而是和白板之间的信息流动。支持把白板里的一块区域框选后,作为一个对象嵌入文档;反过来,文档里的大段文字也能变成一个白板节点,继续在上面做批注。对做技术方案的人来说,这个闭环意味着架构草图和文字说明不再是两套东西,而是一套内容的不同视图。
第三块是数据库能力。AFFiNE 的数据库不是独立的表格应用,而是作为文档内嵌的块存在。你可以像 Notion 数据库那样建立表格、看板、画廊、列表四种视图,给每个条目增加自定义属性。我比较常用的是在项目周报里嵌入一个“任务看板”,把各个模块的状态从待启动、进行中、已完成三个列拖来拖去。这个数据库视图和白板也有联动:数据库的每一条记录都能一键变成白板上的卡片,白板上框选卡片也能批量导入数据库。这种“数据一次录入,多视图呈现”的设计,做产品规划和项目管理时非常顺手。
2.2 底层技术方案与二次开发的可能性
站在一个对技术有那么一点好奇心的用户角度,AFFiNE 的底层选型也值得聊两句。它的编辑器部分不是从零拧出来的轮子,而是构建在 BlockSuite 框架之上,这个框架本身也是开源的,提供了块编辑器、协同编辑、版本管理等一系列能力。简单粗暴地理解,就是用一套统一的“块数据模型”去覆盖文档和白板,让文字、图形、表格、数据库全部成为同一棵数据树上的节点,这样文档白板之间的自由转换才有了根基。
另一个值得关注的设计是“本地优先”。AFFiNE 的所有数据默认先落在本地,再通过你选择的同步方案进行多端分发,而不是像传统 SaaS 产品那样强制把数据上传到服务端。对于喜欢自己掌控数据的人来说,这种方式从根本上规避了“云端服务倒闭导致资料丢失”的风险。也因为数据模型足够标准,官方还提供了从 Notion、Markdown、HTML 等格式的导入器,迁出时也能导出为 Markdown、HTML、PDF 等通用格式。这一点在选型时要特别留意,很多笔记工具进去容易出来难,AFFiNE 至少把出口留得比较宽。
3. 本地优先与私有化部署:把数据稳稳握在自己手里的具体做法
3.1 数据导出与迁移策略
我刚开始用 AFFiNE 时,心里最没底的问题只有一个:我写了这么多东西,万一哪天项目不维护了,数据怎么办?所以第一批实际测试里,我最先做的不是写笔记,而是反复验证导入导出链路。从 Test 结果看,单个文档可以直接导出 Markdown、HTML、PDF,文档内的图片资源会一并打包;整个工作区可以导出为包含全部文档和白板的备份文件。白板部分导出为 PDF 时,如果画布范围比较大,最好先手动调整视图范围再导出,否则分页会把一张大图画得稀碎。
迁移策略上,如果你是从 Notion 迁移过来,AFFiNE 支持导入 Notion 导出的 zip 文件,页面层级和大部分正文内容能保留,但 Notion 里复杂的数据库关联和自定义视图基本不会完全复刻。我个人的建议是:不要把迁移当成一键搬家,而是当成一次知识梳理的机会,把精华内容带过来,顺带清掉那些存了再也没看过的收藏夹残骸。另外,无论你用哪个版本,都建议定期把工作区整体导出一次备份到本地磁盘,这比任何自动同步机制都更让人安心。
3.2 自托管部署:不依赖任何官方服务的搭建方式
AFFiNE 依然是开源软件,这意味着除了使用官方提供的云服务或桌面客户端,你完全可以在自己的服务器上搭建一套私有化服务。对技术团队来说,这个选项很有吸引力:数据不出内网、权限自己控制、和内部认证系统对接也方便。
如果你有一台基础配置的云服务器,自托管的主要步骤大致是这样的:先装好 Docker 和 Docker Compose,然后拉取 AFFiNE 的官方镜像,配置好环境变量和数据卷,再启动容器组。从实际测试看,服务器配置建议至少 2 核 4G,否则多人同时编辑白板时会有明显的卡顿感。启动之后,默认通过 3010 端口访问,需要 HTTPS 的话自己加一层反向代理即可。整个部署过程没什么黑魔法,但对没有容器基础的朋友来说,还是建议先在本地虚拟机里走通一遍再上服务器。
注意:自托管版本的功能迭代速度和官方云服务并不是完全一致的,某些较新的 AI 能力或在线协作功能可能需要更高版本的服务端支持。如果你对版本一致性有强迫症,建议升级前先看一眼官方发布日志。
数据库存储方面,自托管默认使用内置的数据库组件,大量的文档数据会直接存在数据卷里,所以不要把数据卷随便绑定到本地临时目录,否则容器重建后数据就没了。我踩过的坑之一就是第一次部署时图省事,把数据目录放在了 /root/tmp 下面,后来清磁盘时误删了,整个工作区直接回到空白状态。虽然体验了一把“意外重置”的心痛,但也让我养成了更严格的备份习惯。
4. 从个人知识库到团队协同:几种我验证过的实战用法
4.1 一个完整的“知识生产”流程示例
与其空谈功能,不如展示一套我个人实际跑通的流程,也是我认为最能发挥 AFFiNE 价值的使用姿势。假设你是一个初创新业务的负责人,需要从零产出一份可执行的运营方案。
第一步,先在白板模式里做脑暴。把所有能想到的关键词、用户痛点、竞品名字、资源限制全部写成便签卡片扔到画布上,不需要考虑逻辑,先让信息浮现。第二步,对这些卡片做分组和连线,把有因果关系的节点连接起来,这一步会自然形成业务链路图。第三步,切换到文档模式,以“目标-现状-路径-资源需求”为骨架开始写正式方案,写到需要引用业务链路的地方,直接把白板里那个画好的区域作为嵌入对象插进来,不用截图、不用重画。
第四步,把任务拆解成数据库表格,配上负责人、截止日期、优先级三个属性,并切换成看板视图放到方案末尾,方便团队直接认领任务。第五步,方案定稿后,把整篇文档和 白板导出为 PDF 发给协作方,同时把数据结构按原格式备份一份到本地。这套流程过去需要 Notion + Miro + Excel 协作完成,现在我只在 AFFiNE 里操作,中间不跨工具,也就不会再出现“需求文档里写了一个版本,白板画的是另一个版本”的尴尬。
4.2 团队协同中的现实取舍
AFFiNE 在多人实时协同时的表现,整体来说超过了我的逾期。多个人同时编辑同一个文档,光标和选区是实时同步的,白板里两个人同时移动卡片也不会出现拉锯现象。这背后是 CRDT 一类算法的功劳,避免了一般的锁机制可能带来的冲突等待。不过,我也要诚实地说,它在协同权限上的颗粒度相对有限,目前更偏向“工作区级别的权限控制”,还没细到能按页面设置某个人只读、某个人可评论这种级别。
如果你的团队有强烈的权限分层需求,可能需要再等版本迭代,或者用自托管版本自己做一层网关控制。另外一个现实问题是移动端 App 的完成度,目前 iOS 和 Android 客户端可以应对日常查阅和简单笔记,但要在手机上精修白板排版、拖拽数据库卡片,体验还是比不上网页端。我的经验是:移动端定位为“只读和快速捕捉”,真正的深度编辑回到桌面端完成。这个分工清楚之后,使用体验就会顺畅很多。
5. 开源生态与扩展方向:AFFiNE 能长成什么样子
5.1 开源协议和社区贡献的定位
AFFiNE 选择了比较宽松的开源协议,这一点在开源知识管理工具里其实相当难得。宽松协议意味着你可以近距离研究源码、部署私有服务,不用担心后续使用上的授权问题,也更适合企业内网环境下的定制改造。项目本身在 GitHub 上非常活跃,社区提交 issue 的效率也很高,你反馈一个 bug 后,往往几天内就能看到新版本里的修复记录。
对想参与开源贡献的人来说,AFFiNE 的门槛其实不算特别低。它的前端涉及复杂的块编辑器和协同逻辑,后端也有不少数据存储和同步的细节,新手第一眼看代码会觉得内容量很大。不过好在其模块划分清晰,BlockSuite 框架层和应用层是分开的,如果你只是想修一个小交互 bug,先从 UI 组件入手会比直接碰协同逻辑轻松很多。社区里的文档沉淀也算齐全,有专门的贡献者指南和开发环境搭建说明,跟着文档把客户端跑起来,第一个 PR 并不难。
5.2 常见问题与避坑清单
用 AFFiNE 大半年,我整理了一份自己遇到过的典型问题和排查思路,给刚上手的读者做个参考。
| 问题现象 | 可能原因 | 处理建议 |
|---|---|---|
| 自托管服务启动后访问不了页面 | 端口未放行或反向代理配置错误 | 检查防火墙和云服务器安全组,确认 3010 端口可访问 |
| 白板中插入的图片显示模糊 | 原图分辨率较低,或视图放大后自动压缩 | 尽量使用高清原图,导出 PDF 时选择适配内容尺寸 |
| 文档与白板内容同步延迟 | 网络环境不佳或本地数据库锁冲突 | 检查同步状态,刷新页面,本地优先场景下无需过度担心 |
| 从 Notion 导入后层级乱 | Notion 的父子页面结构映射不完全 | 导入后手动整理目录树,把复杂数据库拆成多个文档 |
| 数据卷误删导致工作区空白 | 容器数据卷绑定位置设置不当 | 部署前规划好数据卷目录,设置定时备份脚本 |
| 多人同时编辑白板有卡顿 | 服务器配置不足或浏览器内存占用过高 | 至少 2 核4G起步,多人会议场景建议关闭不必要的浏览器标签 |
还有一个容易被忽略的点:AFFiNE 的块编辑越灵活,越容易因为强行追求排版美观而浪费大量时间。我见过很多新手上来就研究各种卡片颜色、边框样式、字体搭配,折腾一晚上,内容产出几乎是零。我的建议是,前两周不要碰主题定制,先把文档-白板-数据库这条主链路跑顺,等真正依赖它工作了,再慢慢调属于自己的视觉风格。
5.3 这个项目的扩展想象力
作为一个开源项目,AFFiNE 的未来走向其实嵌套在整个开源知识库的演化浪潮里。现在大家都在谈本地优先、数据可控、AI 辅助,AFFiNE 的底座已经把这些前置条件占齐了。它不像某些闭源笔记软件那样需要担心有一天强制下架或者更改免费额度,因为整个代码都摊开在你面前,你随时可以 fork 一份,按自己的需求继续维护。对我个人而言,这种“随时能跑路”的确定性,反而比任何花哨功能都让人安心。
如果说还有什么可以做得更好的地方,我期待的方向是:离线状态的协同逻辑还能再顺畅一些,比如离线时编辑的部分改动,重新联网后能更细粒度地合并;另外,原生移动端白板的流畅度也有不少优化空间。但这些都属于“更好的路上”的问题,不影响它现在就能作为一款称手的知识生产工具投入使用。
说实话,市面上并不缺新笔记软件,缺的是能把思考过程和生产流程真正统一起来的工具。AFFiNE 让我留下并且持续使用的原因,不是它每一个功能都碾压对手,而是它几个关键场景的组合拳正好命中了我真实的工作方式。如果你也厌倦了在四五个工具之间来回切换,又格外在意长期数据的安全性,可以找一天安静的时候,把 AFFiNE 下载下来,用一次真实的方案流程跑一遍,看看那种“不用再搬运内容”的感觉,是不是你想要的。
最后分享一个我个人的习惯:每周五下班前,我会把本周新建的文档和白板统一导出一次备份,文件名带上日期扔进网盘。这个习惯在两年前导出 Obsidian 时就有,现在在 AFFiNE 里做起来成本更低,因为整个工作区一次就能打包。数据安全这事,工具能帮你省心,但最后的底线永远要自己守。