AFFiNE - 开源知识库与协作平台,用于替代Notion和Miro实现一体化工作

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
Stars66662
Forks4680
支持平台Windows / macOS / Linux / Web
最后更新2026-03-29

一、项目介绍

AFFiNE是一个下一代知识库平台,名字源自“affine”(意为“有密切联系的”),发音为 [ə‘fain]。它的核心理念是打破传统生产力工具的边界,将文档、画板、表格和演示等不同形式的“构建块”融合到一个无边界的画布中。你可以在一个页面里同时撰写富文本、绘制思维导图、嵌入数据库、摆放便签,甚至插入任何网页,所有元素都可以自由移动、缩放和关联。

与传统笔记应用不同,AFFiNE采用了“本地优先”的架构。你的数据默认保存在本地设备上,而不是强制上传到云端。这带来了两个显著优势:一是隐私安全——你完全掌控自己的数据;二是离线可用——没有网络也能正常工作。当然,它也支持实时云同步和多人协作,满足团队使用的需求。

AFFiNE的技术栈非常现代:前端使用React和BlockSuite(自研的协作编辑器框架),后端核心由Rust编写(y-octo和OctoBase),实现高性能的本地存储和实时协作。项目完全开源(社区版采用MIT许可证),你可以自己部署,也可以深度定制,甚至可以基于其底层框架开发自己的应用。

二、核心优势

  1. 文档与白板的真正融合
    这是AFFiNE最突出的特点。在传统工具中,文档(如Notion)和白板(如Miro)是分离的,你需要在不同应用间切换。而AFFiNE允许你在同一个页面上自由混合两种模式——既可以像写文档一样自上而下地组织文字,也可以像在白板上一样随意摆放任何元素。这种“无限画布+文档流”的混合模式,让知识组织和创意表达更加自由。
  2. 本地优先,数据自己掌控
    AFFiNE默认将数据保存在本地设备(支持文件系统存储),你可以随时备份、导出、迁移,无需担心供应商锁定。云同步是可选的,而且使用端到端加密。对于注重数据隐私的个人用户或需要数据合规的企业来说,这是极大的优势。
  3. 强大的AI能力集成
    AFFiNE内置了多模态AI助手,能够帮助完成多种创造性任务:根据大纲生成演示文稿、将文章提炼成思维导图、规划项目任务、甚至直接通过提示词生成简单的应用原型。AI不是独立的功能,而是嵌入到工作流中的协作伙伴。
  4. 高度可定制与自托管
    作为开源项目,AFFiNE允许你完全自主部署。官方提供Docker镜像,一键即可在自己的服务器上运行。同时,项目采用模块化设计,未来将支持插件系统和第三方组件,你可以像改造VSCode一样定制AFFiNE的功能和外观。
  5. 现代化技术栈与高性能
    基于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的桌面客户端:

  1. 访问 Releases页面
  2. 根据你的操作系统下载对应的安装包(.exe、.dmg或.AppImage)
  3. 双击安装包,按照提示完成安装
  4. 启动应用,所有数据默认保存在本地

方式三:使用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生成内容

  1. 在编辑器中选中一段文字,点击出现的AI助手图标
  2. 选择“总结”、“润色”、“翻译”或“续写”
  3. 输入你的需求,例如:“将这段话改写成更专业的语气”
  4. AI会生成结果,你可以选择替换、插入或作为新块保留

演示提示词

请为我的新项目“AFFiNE教程”生成一份大纲,包括:
- 项目简介
- 核心功能介绍(3-5点)
- 安装步骤
- 常见问题
- 结语

示例3:嵌入外部内容

AFFiNE支持嵌入多种外部内容,让页面更加丰富:

# 在文档模式下,粘贴以下链接会自动识别:

- YouTube视频:粘贴视频链接,自动生成播放器
- GitHub仓库:粘贴仓库URL,显示卡片预览
- Figma设计稿:粘贴分享链接,嵌入设计视图
- 地图位置:粘贴Google Maps链接,显示地图

你也可以通过 /embed 命令手动选择嵌入类型。

示例4:数据库与表格

AFFiNE支持类似Notion的数据库(表格、看板、日历等视图):

  1. 输入 /database 创建一个新的数据库
  2. 添加属性列:文本、数字、单选、多选、日期、人员、文件等
  3. 切换到“看板视图”,按状态或标签分组
  4. 切换到“日历视图”,按日期展示任务

每个数据库条目本身也可以是一个独立的页面,点击即可展开详细内容。

示例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 注册账号后,即可开始协作。

六、常见问题

  1. 问题:AFFiNE和Notion/Miro的主要区别是什么?
    解决方案

    • 开源与隐私:AFFiNE代码开源,数据可完全本地化;Notion/Miro是闭源SaaS。
    • 融合模式:AFFiNE将文档和白板真正合二为一;Notion侧重文档,Miro侧重白板。
    • 自托管:AFFiNE可以部署在自己服务器;Notion/Miro只能使用云端服务。
    • 性能:AFFiNE基于Rust构建底层,处理大型内容更流畅。
    • 定价:AFFiNE社区版免费,企业版按需付费;Notion/Miro高级功能需订阅。
  2. 问题:如何保证数据安全?本地存储的文件格式是什么?
    解决方案:AFFiNE默认使用SQLite数据库将数据保存在本地(桌面端)或服务器指定目录(自托管)。数据是明文存储,你可以随时备份整个数据目录。云同步时数据会经过端到端加密。未来版本将支持客户端加密,进一步增强隐私保护。
  3. 问题:AFFiNE支持实时多人协作吗?
    解决方案:是的。AFFiNE使用CRDT(无冲突复制数据类型)实现实时协作。多个用户可以同时编辑同一个页面,每个人的操作会实时同步,无冲突合并。协作时可以看到其他用户的光标位置和头像。目前需要通过AFFiNE Cloud服务或自托管部署才能启用协作功能。
  4. 问题:能否导入现有的Notion或Markdown数据?
    解决方案:AFFiNE支持导入Markdown文件(拖拽或通过导入菜单)。对于Notion数据,目前可以通过导出为Markdown/CSV格式后再导入。官方正在开发更完善的Notion迁移工具,预计后续版本会提供一键导入功能。
  5. 问题:AFFiNE的性能如何?能处理多大体量的内容?
    解决方案:得益于Rust和CRDT的底层架构,AFFiNE在性能上优于许多基于Web技术的同类应用。经过测试,单页面可以容纳数万级块,白板可以放置数千个元素,操作依然保持流畅。具体极限取决于设备性能,但足以满足绝大多数个人和团队需求。
  6. 问题:如何贡献代码或提交功能请求?
    解决方案:AFFiNE是一个活跃的开源项目,欢迎各种形式的贡献。

    • 提交Bug报告或功能请求:在GitHub仓库的Issues页面,选择对应的模板创建。
    • 贡献代码:阅读 docs/CONTRIBUTING.md 文件,了解开发环境搭建和代码规范。在提交PR前,需要签署Contributor License Agreement。
    • 参与讨论:加入AFFiNE的Discord社区,与开发者和用户交流。

七、总结

AFFiNE不仅是对Notion和Miro的替代,更是一次对生产力工具设计理念的革新。它用“无限画布+融合块”的模式,打破了文档、白板、数据库之间的壁垒,让知识管理和创意表达更加自由流畅。同时,它对开源、隐私、本地优先的坚守,给了用户前所未有的掌控权——你的数据真正属于你自己。

对于个人用户来说,AFFiNE是一个集写作、绘图、规划于一体的强大工具,能够替代多款应用,简化工作流。对于团队来说,它的自托管能力和实时协作功能,提供了企业级的数据安全和控制力。对于开发者来说,它开放的技术栈和活跃的社区,是学习和贡献的绝佳平台。

如果你正在寻找一个真正属于自己的知识管理工具,或者对Notion/Miro的封闭和价格感到不满,不妨试试AFFiNE。它或许不能立即替代你所有的工具,但会为你打开一扇通往更自由工作方式的大门。

已有 7922 条评论

    1. JakeMiller JakeMiller

      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?

    2. 黄伟强 黄伟强

      之前用Miro画产品原型,用Notion写PRD,现在一个AFFiNE就能搞定。而且还支持嵌入Figma链接,整个工作流都统一了,效率提升明显。

    3. AnnaKim AnnaKim

      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.

    4. ThomasL ThomasL

      看到这篇文章后立刻去GitHub star了,66k的star果然名不虚传。作为一个开源爱好者,看到这样优秀的国产项目(toeverything团队)走向世界,真的很自豪。

    5. NinaPatel NinaPatel

      I love the concept of "blocks" that can be anything—text, diagrams, databases. It feels like having LEGO bricks for knowledge management. Very intuitive.

    6. 陈小星 陈小星

      对于注重数据安全的团队来说,能自托管真的是刚需。已经在内网部署了一套,同事们的反馈都很好,协作很流畅。

    7. KevinZ KevinZ

      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.

    8. ElenaM ElenaM

      终于有一个工具能把文档和白板真正融合在一起了。以前在Notion写需求,再到Miro画流程图,来回切换的割裂感太难受了。AFFiNE完美解决了这个痛点。

    9. DavidWong DavidWong

      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.

    10. LinaZ LinaZ

      看到它基于Rust构建底层就放心了。之前用其他笔记软件,文档稍微大一点就卡顿。AFFiNE的流畅度确实对得起这个技术栈。

    11. MarcusT MarcusT

      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.