Loading...
正在加载...
请稍候

当一家公司决定把所有工具焊在一起:Macro 的统一工作区实验

✨步子哥 (steper) • 2026年10月28日 21:52

当一家公司决定把所有工具焊在一起:Macro 的「操作系统」实验

来源: macro-inc/macro — https://github.com/macro-inc/macro
语言: Rust + SolidJS | 今日 Stars: 106 | 协议: 待确认
一句话: 邮件、聊天、文档、任务、Agent、CRM 焊成一个界面,所有东西 @-link 互链——不是集成,是原生一体


一个场景

一家 20 人的创业公司。Slack 聊天,Linear 管任务,Notion 写文档,HubSpot 管 CRM,Superhuman 收邮件。每个工具都很好。但它们不一起工作。

一个客户邮件到了。你在 Slack 里讨论,在 Linear 里建任务,在 Notion 里写方案,在 HubSpot 里更新客户状态。五个工具,五次切换,五份记录。谁在哪个工具里说了什么?没人记得。你用 Zapier 连了一些,用 MCP 连了另一些。公司被胶水粘在一起。

Macro 的创始人描述了这个场景,然后说:「公司不是可计算的。它是混乱的。」

Macro 是他们对这个混乱的回答。

不是集成,是原生一体

市面上已经有无数「统一工作区」产品。Macro 的不同之处在于:它不是把不同工具集成在一起,而是从头设计为一个系统。

集成意味着:A 工具和 B 工具通过 API 互相对话。每个工具有自己的数据模型、自己的 UI、自己的更新周期。集成层(Zapier、MCP)负责翻译。

原生一体意味着:邮件、聊天、文档、任务、CRM 共享同一个后端数据模型。一封邮件和一个任务之间的关系不是通过 API 建立的,是在数据层面存在的。一个文档 @-mention 一个聊天消息,不是跨工具跳转,是原生链接。

Macro 把这种关系叫做 @-link。所有东西都可以 @-link 其他东西:邮件 @-link 任务,任务 @-link 文档,文档 @-link 聊天消息,聊天消息 @-link CRM 记录。这些链接是双向的、原生的、可搜索的。

Block 架构:Lego 式的工作软件

Macro 的功能由「block」组成。每个 block 是一个模块化的、可扩展的单元:

Block 功能 对标产品
Email 多账户统一收件箱、共享收件箱 Gmail / Superhuman
Messages 频道和私信,为技术讨论设计 Slack
Tasks Linear 风格的任务管理 Linear
Docs 实时协作、markdown 原生、CRDT Notion
Canvas 2D 画布 Miro
Agents AI 代理 —
CRM 客户关系管理 HubSpot
Calls 通话 —

每个 block 不是通用原语的组合,而是为特定工作场景定制的。但所有 block 共享同一个后端,跨引用是原生存储的双向图。

这个设计决策的含义是:Macro 不追求每个 block 都比对标产品好。它追求的是 block 之间的连接比任何集成方案都好。

一个任务可以 @-link 一封邮件、一个文档、一个聊天消息、一个 CRM 记录。在 Linear 里,你只能 link 一个 GitHub issue。在 Macro 里,你可以 link 任何东西,因为它们在同一个系统里。

为什么是 Rust + SolidJS

Macro 的技术栈选择透露了它的设计哲学。

Rust 后端:速度和可靠性。一个统一工作区需要处理邮件、聊天、文档、任务等多种数据类型,同时保持实时同步。Rust 的内存安全和零成本抽象让这个系统在高负载下不崩溃。

SolidJS 前端:细粒度响应式。React 的虚拟 DOM 在频繁更新(聊天消息、实时协作、任务状态变化)时会有性能瓶颈。SolidJS 的细粒度响应式只更新真正变化的部分,不需要 diff 整棵树。

这个组合的选择说明 Macro 的团队把性能当作核心特性,不是优化目标。一个统一工作区如果比单独使用 Slack + Linear + Notion 还慢,没人会用它。

共享 AI 记忆

Macro 的 Agent block 有一个独特设计:共享团队级记忆。

这意味着 Agent 不是每个用户私有的助手,而是团队共享的。一个 Agent 帮 A 处理了一封客户邮件,B 在聊天里问起这个客户时,Agent 知道上下文。因为 Agent 的记忆是团队级的,不是个人级的。

这和 OpenBot(每个 Agent 有自己的桌面、自己的浏览器)的思路不同。Macro 的思路是:Agent 是团队的成员,不是个人的工具。

这个设计决策的隐含假设是:在一个统一工作区里,信息应该自由流动,包括 Agent 的记忆。如果 Agent 的记忆是个人私有的,它就变成了另一个信息孤岛——和 Slack 里的机器人没区别。

106 颗星的冷静

说实话,106 颗星在今天这批 trending 里是最低的。但它出现在 trending 上本身就说明了一些东西。

Macro 不是一个新的开源项目——它已经开发了两年,被自己的团队 dogfood 了两年。它出现在 trending 上,可能是因为最近的一次发布或一次社区讨论。

106 颗星对于这个体量的项目来说,意味着它还没有被大规模发现。但它的野心和完成度远超这个数字暗示的水平。

这也可能意味着:市场对「统一工作区」这个品类已经疲劳了。 过去十年,从 Notion 到 Coda 到 ClickUp,无数产品宣称要「统一所有工具」。用户试过了,发现每个统一工作区都有自己不擅长的领域,最终还是回到了专业工具的组合。

Macro 的赌注是:这次不一样,因为原生一体 ≠ 集成。 过去的统一工作区是「一个工具做所有事」,Macro 是「一个系统里有很多工具,但它们原生互链」。

这个赌注能不能赢,取决于 @-link 的体验是否真的好到让人愿意放弃专业工具。106 颗星说明市场还在观望。

一个更深层的问题

Macro 的存在提出了一个关于软件设计的问题:工具应该是专精的,还是统一的?

过去 20 年的答案是「专精」。每个工具做好一件事,通过 API 和集成层连接。这个思路的极限就是今天的 SaaS 地狱:20 人的公司用 50 个工具,每个工具月费 10-50 美元,集成靠 Zapier 月费 100 美元,总成本每月数千美元。

Macro 的答案是「统一」。一个系统,一个后端,一个数据模型,一个订阅。这个思路的极限是:如果 Macro 停止维护,你失去的不是一个工具,是所有工具。

两种思路都有道理。最终答案可能是:小团队用统一,大团队用专精。 因为小团队没有资源管理 50 个工具的集成,大团队需要每个工具都是最好的。

Macro 的目标用户是「小公司或大公司里的小团队」。这个市场足够大,也足够需要这个产品。


GitHub: https://github.com/macro-inc/macro
官网: https://macro.com
文档: https://docs.macro.com

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录