00:00:00想象一下,用一款开源工具就能替代 Notion、Miro 以及你一半的开发工作流。
00:00:05从文档、架构图到任务管理,全部集成在同一个无限画布中。
00:00:10这就是 Affine,一个在 GitHub 上彻底爆火的本地优先工作区。
00:00:15它完全开源、本地优先,并且支持自托管。
00:00:19我会向你展示如何搭建它,以及为什么越来越多的开发者开始青睐它。
00:00:28Affine 本质上是为开发者打造的知识操作系统。
00:00:31大多数工具强迫你把内容分开。
00:00:34写文档用一个工具,画图用另一个,规划任务又得换一个。
00:00:37而 Affine 将它们融合在了一起。
00:00:40在同一个工作区内,我们拥有富文本内容、关系型数据库和无限白板画布。
00:00:44这一切都在同一个界面中。
00:00:46他们把这称为“无界模式”(edgeless mode)。
00:00:48现在重点来了,这是你真正关心的部分。
00:00:51正如我所说,Affine 是本地优先的。
00:00:53它使用由 Y-Octo 驱动的 CRDT 同步技术,以及一个名为 OctoBase 的 Rust 后端。
00:00:59这意味着你可以离线工作,稍后重新上线时,它会自动同步,不会有合并冲突,
00:01:03甚至不会丢失任何工作进度。
00:01:04只需一个简单的 Docker Compose up 命令,你就能启动整个技术栈。
00:01:09另一个有趣的部分是名为 Block Suite 的编辑器框架。
00:01:13它是一个可扩展的块编辑器,开发者可以使用 Web Components
00:01:17来构建自定义区块和插件。
00:01:18如果你想要能够渲染 API 响应、图表或自定义数据视图的区块,
00:01:23你直接在 Affine 中就能构建它们。
00:01:26对于日常开发工作,它也支持 Markdown、代码块,甚至 GitHub 内嵌。
00:01:30我们还可以嵌入 Figma,以及使用这些架构图和便签,它们可以
00:01:35瞬间转换成看板甚至数据库。
00:01:38随着它的爆火,这个项目迭代非常快,
00:01:43刚刚发布了一个新版本。
00:01:44GitHub 上超过 63,000 颗星,这足以说明问题。
00:01:47如果你喜欢这类能加速开发工作流的技巧和工具,请务必关注
00:01:51Better Stack 频道。
00:01:53好了,废话少说。
00:01:54让我向你展示搭建过程有多快,以及如何直接进入工作流。
00:01:58克隆代码仓库后,运行 Docker 命令,启动后我就可以创建一个新工作区。
00:02:04我用 Markdown 区块快速拖入一个 API 规范,然后添加一段代码片段。
00:02:10现在我将页面切换到无界模式,这个文档就变成了
00:02:15无限画布的一部分。
00:02:16在我看来,这已经非常酷了。
00:02:18接下来的部分甚至更有趣。
00:02:21我不需要打开 Miro 或其他白板工具,
00:02:25直接就能在代码旁边开始绘制架构图。
00:02:28比如,我可以在这里放一个 API 网关,在这里放一个认证服务,
00:02:34再在那边放一个数据库。
00:02:35我可以拖动形状,用箭头连接它们,随意移动位置,
00:02:40这基本上和你对任何白板工具的预期流程是一样的。
00:02:42但现在,一切都在一个地方完成。
00:02:43全都在 Affine 里。
00:02:45而且它就紧挨着我们刚才开始编写的实际文档。
00:02:48所以规范和架构图可以保持在一起。
00:02:52好了,再看看这个。
00:02:54我可以丢几个便签当作任务,选中它们,然后把它们转换成数据库。
00:02:59现在它变成了一个看板。
00:03:00就在同一个工作区里,不再需要导出,也不再需要切换应用。
00:03:05接着,我可以直接在页面里嵌入 GitHub Issue,
00:03:11然后在旁边放一个 Figma 设计稿。
00:03:12这样一来,文档、架构图、任务和设计参考
00:03:17全都集中在一个地方。
00:03:19它支持离线工作,如果你愿意,还可以自托管整个系统。
00:03:23那么,与我们常用的其他工具相比,Affine 到底处于什么位置呢?
00:03:26我们先从最出名的那个开始。
00:03:27先说说 Notion 吧。
00:03:29Notion 很精致,这没得说,但它只能在云端运行,画布有限,
00:03:33而且你的数据完全存储在他们的服务器上。
00:03:37接下来是像 Obsidian 这样的工具,它对于本地 Markdown 知识库来说非常棒。
00:03:42但如果你想要图表、数据库或协作功能,你通常得安装一堆
00:03:48第三方插件。
00:03:49而 Affine 已经内置了其中大部分功能。
00:03:53然后当然还有 Miro。
00:03:54Miro 确实是个很酷的工具,对吧?
00:03:56但它是一个偏重视觉体验的优秀白板工具。
00:04:00你很难在里面构建结构化的文档或数据库。
00:04:04还有像 AppFlowy 或 Anytype 这样的工具,它们非常相似,
00:04:09但对于很多开发流程来说,Affine 的画布融合、Block Suite 的可扩展性
00:04:15以及 CRDT 同步技术都要更为领先。
00:04:17这里核心的技术差异在于 Block Suite。
00:04:21它本质上是一个开源的、类似 Notion 风格的编辑器框架。
00:04:25开发者可以 fork 它,并在其基础上构建全新的应用。
00:04:29我们已经开始看到社区中出现了第三方区块和插件,
00:04:33这非常棒。
00:04:34这向我们展示了它的生命力正在蓬勃发展。
00:04:36它正被很多人使用。
00:04:38说到使用,那么到底是谁在用 Affine 呢?
00:04:42它是开发者、架构师和团队的集合,对吧?
00:04:46前端工程师似乎很喜欢它,因为它非常直观,
00:04:50视觉化程度很高。
00:04:51如果你习惯视觉化思考,你会爱上它的。
00:04:52技术架构师和系统架构师也很喜欢它,因为他们可以在同一个页面里
00:04:56既写文档又画架构图。
00:04:59即使是在自托管实例上,实时协作也依然有效。
00:05:03这是一个巨大的加分项。
00:05:04还有几点非常突出,首先是隐私,特别是当你存储
00:05:08专利代码或个人资料时。
00:05:11这就是隐私的重要性。
00:05:12我们希望把个人资料存在自己的服务器上。
00:05:15接下来是部署。
00:05:16它有官方的 Docker Compose 配置。
00:05:18只要启动后端,你就拥有了运行在自己手里的工作区平台。
00:05:21最后是它带给我们的开发速度。
00:05:25新功能迭代非常快。
00:05:26如果你想要什么新东西,你甚至可以贡献代码,
00:05:30在 Block Suite 之上构建你自己的自定义区块。
00:05:33我一直在说它的优点,但任何事物都有两面性,
00:05:37这类大体量的开发工具总会有一些不完美的地方。
00:05:41大型工作区偶尔会出现缓存加载不正确的情况。
00:05:45虽然改进很快,但还没达到像 Figma 那样丝滑。
00:05:48所以性能方面,
00:05:50还不是最顶尖的。
00:05:51它表现不错,
00:05:52但也只是不错。
00:05:53还没到惊艳的程度。
00:05:54其次,数据库系统虽然可靠,但仍在成长中。
00:05:57基础表格和看板用起来很棒,但对于更高级的关联和子任务,
00:06:03目前还没完全到位。
00:06:04据说在下一个版本更新中会推出。
00:06:06然后是移动端支持。
00:06:07目前它可以在平板电脑和 iPad 的浏览器上运行。
00:06:10其实效果还不错,但目前还没有完全原生的移动端 App。
00:06:15最后,自托管可能会遇到一些奇怪的问题。
00:06:17比如图片代理配置或 ARM 架构设置方面的小麻烦,不算大事,但确实存在。
00:06:22好消息是文档写得很好,而且这些问题都在被优先处理。
00:06:26老实说,对于一个拥有超过 63,000 颗星、涵盖如此多功能的项目,
00:06:30它的稳定性已经相当令人印象深刻了。
00:06:32那么,最大的问题是:作为一个开发者,Affine 值得使用吗?
00:06:36对于很多人来说,答案是肯定的。
00:06:39为什么不呢?
00:06:40特别是如果你在意数据所有权,或者更倾向于自托管工具。
00:06:44如果你经常编写架构文档和规范,
00:06:47或者你只是想要一个可以真正扩展、并能构建
00:06:51自定义功能的工作区。
00:06:52单是那个 Block Suite 就让这个项目变得极具吸引力。
00:06:56在需要极致用户体验,或者工作流严重依赖移动设备的情况下,
00:07:01它可能还不完美。
00:07:03你可以权衡一下,看看哪种更适合你,但 Affine 绝对是目前
00:07:08最有趣的生产力工具之一。
00:07:10我猜如果你开始在个人项目中使用它,很有可能
00:07:14最后会连同团队的 Wiki 也一起迁移过去。
00:07:16如果你想尝试 Affine,我已经把所有链接放在了简介里。
00:07:18你可以在线体验,下载桌面客户端,或者直接用 Docker 自托管。
00:07:23都在那儿了。
00:07:24如果你喜欢开源和能加速工作流的 AI 工具,请记得订阅。
00:07:29我们下个视频再见。