Macro 协作 IDE

macro-inc/macro 访问 GitHub ↗
🔤 Rust ★ 3779 ⑂ 0 weekly #7 (+2557) 抓取 2026-08-20

一句话简介

基于 Rust 的开源实时协作开发环境,支持多用户同时编辑与运行代码,提供云端编程与团队协作能力。

标签

  • Rust
  • 协作开发
  • 云端IDE
  • 实时编辑
  • 开源工具

适用应用场景

  • 远程团队实时结对编程
  • 教育培训中的交互式编码课堂
  • 云端原型快速验证与分享
  • 多用户协同代码评审与调试

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 采用键盘优先操作,主要特性包括:

  1. 多账户管理:在统一收件箱中对多个 Google 账号统一或分别处理。
  2. 统一收件箱:邮件、消息、@ 提及、待办任务合并展示,使用 jke 快捷键导航。
  3. 跨邮箱统一搜索工具与 MCP 接口:智能体可直接检索邮件附件 PDF;可在 AI 会话中撰写、编辑并发送邮件。
  4. 内置窗口管理器:支持三栏及以上分屏,便于撰写时对照历史邮件。
  5. 内置 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…