Macro 协作 IDE
一句话简介
基于 Rust 的开源实时协作开发环境,支持多用户同时编辑与运行代码,提供云端编程与团队协作能力。
标签
适用应用场景
- 远程团队实时结对编程
- 教育培训中的交互式编码课堂
- 云端原型快速验证与分享
- 多用户协同代码评审与调试
README 中文摘要
项目概述
Macro 是面向小团队与公司的一体化工作操作系统,将邮件、消息、文档、任务、智能体(Agent)和客户关系管理(CRM)整合到统一界面中,并共享团队级别的记忆。团队内的所有内容通过 @ 链接互相引用并可全局搜索,使成员与 AI 智能体无需在多个工具间切换。Macro 采用 SolidJS 与 Rust 构建,主打高速与高可靠性。
设计动机
上一家创业团队规模扩展到约 20 人时,多个 SaaS 工具之间互不打通,公司只能靠 MCP 和 Zapier 勉强串联,整体不可计算、混乱不堪。Macro 由此被设计为一套从零开始重塑的工作软件单体系统,由位于纽约与多伦多的团队设计开发,并由约 15 人规模的团队内部试用两年。
核心模块
Macro 由模块化、可扩展、可组合的“积木块”(blocks)构成,每个模块独立打磨,并共享同一后端。文档与任务、消息与邮件之间的交叉引用以双向图形式原生存储。
- 邮件:多账户统一收件箱、键盘快捷键、共享收件箱,支持 Gmail。
- 消息:专注技术讨论的频道与私聊,首条回复内联展示,其余折叠为线程。
- 任务:与频道、邮件、智能体深度耦合的任务管理。
- 文档:基于 CRDT 的实时协作 Markdown 文档,原生支持
@提及。 - 画布(Canvas):二维看板,可嵌入任务、文件、邮件的
@链接。 - 智能体:统一团队记忆,可代表用户执行操作。
- 通话:自动录制、转写并写入团队记忆。
- 文件存储:从邮件与频道自动导入并可全局搜索。
- Pull Request:与任务关联,可嵌入频道,供智能体调用。
- CRM:客户与联系人对象、自定义属性、邮件同步与信息补全。
邮件与 CRM
Macro Mail 采用键盘优先操作,主要特性包括:
- 多账户管理:在统一收件箱中对多个 Google 账号统一或分别处理。
- 统一收件箱:邮件、消息、
@提及、待办任务合并展示,使用j、k、e快捷键导航。 - 跨邮箱统一搜索工具与 MCP 接口:智能体可直接检索邮件附件 PDF;可在 AI 会话中撰写、编辑并发送邮件。
- 内置窗口管理器:支持三栏及以上分屏,便于撰写时对照历史邮件。
- 内置 CRM:通过
cmd+k跳转联系人(如tim@acme.com)或公司(如@acme.com),查看与该对象的所有往来邮件与文件,无需打开传统 CRM。
消息系统
Macro Chat 比 Slack 更聚焦:前若干条回复内联展示,其余折叠进线程,保持频道可读。线程可分别授权,便于跨频道共享链接。所有内容存储于双向图中,因此任务可 @link 到催生它的消息、客户支持邮件可关联到支持频道、CRM 记录可被消息讨论自动更新。
任务管理
任务创建方式包括:从邮件创建、全局快捷键 c t、在 Markdown 文档中输入 /task、选中 - [ ] 列表项转为任务、在频道或私聊中 @Macro 创建、在智能体会话中创建,以及通过外部 MCP、API 或 SDK 创建。任务会尽可能与创建来源(如客户邮件)建立双向链接,使"为什么做这件事 → 任务 → 智能体 → Pull Request"完整链路可审计。
文档
文档基于 CRDT 与 Cloudflare Durable Objects 构建,编辑近乎实时同步,天然支持离线编辑与冲突合并。具备版本历史与分叉浏览、原生 Markdown 兼容与批量导入导出、与工作区内邮件、文档、任务、消息、频道、公司、联系人等对象的 @ 链接。智能体可作为 CRDT 协作系统中的对等节点编辑开放或已关闭的文档。提供 iOS 端应用,Android 端即将发布。
CRM
CRM 与团队聊天、邮件同处一个系统:在消息中 @ 提及公司记录后,团队成员可直接跳转查看最新进展;提及同时创建消息与记录之间的双向链接,便于后续追溯关键对话。每个 Deal 自动拥有一个专属频道作为"备注",可在其中 @mention 并复用频道的全部交互能力。
智能体与团队记忆
Macro 通过定时任务将团队对话、私聊、收发邮件、任务创建与完成等统一合成为团队级记忆,并以纯 Markdown 形式存储,便于导出与手工修正。记忆通过 MCP 暴露给外部智能体,也可在内置模型选择器中对接 OpenAI、Google、Anthropic 等模型。Macro 还提供覆盖几乎全部 UI 操作的工具/MCP 表面,且 MCP 调用不设速率限制。
将 Claude Code、Codex 或任意 MCP 客户端接入工作区:
claude mcp add --transport http macro https://mcp-server.macro.com/mcp
整体协作机制
- 双向
@链接:在工作区形成可双向导航的上下文网络。 - 基于频道的权限:
@提及的对象自动对频道成员开放。 - 统一记忆:智能体记住整个团队跨邮件、消息、任务、文档与通话的进展,每晚刷新。
- 统一收件箱:邮件、消息、任务分配、
@提及、智能体回复均归入一处,按"信号"与"噪音"分流,全程键盘优先。
部署与本地运行
托管版本可直接注册并连接 Gmail 或 Google Workspace 账号,支持任意现代浏览器与 iOS 客户端。本地全栈运行参考 docs/RUNNING_LOCALLY.md。
仓库结构
macro/
├── apps/
│ ├── web/ SolidJS 客户端:浏览器、Tauri 桌面、移动端
│ └── docs/ docs.macro.com 文档站点
├── services/ 42 个可部署服务、Workers 与 Lambda 处理器
├── crates/ 167 个 Rust 库:领域逻辑、模型、数据库客户端
├── packages/ 共享 TypeScript:协作、lexical-core、loro-mirror
├── infra/ Pulumi 基础设施定义
├── docker/ 本地 Compose 栈
├── nix/ 锁定的开发与构建环境
└── tooling/ 仓库脚本与代码生成器
服务采用六边形架构(Hexagonal):入站适配器、领域核心端口、出站适配器。相关规范见 docs/STYLE_GUIDE.md,PR 流程见 CONTRIBUTING.md。
安全与许可
Macro 已通过 SOC 2 Type II 认证,与模型供应商之间零数据保留,不使用客户数据进行训练。Macro 以 GNU Affero General Public License v3.0(AGPLv3)完全开源,而非"开源核心"模式,可在 AGPLv3 条款下自托管。如需其他许可或商业托管安排,可联系 licensing@macro.com 与 self-host@macro.com。
摘要更新于 2026-08-19 00:33:28
· 原文 19889 字符
· md5 35429e7ac4f0…