如果你是 Notion 的重度用户,又被 Miro 的白板吸引,还想把 AI 助手嵌进日常写作——通常你得开三个标签页、在三个 SaaS 之间来回切。但 AFFiNE 试图把这件事压成「一个 App」。更关键的是:它完全开源、本地优先、CRDT 协同,而且真的把 AI 嵌进了 Block 层面,而不是简单的 API 包装。

这篇文章会围绕三个问题展开:
- AFFiNE 解决了什么?
- 它的技术架构为什么值得关注?Blocksuite CRDT 库有什么用?
- 作为开发者/团队负责人,你怎么用它,又能从它身上借鉴什么?
我们会顺便聊一下:如果把它接到 OpenClaw 这类多 Agent 工作台,会发生什么。
一、为什么是 AFFiNE:知识管理的「All-in-One」叙事
先看一张数据对比表,把「我们今天到底被哪些工具组合困扰」摆出来:
| 你想做的事 | 通常的方案 | 痛点 |
|---|---|---|
| 写文档/做笔记 | Notion / 飞书文档 / Obsidian | 缺乏白板扩展 |
| 画流程图 / 头脑风暴 | Miro / FigJam / Whimsical | 文档里嵌不进白板 |
| 让 AI 帮我写、改、扩 | ChatGPT + 复制粘贴 | AI 与文档割裂 |
| 多端实时协作 | SaaS + 云同步 | 数据上云,权限不可控 |
| 自托管 / 数据自主 | AppFlowy / Outline | 多数不支持白板,或没有 AI |
AFFiNE 一次把这五件事合并了。它的官方定位不是「又一个笔记工具」,而是 「operating system for knowledge building blocks」——把知识管理的所有原子单元(文档、白板、数据库、演示文稿)融合为一个超融合平台。
更值得注意的是它的产品哲学。打开它的 README,第一句话是:
We shape our tools and thereafter our tools shape us.
这是麦克卢汉。它想表达的是:工具的形态决定了我们的工作方式,而不是反过来。换句话说,AFFiNE 想把「写作—思考—协作—AI」四件事重新焊在一起,而不是让你在不同工具间来回切换。
这就是 7 万颗星的真实驱动力——不是某个独立功能多强,而是「用一个 App 替代你日常 4-5 个 SaaS」这件事本身。
二、三层能力拆解:AFFiNE 究竟"装了什么"
AFFiNE 的能力结构可以拆成三个相互嵌套的层:
2.1 文档层(Docs):Block-based,但不是 Markdown-only
AFFiNE 的文档底层是 Block(块),但和 Notion 早期「Everything is a block」类似又略有不同:
- Markdown-friendly:支持原生 Markdown 语法,也可以用
/命令插入块; - 多视图数据库:表格、看板、列表三种视图切换(虽然还没有 Notion 那么复杂);
- 可嵌入网页:直接
https://...粘贴进文档,会渲染成预览卡片; - 导出友好:支持 Markdown、HTML、PDF 三种导出格式。
但更重要的是——文档里的 Block 可以在 Canvas(白板) 上自由拖拽和组合,这是它和 Notion 最大区别。
2.2 白板层(Canvas):无边界 + 多 Block 混排
打开一个 AFFiNE 白板,你会看到一个无边界的画布:
- 文档 Block 可以作为「卡片」拖到白板上
- 可以画连接线、流程图、思维导图
- 支持多人光标实时协作(基于 CRDT)
- 白板里的内容直接双向同步回文档
对比下 Miro:AFFiNE 的白板不是独立的 App,它就是你文档的一部分。你可以在白板边缘拖一个文档 Block,左边是思维导图、右边是 Notion-like 的长文档。它们共享同一份数据、同一个 AI、同一个权限模型。
2.3 AI 层:嵌入 Block 的"AI 伙伴"
这是 AFFiNE 最激进的地方。它的 AI 助手不是一个浮窗,而是一个直接编辑 Block 内容的对象:
- 在文档里输入
/AI,可以让 AI 继续写、总结、扩写、改语气; - 在白板上选中一组 Block,可以让 AI 重新组织、做规划、生成图示;
- 支持自托管时接入本地大模型(Ollama、LM Studio 等);
- Slogan 是 "Write / Draw / Plan All at Once"——AI 不是外挂,是工作流的内置节点。
这一层和 ChatGPT 的差距在于:AI 直接对你的 Block 数据有结构化感知,它知道"这一段是标题"、 "这一组是卡片",而不是把整篇文档当 token 灌给模型。
三、技术亮点:Blocksuite CRDT 到底是什么
如果说"三层融合"是产品故事,那 Blocksuite CRDT 才是 AFFiNE 真正的硬核资产。
3.1 CRDT 解决了什么问题
CRDT 全称是 Conflict-free Replicated Data Type,中文叫"冲突自由可复制数据类型"。它的核心价值是:
没有中心服务器,多端也能协作;冲突自动收敛,无需锁。
传统的协同文档(比如早期的 Google Docs)依赖一个中心协调服务器,每次操作要发到服务器排序。这种方式有两个问题:
- 离线就瘫痪:断网后无法编辑;
- 中心化依赖:服务器宕机全盘瘫痪。
CRDT 用数学保证了:每个客户端可以独立修改数据,再把操作发到其他端,最终所有人的数据会一致——不需要服务器仲裁、不需要冲突解决流程。
3.2 AFFiNE 自研 Blocksuite 的特殊之处
AFFiNE 没有用开源的 CRDT 库(如 Yjs、Automerge),而是自己写了一个叫 Blocksuite 的库。这有几个深意:
- Block-aware CRDT:传统 CRDT 是字符级别的(Yjs 处理 JSON 树),Blocksuite 把 CRDT 粒度直接做到 Block 级别。代价是实现复杂度高,收益是协作粒度更粗、性能更好——一个 100 个 Block 的文档,不是 1000 个字符的合并。
- 可视化编辑器架构:Blocksuite 不是单纯的 CRDT 库,它还包含了编辑器 UI 框架。这意味着任何产品可以基于 Blocksuite 直接做出一个 Notion-like 的协同编辑器,而不用从头实现。
- 多端架构统一:Web、Desktop(Electron)、Mobile 共用同一套 CRDT 代码。这对开源社区的意义是巨大的——以后想做一个"我的私有飞书文档",可以直接 fork Blocksuite。
3.3 这对开发者的实际价值
如果你是前端工程师,看 AFFiNE 的代码会学到三件事:
- 怎么把 CRDT 嵌入富文本编辑器——这是 Notion、飞书文档多年积累的工程难点;
- 怎么用 TypeScript 写一个可视化编辑框架——Blocksuite 的代码质量很高,可以作为大型 TS 项目的参考;
- 怎么设计一个「数据—视图—协同」三层分离的架构——这是任何在线文档产品的通用模式。
如果你是产品经理/团队负责人,Blocksuite 的存在意味着:未来会有更多 Notion-like 产品基于它诞生——这是生态层面的布局,不是单纯的笔记工具。
四、竞品对比:和 Notion、Miro、AppFlowy 比起来如何
光说"融合"还不够,得看实际差距:
| 维度 | AFFiNE | Notion | Miro | AppFlowy |
|---|---|---|---|---|
| 文档 + 白板融合 | ✅ | ❌ | ❌ | ❌ |
| 本地优先 / 自托管 | ✅ | ❌ | ❌ | ✅ |
| 内置 AI | ✅ | ❌ | ❌ | ❌ |
| 开源 | ✅ | ❌ | ❌ | ✅ |
| CRDT 协同 | ✅ | ❌ | ✅ | ✅ |
| 定价 | 免费(自托管) | 付费 SaaS | 付费 SaaS | 免费(自托管) |
几个观察点:
- AFFiNE 的真实对手不是 Notion,是 Notion + Miro + ChatGPT 这套组合拳。它的优势是"一个客户端、一次登录、一套权限",劣势是单一产品的深度还比不上这三位前辈。
- AppFlowy 是直接竞品,都是本地优先 + 自托管。但 AppFlowy 没有原生白板、AI 还在 Beta、CRDT 是基于 Yjs 而非自研。
- Notion AI 推出后,付费墙越来越高。AFFiNE 的"开源 + AI 内置"对中小团队有天然吸引力——你不用每个月付 $20/人,又能保留 AI 能力。
- 如果你已经在用 Notion,迁移成本是必须考虑的。AFFiNE 支持 Markdown 双向导入,但 Notion 里的数据库视图、复杂关联目前迁移不完整。这是一个务实的取舍。
五、实践指南:怎么用 AFFiNE 解决真实问题
光看产品不够,我们聊点落地。
5.1 三类典型场景
| 场景 | AFFiNE 怎么用 | 替代的工具组合 |
|---|---|---|
| 创业团队内部 wiki | 文档 + 数据库视图 | Notion / 飞书 |
| 产品经理需求梳理 | 文档 + 白板 + AI 扩写 | Notion + Miro + ChatGPT |
| 研发团队技术方案 | 文档 + Block 嵌入代码 + 多人协作 | Confluence + draw.io |
| 自由职业者知识库 | 自托管 + 本地大模型 | Obsidian + Ollama |
5.2 自托管部署(5 分钟上手)
AFFiNE 提供官方 Docker 镜像,自托管是 5 分钟的事:
# 拉取镜像
docker pull ghcr.io/toeverything/affine-graphql:stable
# 启动(带持久化卷)
docker run -d \
--name affine \
-p 3000:3000 \
-v affine_data:/data \
ghcr.io/toeverything/affine-graphql:stable
启动后访问 http://localhost:3000,第一次会让你设置管理员账号。所有数据都保存在本地 affine_data 卷里,包括 AI 调用的上下文——这是 Notion 永远做不到的隐私级别。
5.3 接本地大模型
AFFiNE 的 AI 助手支持接入 OpenAI 兼容 API,包括 Ollama、LM Studio、vLLM 等本地推理服务。配置方法:
# 在自托管实例的 .env 里加:
OPENAI_API_KEY=sk-xxx # Ollama 用任意值
OPENAI_BASE_URL=http://host.docker.internal:11434/v1
AFFINE_AI_ENABLED=true
接好之后,AI 推理完全跑在你自己的机器上,文档数据不会出本机网络——这是真正的"AI + 隐私"组合。
5.4 和 OpenClaw 的集成思路
这是我自己的扩展思考:
如果你的团队已经在用 OpenClaw 之类的多 Agent 工作台,AFFiNE 是一个极佳的"知识底座":
- Agent 的持久记忆:把 AFFiNE 作为 Agent 长期记忆的存储后端。Agent 在白板上规划任务、把决策写成文档 Block,下次会话可以直接读回来。
- 多 Agent 协作画布:让多个 Agent 在同一个白板上分工画图、写文档、做对比。
- CRDT 解决 Agent 冲突:多个 Agent 同时编辑一个文档时,CRDT 保证数据不冲突。这比给每个 Agent 单独分配文件的方案优雅得多。
具体实现路径有两种:
- API 集成:AFFiNE 提供 GraphQL API,Agent 可以通过 API 读写 Block;
- MCP 集成:把 AFFiNE 包装成 MCP Server,让任何支持 MCP 的 Agent(Claude Code、Codex 等)直接调用。
后者更优雅——你不需要写胶水代码,Agent 直接"看得见"AFFiNE 的工具集。
六、可以借鉴的地方:不只是工具,更是产品思路
不管你最后用不用 AFFiNE,它的产品思路都值得学:
6.1 产品层:All-in-One 而非点工具
国内 SaaS 市场经常陷入"垂直工具内卷"——做一个更好的笔记、一个更好的白板、一个更好的 AI 助手。但 AFFiNE 的思路是:用户的真实需求是「完成一件事」,而不是「用对工具」。
把"工具→任务"重新映射成"任务→工具集合",才是真正的用户体验升级。
6.2 技术层:CRDT 是协同工具的未来
任何想做协同产品(文档、白板、表格、设计工具)的团队,都应该认真评估 CRDT 架构。它在 2026 年已经成熟到可以工程化的程度,不是研究阶段的东西。
6.3 商业层:核心免费 + 自托管免费,SaaS 增值
AFFiNE 的商业模型值得学习:
- 核心能力(文档、白板、AI、CRDT)全部开源;
- 自托管完全免费,适合个人和小团队;
- 云端托管(Cloud)收费,适合不想运维的企业;
- 企业版支持 SSO、审计、私有部署。
这种「核心免费 + 增值服务」的模式,比硬卖 SaaS 订阅更容易获得早期用户和社区口碑。
6.4 AI 层:把 AI 嵌进数据层,而不是套 API
很多产品接 AI 是「加个 ChatGPT 按钮」,但用户用一两次就腻了。真正的 AI Native 是:AI 知道你正在编辑的 Block 结构、知道上下文、知道你的意图。
AFFiNE 的 /AI 命令、Block 级别的 AI 操作、多视图 AI 总结,都是这个思路的体现。
七、谁应该现在就用 AFFiNE?
7.1 强烈推荐
- ✅ 如果你正在用 Notion + Miro + ChatGPT 的组合——每月 SaaS 账单超过 $30/人——强烈建议试一下 AFFiNE,自托管一周,体验完再决定
- ✅ 如果你做产品/咨询/创意工作——文档和白板联动是刚需,AFFiNE 比单一工具效率高
- ✅ 如果你关心数据隐私——AFFiNE 的本地优先 + 自托管是少数能做到的方案
7.2 谨慎评估
- ⚠️ 如果你的团队已经在 Notion 里建了完整生态——迁移成本需要评估,建议先用「新建工作区」的方式试
- ⚠️ 如果你需要 Notion 那种复杂数据库——AFFiNE 的数据库视图还不够成熟,建议再等半年
- ⚠️ 如果你的团队分散在全球,需要稳定 SaaS SLA——AFFiNE 自托管需要你自己保证高可用
我自己的判断:
- ✅ 如果你正在用 Notion + Miro + ChatGPT 的组合——每月 SaaS 账单超过 $30/人——强烈建议试一下 AFFiNE,自托管一周,体验完再决定;
- ✅ 如果你做产品/咨询/创意工作——文档和白板联动是刚需,AFFiNE 比单一工具效率高;
- ✅ 如果你关心数据隐私——AFFiNE 的本地优先 + 自托管是少数能做到的方案;
- ⚠️ 如果你的团队已经在 Notion 里建了完整生态——迁移成本需要评估,建议先用「新建工作区」的方式试;
- ❌ 如果你需要 Notion 那种复杂数据库——AFFiNE 的数据库视图还不够成熟,建议再等半年。
八、给团队负责人的落地清单
如果你打算在公司/团队内部推 AFFiNE,可以按以下顺序验证:
8.1 第一周:单兵试用
- 选 1-2 个核心文档(产品需求、个人笔记)从 Notion 迁到 AFFiNE
- 试一周,看是否真有"少切一个标签页"的体验提升
- 记录迁移成本(最痛的是 Notion 数据库视图的兼容)
8.2 第二周:本地 AI 接入
- 用 Docker Compose 部署本地 Ollama(qwen2.5:7b 起步)
- 把 AFFiNE 的 AI 接进 Ollama,让所有 AI 调用本地完成
- 测试 Block 级 AI(扩写、改写)效果是否符合预期
8.3 第三周:团队协作验证
- 拉 2-3 个同事一起建一个共享白板
- 测试 CRDT 协同(断网编辑、合并冲突)
- 评估权限模型是否能替代你团队的现有方案
8.4 第四周:是否切换的决策
- 综合成本(运维 + 培训)vs 收益(少订阅 + 数据自主)
- 如果是 5 人以下小团队:直接切换
- 如果是 50 人以上复杂组织:保留 Notion + 增量场景用 AFFiNE
九、写在最后:开源工具的"长期主义"
71,369 颗星不是终点。AFFiNE 还在快速迭代——它的 canary 版本几乎每周都在更新,AI 能力、编辑器稳定性、跨平台客户端都在持续打磨。
这种「持续迭代 + 社区驱动 + 开源透明」的节奏,正是我们这种开发者/团队负责人最希望看到的:不用担心某天 SaaS 厂商突然涨价格、改政策、关停服务。
如果你也对"工具即生活"这件事感兴趣,不妨去看看 AFFiNE 官网 和 GitHub 仓库。说不定,它会成为你下一个工作流的中心节点。