AFFiNE - 开源知识库与协作平台,用于替代Notion和Miro实现一体化工作
你是否也曾面临这样的困境:写作时用Notion,画流程图时切换到Miro,做项目管理时再打开Trello,数据统计又得用Airtable——工具切换本身就成了工作的负担。AFFiNE的出现就是为了打破这种割裂。它是一个开源、隐私优先的一体化工作空间,将文档、白板、表格和演示融为一体,让你可以在一个无限的画布上自由组合文字、图形、数据库和网页,真正实现“写作、绘图、规划”三位一体。作为Notion和Miro的开源替代品,AFFiNE正在重新定义知识管理的方式。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | AFFiNE |
| GitHub地址 | https://github.com/toeverything/AFFiNE |
| 项目描述 | There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use. |
| 作者 | toeverything |
| 开源协议 | Other |
| Stars | 66662 |
| Forks | 4680 |
| 支持平台 | Windows / macOS / Linux / Web |
| 最后更新 | 2026-03-29 |
一、项目介绍
AFFiNE是一个下一代知识库平台,名字源自“affine”(意为“有密切联系的”),发音为 [ə‘fain]。它的核心理念是打破传统生产力工具的边界,将文档、画板、表格和演示等不同形式的“构建块”融合到一个无边界的画布中。你可以在一个页面里同时撰写富文本、绘制思维导图、嵌入数据库、摆放便签,甚至插入任何网页,所有元素都可以自由移动、缩放和关联。
与传统笔记应用不同,AFFiNE采用了“本地优先”的架构。你的数据默认保存在本地设备上,而不是强制上传到云端。这带来了两个显著优势:一是隐私安全——你完全掌控自己的数据;二是离线可用——没有网络也能正常工作。当然,它也支持实时云同步和多人协作,满足团队使用的需求。
AFFiNE的技术栈非常现代:前端使用React和BlockSuite(自研的协作编辑器框架),后端核心由Rust编写(y-octo和OctoBase),实现高性能的本地存储和实时协作。项目完全开源(社区版采用MIT许可证),你可以自己部署,也可以深度定制,甚至可以基于其底层框架开发自己的应用。
二、核心优势
- 文档与白板的真正融合
这是AFFiNE最突出的特点。在传统工具中,文档(如Notion)和白板(如Miro)是分离的,你需要在不同应用间切换。而AFFiNE允许你在同一个页面上自由混合两种模式——既可以像写文档一样自上而下地组织文字,也可以像在白板上一样随意摆放任何元素。这种“无限画布+文档流”的混合模式,让知识组织和创意表达更加自由。 - 本地优先,数据自己掌控
AFFiNE默认将数据保存在本地设备(支持文件系统存储),你可以随时备份、导出、迁移,无需担心供应商锁定。云同步是可选的,而且使用端到端加密。对于注重数据隐私的个人用户或需要数据合规的企业来说,这是极大的优势。 - 强大的AI能力集成
AFFiNE内置了多模态AI助手,能够帮助完成多种创造性任务:根据大纲生成演示文稿、将文章提炼成思维导图、规划项目任务、甚至直接通过提示词生成简单的应用原型。AI不是独立的功能,而是嵌入到工作流中的协作伙伴。 - 高度可定制与自托管
作为开源项目,AFFiNE允许你完全自主部署。官方提供Docker镜像,一键即可在自己的服务器上运行。同时,项目采用模块化设计,未来将支持插件系统和第三方组件,你可以像改造VSCode一样定制AFFiNE的功能和外观。 - 现代化技术栈与高性能
基于Rust构建的底层数据引擎(OctoBase)和CRDT同步协议(y-octo),保证了即使在处理大型文档和复杂白板时依然流畅。前端使用React和Jotai进行状态管理,响应迅速。整体性能远超同类Electron应用。
三、适用场景
- 个人知识管理与写作
无论是写技术博客、整理读书笔记、构建个人维基,还是记录灵感碎片,AFFiNE都提供了灵活的组织方式。你可以用文档模式进行线性写作,也可以用白板模式进行发散思维,甚至两者结合。 - 团队协作与项目管理
一个项目所需的所有资料——需求文档、原型图、任务看板、会议记录——都可以集中在同一个AFFiNE页面中。团队成员可以在同一个画布上进行实时协作,@提及、评论、版本历史等协作功能一应俱全。 - 教学与演示
教师可以用AFFiNE准备课程大纲、绘制知识图谱、嵌入视频和互动内容。学生可以在同一个空间中完成作业、整理学习笔记。内置的演示模式让你可以将任何页面转化为幻灯片进行展示。 - 产品设计与原型
产品经理可以用AFFiNE收集用户反馈、绘制用户旅程图、制作低保真原型。设计师可以在白板上分享设计稿,收集评审意见。开发人员可以关联技术文档和API说明,形成完整的项目上下文。 - 替代Notion/Miro的工作流迁移
如果你正在使用Notion或Miro,但受限于其封闭性、性能或价格,AFFiNE提供了一个功能对等甚至超越的开源替代方案。它支持导入Markdown和部分Notion导出格式,平滑过渡成为可能。
四、安装教程
AFFiNE提供多种使用和安装方式,你可以根据自己的需求选择。
方式一:直接使用云端版本(最简单)
访问官网 https://app.affine.pro 注册账号即可开始使用,无需任何安装。云端版本包含基础协作功能,适合个人和团队快速体验。
方式二:桌面客户端
AFFiNE提供Windows、macOS和Linux的桌面客户端:
- 访问 Releases页面
- 根据你的操作系统下载对应的安装包(.exe、.dmg或.AppImage)
- 双击安装包,按照提示完成安装
- 启动应用,所有数据默认保存在本地
方式三:使用Docker自托管
如果你希望完全掌控数据和功能,推荐使用Docker自托管:
# 拉取最新的AFFiNE镜像
docker pull toeverything/affine:latest
# 创建数据持久化目录
mkdir -p ~/affine/data
# 运行容器
docker run -d \
--name affine \
-p 3000:3000 \
-v ~/affine/data:/app/data \
-e AFFINE_ENV=production \
toeverything/affine:latest启动后,访问 http://localhost:3000 即可使用。
方式四:从源码构建(适合开发者)
# 克隆仓库
git clone https://github.com/toeverything/AFFiNE.git
cd AFFiNE
# 安装依赖(需要Node.js 18+)
yarn install
# 构建应用
yarn build
# 启动开发服务器
yarn dev构建过程中可能会下载一些原生依赖(如Rust组件),请确保网络畅通。
五、使用示例
示例1:创建第一个融合文档
打开AFFiNE,点击“新建页面”。你会看到一个空白画布,顶部有模式切换按钮。
文档模式:适合线性写作。输入文字,使用 / 命令插入各种块(标题、列表、待办事项、代码块、表格、图片等)。这是Notion用户熟悉的体验。
画布模式:点击右上角切换到画布模式,页面变为无限白板。你可以:
- 双击任意位置创建文字块
- 拖拽侧边栏的“便签”、“形状”、“图片”等元素到画布
- 用连接线关联不同元素
- 自由缩放和移动视图
关键技巧:你可以为同一个页面创建多个视图。比如,先按文档模式写完大纲,再切换到画布模式,将大纲中的每个要点拖拽出来,扩展成思维导图。
示例2:使用AI生成内容
- 在编辑器中选中一段文字,点击出现的AI助手图标
- 选择“总结”、“润色”、“翻译”或“续写”
- 输入你的需求,例如:“将这段话改写成更专业的语气”
- AI会生成结果,你可以选择替换、插入或作为新块保留
演示提示词:
请为我的新项目“AFFiNE教程”生成一份大纲,包括:
- 项目简介
- 核心功能介绍(3-5点)
- 安装步骤
- 常见问题
- 结语示例3:嵌入外部内容
AFFiNE支持嵌入多种外部内容,让页面更加丰富:
# 在文档模式下,粘贴以下链接会自动识别:
- YouTube视频:粘贴视频链接,自动生成播放器
- GitHub仓库:粘贴仓库URL,显示卡片预览
- Figma设计稿:粘贴分享链接,嵌入设计视图
- 地图位置:粘贴Google Maps链接,显示地图你也可以通过 /embed 命令手动选择嵌入类型。
示例4:数据库与表格
AFFiNE支持类似Notion的数据库(表格、看板、日历等视图):
- 输入
/database创建一个新的数据库 - 添加属性列:文本、数字、单选、多选、日期、人员、文件等
- 切换到“看板视图”,按状态或标签分组
- 切换到“日历视图”,按日期展示任务
每个数据库条目本身也可以是一个独立的页面,点击即可展开详细内容。
示例5:本地部署与团队协作
如果你是团队管理员,想要自托管并邀请成员协作:
# 1. 在服务器上运行Docker容器(如方式三所示)
# 2. 配置反向代理(使用Nginx示例)
server {
listen 80;
server_name affine.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
# 3. 配置环境变量(可选)
# 在docker run时添加 -e AFFINE_ADMIN_EMAIL=admin@example.com 设置管理员团队成员访问 https://affine.yourdomain.com 注册账号后,即可开始协作。
六、常见问题
问题:AFFiNE和Notion/Miro的主要区别是什么?
解决方案:- 开源与隐私:AFFiNE代码开源,数据可完全本地化;Notion/Miro是闭源SaaS。
- 融合模式:AFFiNE将文档和白板真正合二为一;Notion侧重文档,Miro侧重白板。
- 自托管:AFFiNE可以部署在自己服务器;Notion/Miro只能使用云端服务。
- 性能:AFFiNE基于Rust构建底层,处理大型内容更流畅。
- 定价:AFFiNE社区版免费,企业版按需付费;Notion/Miro高级功能需订阅。
- 问题:如何保证数据安全?本地存储的文件格式是什么?
解决方案:AFFiNE默认使用SQLite数据库将数据保存在本地(桌面端)或服务器指定目录(自托管)。数据是明文存储,你可以随时备份整个数据目录。云同步时数据会经过端到端加密。未来版本将支持客户端加密,进一步增强隐私保护。 - 问题:AFFiNE支持实时多人协作吗?
解决方案:是的。AFFiNE使用CRDT(无冲突复制数据类型)实现实时协作。多个用户可以同时编辑同一个页面,每个人的操作会实时同步,无冲突合并。协作时可以看到其他用户的光标位置和头像。目前需要通过AFFiNE Cloud服务或自托管部署才能启用协作功能。 - 问题:能否导入现有的Notion或Markdown数据?
解决方案:AFFiNE支持导入Markdown文件(拖拽或通过导入菜单)。对于Notion数据,目前可以通过导出为Markdown/CSV格式后再导入。官方正在开发更完善的Notion迁移工具,预计后续版本会提供一键导入功能。 - 问题:AFFiNE的性能如何?能处理多大体量的内容?
解决方案:得益于Rust和CRDT的底层架构,AFFiNE在性能上优于许多基于Web技术的同类应用。经过测试,单页面可以容纳数万级块,白板可以放置数千个元素,操作依然保持流畅。具体极限取决于设备性能,但足以满足绝大多数个人和团队需求。 问题:如何贡献代码或提交功能请求?
解决方案:AFFiNE是一个活跃的开源项目,欢迎各种形式的贡献。- 提交Bug报告或功能请求:在GitHub仓库的Issues页面,选择对应的模板创建。
- 贡献代码:阅读
docs/CONTRIBUTING.md文件,了解开发环境搭建和代码规范。在提交PR前,需要签署Contributor License Agreement。 - 参与讨论:加入AFFiNE的Discord社区,与开发者和用户交流。
七、总结
AFFiNE不仅是对Notion和Miro的替代,更是一次对生产力工具设计理念的革新。它用“无限画布+融合块”的模式,打破了文档、白板、数据库之间的壁垒,让知识管理和创意表达更加自由流畅。同时,它对开源、隐私、本地优先的坚守,给了用户前所未有的掌控权——你的数据真正属于你自己。
对于个人用户来说,AFFiNE是一个集写作、绘图、规划于一体的强大工具,能够替代多款应用,简化工作流。对于团队来说,它的自托管能力和实时协作功能,提供了企业级的数据安全和控制力。对于开发者来说,它开放的技术栈和活跃的社区,是学习和贡献的绝佳平台。
如果你正在寻找一个真正属于自己的知识管理工具,或者对Notion/Miro的封闭和价格感到不满,不妨试试AFFiNE。它或许不能立即替代你所有的工具,但会为你打开一扇通往更自由工作方式的大门。
I'm curious about the offline capabilities. The article says data is saved locally first, which is great for traveling or unstable internet. Does it sync seamlessly once I'm back online?
之前用Miro画产品原型,用Notion写PRD,现在一个AFFiNE就能搞定。而且还支持嵌入Figma链接,整个工作流都统一了,效率提升明显。
The multi-modal AI assistant sounds impressive. I tried the "summarize" function on a long article, and it captured the key points perfectly. Looking forward to seeing more AI features.
看到这篇文章后立刻去GitHub star了,66k的star果然名不虚传。作为一个开源爱好者,看到这样优秀的国产项目(toeverything团队)走向世界,真的很自豪。
I love the concept of "blocks" that can be anything—text, diagrams, databases. It feels like having LEGO bricks for knowledge management. Very intuitive.
对于注重数据安全的团队来说,能自托管真的是刚需。已经在内网部署了一套,同事们的反馈都很好,协作很流畅。
Is there a way to import my existing Notion workspace? I saw the article mentioned it supports Markdown, but I have years of data in Notion. A proper migration tool would make the switch much easier.
终于有一个工具能把文档和白板真正融合在一起了。以前在Notion写需求,再到Miro画流程图,来回切换的割裂感太难受了。AFFiNE完美解决了这个痛点。
The AI integration seems really useful. I tried generating a presentation outline from my meeting notes, and it did a pretty good job. Saved me at least an hour of work.
看到它基于Rust构建底层就放心了。之前用其他笔记软件,文档稍微大一点就卡顿。AFFiNE的流畅度确实对得起这个技术栈。
I've been using the self-hosted Docker version for a week now. Performance is surprisingly smooth, even with a huge mind map and hundreds of database entries. Way better than the Electron-based apps.