macro
Macro is a unified workspace for teams: email, cha
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Macro is a unified workspace for teams: email, cha
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这个场景:一家 15 人的创业公司,用着 Notion 写文档、Slack 聊天、Linear 管任务、HubSpot 做 CRM、Superhuman 处理邮件。每个工具都很优秀,但它们彼此之间是孤岛。产品经理在 Notion 里写完需求,要截图发到 Slack;工程师在 Linear 开完 issue,要复制链接回 Slack;客户邮件进了 Superhuman,和 CRM 里的人名对不上;团队的记忆全靠口口相传,新人入职得花两周才能搞清楚"这个 @macro 机器人是谁"。
这就是 Macro 团队在 2023 年底的处境。他们的上一个创业公司发展到 20 人时,工具碎片化让公司"不可计算"——信息散落在各处,无法形成统一的上下文。CEO Teo 和团队决定:与其继续用 MCP 和 Zapier 把孤岛勉强粘合,不如从零设计一个真正的统一操作系统。
2025 年 11 月,Macro 正式开源,在 GitHub 上迅速积累了 2000+ stars。这不是一个"又一个协作工具",而是对整个 SaaS 生态的一次根本性质疑:为什么团队需要十个应用来完成一天的工作?

Macro 团队的核心洞察是:集成解决不了根本问题。你可以用 Zapier 把 Slack 和 Linear 打通,但这只是把两个孤岛用桥连起来——桥两端的居民仍然各自为政。真正的解决方案是把所有东西放进同一个数据库,让每一条信息天然地"认识"其他信息。
这个理念的技术实现是双向图链接(Bidirectional Graph Linking)。在 Macro 里,你可以 @mention 任何东西——文档、邮件、任务、联系人、公司、通话记录。@mention 不仅仅是引用,而是一条真正的双向边:从邮件可以追溯到创建的任务,从任务可以追溯到相关的 CRM 记录,从 CRM 记录可以追溯到所有相关对话。所有这些链路天然存在于同一个系统里,不需要任何额外的集成工作。
这种设计在 CRM 模块上体现得最为明显。传统 CRM(HubSpot、Salesforce)的核心问题是:真正重要的对话不在 CRM 里,而在 Slack 里。Macro 把 CRM 和团队聊天放在同一个界面,当你 @mention 一家公司时,双方都会记住这段对话。你不再需要"去 CRM 查一下这个客户的最新进展"——上下文就在对话里,CRM 记录自动保持最新。

Macro 最有野心的部分是其 Agent 系统。大多数 SaaS 产品把 AI 当作辅助功能——加个 Copilot 按钮、优化一下搜索。Macro 的做法截然不同:它把 AI 做成了第一等公民(First-Class Citizen)。
每个 Macro 团队都有一个"共享记忆"——由 Agent 每晚自动更新,来源是所有团队对话、邮件、任务、文档、群通话记录。Agent 不是只记住"你问了什么",而是记住"整个团队在做什么"。这比任何个人 AI 助手的记忆都更有价值,因为团队协作的核心障碍从来不是"我不知道我自己在干什么",而是"我不知道团队其他人在干什么"。
这种记忆能力还通过 MCP(Model Context Protocol)开放给外部 AI 代理。Claude Code、OpenAI Codex 或任何 MCP 客户端,都可以连接到 Macro 的工作空间,直接访问团队记忆和工具。这意味着 Coding Agent 不再是"在真空中写代码"——它知道这个 PR 为什么开、这个任务和谁有关、这个客户的最新需求是什么。
Macro 的技术选型体现了明确的性能优先哲学。后端由 167 个 Rust crates 和 42 个微服务组成,覆盖了从邮件处理、文档协作、实时通信、CRM 到 AI Agent Runtime 的完整功能域。前端采用 SolidJS(而非 React),在 GitHub 的 benchmark 中,SolidJS 以更小的包体积实现了比 React 更快的响应速度。
文档协作引擎基于 CRDTs(无冲突复制数据类型),配合 Cloudflare Durable Objects 实现实时协同编辑。Macro 声称编辑延迟"几乎是即时的"(~instantly),而不是 Google Docs 那种"咔哒一下"(ka-chunking)的体验。此外,文档还支持离线编辑和冲突自动合并——这对于分布式团队尤为重要。
整个架构采用六边形架构(Hexagonal Architecture): inbound adapters → domain core with ports → outbound adapters。代码组织清晰,领域逻辑和基础设施完全解耦。167 个 crate 分工明确:crates/agent 处理 AI Agent 逻辑、crates/ai_tools 和 crates/ai_toolset 提供工具层、crates/email 处理邮件同步、crates/channels 管理消息等。

Macro 提供了云端托管版本(macro.com/app),支持 Google Workspace 登录,15 分钟即可上手。对于不想折腾的用户,这是最佳选择——SaaS 版本包含完整的 Email、Chat、Docs、Tasks、CRM、Agents 功能。
如果你想本地运行,门槛就高了不少。官方推荐通过 Nix 进入开发环境(nix develop),然后用 just run_local --no-doppler 启动完整栈。这需要 Docker Compose 环境,运行 Postgres、Redis、LocalStack(AWS 模拟)、OpenSearch、Kafka 和 FusionAuth 等中间件。
好在 Macro 提供了一个"无 Doppler"的本地开发路径——所有配置使用代码中预定义的 stub 值,不需要注册各种第三方服务账号(Google OAuth、Github MCP、Stripe 等)。大部分功能可正常工作,第三方集成流则 Stub 化处理。这是一个务实的工程选择——让外部贡献者不需要两周配置环境,15 分钟内就能本地运行。
从另一个角度看,Macro 的自我定位是"完整的工作站操作系统",而不是"轻量插件"。这意味着它天然需要更多的基础设施来支撑完整功能。对大多数用户,云端版本是更实际的入口,本地运行更适合深度开发者贡献场景。
Macro 采用 AGPL-3.0 许可证,而非更宽松的 MIT/Apache。这是一个明确的选择:团队希望确保任何基于 Macro 构建的修改版本也必须开源。这在开源社区引发了讨论——有人认为 AGPL 过于严格,限制了商业公司的使用意愿;也有人认为这是对"开源精神"的坚守。
从功能角度看,Macro 目前仍在快速迭代中(2025年11月才开源),某些高级功能(如桌面端特定平台依赖)的文档还不够完善。云端版本和本地版本的功能差异也需要用户自行确认。此外,作为一个"大一统"系统,Macro 的学习曲线比单一工具陡峭——用户需要理解双向链接、@mention 语义、权限系统等一系列概念。
Macro 的出现代表了一个重要的行业趋势:从"最佳工具"到"统一系统"的范式转换。过去十年,SaaS 生态鼓励专业化——每个问题用一个最好的工具解决。这带来了工具繁荣,但也带来了碎片化。Linear 的 issues 做得再好,和 Slack 里的对话没有上下文关联;Notion 的文档再强大,和 CRM 里的客户记录隔着一堵墙。
Macro 的赌注是:在 AI 时代,上下文连贯性比功能深度更重要。当 AI Agent 成为团队成员时,"信息孤岛"的问题从"不方便"变成了"致命"——一个不了解全局上下文 Agent 无法有效地辅助决策。Macro 用统一的数据库和双向链接,把团队的所有信息编织成一张可导航的网,AI Agent 和人类用户都能从中受益。
从增长曲线看,Macro 的 2374 stars(截至分析时)集中在开源社区和技术从业者群体中。这不是偶然的——Rust 开发者群体对"性能优先"的架构有天然好感,而技术团队也是最早感受到工具碎片化之痛的人群。如果 Macro 能把这份"技术圈口碑"扩散到更广泛的商业用户群体,它有机会成为 AI 时代的工作站标准。