30分钟跑通AppFlowy:从零搭建AI协作工作空间的实操笔记
【免费下载链接】AppFlowyBring projects, wikis, and teams together with AI. AppFlowy is the AI collaborative workspace where you achieve more without losing control of your data. The leading open source Notion alternative.项目地址: https://gitcode.com/GitHub_Trending/ap/AppFlowy
AppFlowy 是个开源的 AI 协作工作空间,也是直接的 Notion 替代品:文档、数据库、项目看板放在一处,还内置了 AI。如果你想要数据完全留在自己机器上、或者想折腾一个可定制的 AI 工作空间,它就适合你。这次我从源码把它本地跑起来,全程记下来。
AppFlowy 到底强在哪
- 数据主权:本地优先架构,文档存在你自己的磁盘上,支持自托管,不依赖别人的服务器
- 全平台一份代码:Flutter 写 UI、Rust 写核心,桌面(Windows/macOS/Linux)和移动端(iOS/Android)都能跑
- 开源可扩展:AGPL-3.0 协议,仓库有几千个 star 的社区基础,看懂代码就能改
📋 动手前的自检
| 项目 | 要求 | 必选/可选 |
|---|---|---|
| 操作系统 | macOS 11+ / Windows 10+ / Ubuntu 20.04+ | ✅ 必选,macOS 和 Linux 最稳 |
| 内存 | 8GB 起步 | ✅ 必选,Rust 编译吃内存 |
| 磁盘空间 | 至少 10GB 空闲 | ✅ 必选,首次构建下载量大 |
| Git | 任意近期版本 | ✅ 必选 |
| Flutter | 3.27.4 | ✅ 必选,安装脚本会自动切到这个版本 |
| Rust 工具链 | 1.70+ | ✅ 必选,脚本可代装 |
| Linux 系统库 | keybinder-3.0、libnotify、libmpv | 仅 Linux 需要,脚本代装 |
核心部署流程
第一步:克隆仓库
拿到源码,进入项目根目录:
git clone https://gitcode.com/GitHub_Trending/ap/AppFlowy cd AppFlowy看到frontend/、doc/这些目录就说明克隆成功了。
第二步:跑官方安装脚本
官方为每个平台都备了一键脚本,系统依赖不用你手动装,按自己的系统选一个执行:
| 平台 | 执行命令 |
|---|---|
| macOS | ./frontend/scripts/install_dev_env/install_macos.sh |
| Ubuntu / Debian | ./frontend/scripts/install_dev_env/install_linux.sh |
| Windows | ./frontend/scripts/install_dev_env/install_windows.sh(在 bash 终端里跑) |
脚本会问你要不要装 Rust,没有就回y。跑完后 Flutter 会被自动切到项目要求的 3.27.4。结束时没报红色错误、并看到 "Setting up Flutter" 走完,就算通过。
第三步:装依赖
前端依赖单独装一下:
cd frontend/appflowy_flutter flutter pub get再回frontend/目录确认 cargo-make 可用(安装脚本通常已经装好了):
cd ../.. && cargo make --version看到Got dependencies!和版本号输出,就 OK 了。
第四步:编译并启动
最花时间的一步:首次要编译 Rust 的 dart-ffi 动态库,普通机器大概 10~30 分钟。
cd frontend cargo make run-desktop编译走完会直接拉起 AppFlowy 窗口,全程结束。
验证 AppFlowy 跑通了
新开一个终端,验证工具链状态:
flutter doctor rustc --version你应该看到类似这样的输出:
Flutter 3.27.4 • channel stable rustc 1.78.0同时桌面上应该已经多了一个窗口:
在窗口里随便新建一篇文档敲两行字、再切到看板视图试试,都能正常响应就说明完全跑通了。
🔧 用起来了之后的 3 个调优
先看清楚整体架构再动手改,前端和后端模块的对应关系长这样:
- 接自己的云端服务→ 不想走官方云的话,把自托管地址填进
frontend/appflowy_flutter/dev.env里的APPFLOWY_CLOUD_URL(留空就是纯本地模式)→ 数据完全不离开自己的服务器 - 把日志开到最大→ 排查同步、存储问题时信息太少 → 改
frontend/Makefile.toml的[env]块里RUST_LOG = "info"为"debug" - 换 release 模式提速→ dev 模式运行偏慢 → 同一文件里把
CARGO_PROFILE = "dev"改成"release",注意首次编译会更久
💣 踩坑速查
- 症状:flutter 编译报版本不匹配→ 项目锁定 Flutter 3.27.4 → 重跑对应平台的安装脚本,它会自动 checkout 正确版本
- 症状:Linux 下编译失败,提示找不到 keybinder-3.0→ 系统库没装全 → 执行
sudo apt-get install keybinder-3.0-dev libnotify-dev libmpv-dev - 症状:第一次 build 超过半小时不动了→ Rust 在后台编译几十个 crate,属正常现象 → 别打断,放着等
- 症状:手动 cargo build 报链接错误→ cargo make 会按平台自动改写 dart-ffi 的 crate 类型(staticlib/cdylib),手动编译拿不到这一步 → 始终用
cargo make run-desktop,别手动编译 - 症状:Windows 上 CMake 报错→ 缺 C++ 构建工具 → 在 Visual Studio Installer 里装"使用 C++ 的桌面开发"工作负载
你现在应该处于这个状态:工具链就位,应用在本机跑着,所有数据都在自己手里。下一步建议去设置里配一个 AI 服务,找篇长文档让它总结一遍,体验完整的 AI 工作流;遇到卡壳的问题,可以翻翻 doc/CONTRIBUTING.md,或者去官方社区问,响应通常很快。
【免费下载链接】AppFlowyBring projects, wikis, and teams together with AI. AppFlowy is the AI collaborative workspace where you achieve more without losing control of your data. The leading open source Notion alternative.项目地址: https://gitcode.com/GitHub_Trending/ap/AppFlowy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考