GitHub Explorer
📰 公众号已发布 2026-08-14

GitHub推荐:A16Z 押注的 Rust 工作操作系统:9.5 个月 5K commits 的 AI-native 套件

GitHub: https://github.com/macro-inc/macro

一句话总结

Macro 是用 Rust + SolidJS + Loro CRDT + MCP 重新打造的「AI 时代工作操作系统」,把邮件/消息/文档/任务/CRM/通话/Agent 全部统一在一张实体图上,用「单数据图 + 双向链接 + Agent 一等公民」对抗 SaaS 工具拼凑的「公司不可计算」困境。

值得关注的理由

  • AI-native workspace 的工程样板:9.5 个月从 0 到 5024 commits,Claude 已占第 7 大贡献者(457 commits)——这是少数把「AI 既是产品又是工程基础设施」做到位的项目。
  • monorepo 工程纪律的极致:167 crates + 42 services + 30+ CI workflows,自研 workspace-dep-closures.json + cargo-hakari + xtask 子 crate 化做到「改一个 leaf crate 不污染其他 service 的 Nix cache」,这是大厂级 monorepo 性能与运维的可复用样板。
  • MCP-first 的 workspace API:把整个业务能力暴露为 MCP tool(rmcp streamable-http),让 UI 操作、AI 操作、外部编程 agent 共享同一 API 表面——这是 2025 年「AI 时代 SaaS 该长什么样」的范式级答案。

项目展示

README 媒体(按 hero > 架构 > demo > 截图 策展)

  1. Macro 邮件线程视图 - actions、tags、properties 同侧栏 — 类型: hero。核心叙事图:邮件是一等公民 entity,左侧 thread + 右侧 sidebar actions/tags/properties,把邮件直接变成可操作的工作对象。

  2. Messages channel 集成 GitHub check — 类型: 集成演示。把 Slack、GitHub PR review、Linear-style 工作流合并到一个 panel,体现 all-in-one 的真正落地。

  3. 任务交接给 coding agent — 类型: 差异化亮点。最能体现 AI-native 的一张图:人把任务交给 coding agent,agent 关联到一个 GitHub 分支——这是 Macro 区别于「AI 插件型」竞品的杀手锏。

  4. CRM 看板按 pipeline 阶段分组 — 类型: 功能截图。CRM 是 Macro 七大模块之一;这张图证明 CRM 不是占位而是真实可用的 pipeline 视图。

  5. Star history 增长曲线 — 类型: 数据可视化。增长曲线(已渲染到 1,698 stars 时刻),适合放在「社区热度」一节作为可视化证据。

总共发现 10+ 个候选媒体元素,筛选后保留 5 个;排除了 CI 状态图标和无差异化价值的截图。

项目画像

维度数据
GitHubhttps://github.com/macro-inc/macro
Star / Fork2,996 / 303(Fork/Star 比 ≈ 10%,健康)
代码行数1,299,690 行(Rust 42.9% / TypeScript 27.4% / TSX 14.3% / JSON 11.1% / SQL 1.6% / 其他)
项目年龄9.5 个月(2025-11-08 首次提交 → 2026-08-14 最新推送)
开发阶段密集开发
贡献模式职业项目(周末占比 1.8%,深夜占比 1.2%)
热度定位中等热度(9.5 个月冲到近 3k stars,2026-07 单月 787 commits)
质量评级代码优秀 / 文档优秀 / 测试充分
LicenseGNU Affero GPL v3(强 copyleft,商业 fork 须开源)
团队投入41 贡献者;Top1 占比 10.6%(分散);Claude 排第 7(457 commits)

作者视角:为什么存在这个项目

创始人/作者背景

Organization 账号 macro-inc 自 2020-05 注册(6.2 年历史),主仓 macro 2025-11 才创建——明显是「成熟团队的新一轮押注」。公共仓库 25 个,多为上游 fork(tauri、rig=Anthropic Rust agent SDK、pdf.js、libreoffice bindings),策略是「fork 主流生态再改造」。Top 贡献者都是 macro-inc 内部员工(whutchinson98、gbirman、synoet、sedson、evanhutnik 等),第 7 大贡献者是 Claude——团队重度使用 AI 编程 agent。

从 NYC 总部 + dogfooded 两年 + a16z 站台 + 公开披露的 $30M+ 融资推断:这是一支 A16Z 系、有产品野心的初创团队,目标是用 Rust + AI 重做办公套件。

问题判断

创始人在 README 里反复追问一个比表面 UX 更深的问题:为什么所有 issue tracker/CRM 用半年就过期?为什么「在 Slack 里聊的真实工作」永远跑不出 Slack?

这个观察指向「工具分立」的结构性矛盾:如果你把 conversation(Slack)和 record-of-truth(Linear)分成两个系统,那 record-of-truth 一定会过期——因为人不可能每次聊完都回去手动同步。Macro 的回答是「把 conversation 和 record-of-truth 放进同一个数据图」,让同步从「人的责任」变成「系统的副产物」。

创始人前一次创业到 ~20 人时,公司被「MCP 和 Zapier」拼凑起来,是 computable 不了的、混沌的。这个自陈痛点决定了整个工程方向:所有工具必须落到一个共享的数据图上,否则再多 surface 也只是把混乱从 5 个窗口挪到 1 个窗口。

解法哲学

Single Source of Truth + Bidirectional Graph + Agent-first:

  1. 每一个 surface 都 best-in-class,但共享同一份后端——不要做 Slack 风格的轻量级全合一,而是每个 block 各自做到本类目最优,再在共享数据层上做组合。
  2. Bidirectional @linking 是一切 UX 的第一性原理——用户提到的任何 entity 在另一个 entity 里都自动可见,反向链接自动建立。让「issue tracker 不更新」「CRM 过期」「文档无人问」三个经典 SaaS 病在结构层就被切断。
  3. Agent 是 first-class citizen——不是给 AI 加个聊天面板,而是给 AI 完整的 workspace API(近 100% UI 操作的 MCP surface)、完整的权限继承(Agent 用 narrow JWT 而非用户主 token)、完整的记忆(夜间 cron 聚合团队对话+邮件+任务+文档)。

明确选择不做什么:

  • 不做单点最强的工具(Macro 不挑战 Linear 的 issue tracker、Superhuman 的邮件体验)——它赌的是整合后的「跨维度协同密度」溢价。
  • 不做 open-core(100% AGPLv3,自托管友好)——和 Linear/Notion 的「open core 锁企业部署」策略反向,赌的是 agent 时代单点 SaaS 会被组合自托管方案吃掉。

战略意图

  • 商业化路径:freemium 入口(macro.com/app)+ Enterprise 走 Cal.com demo + SOC 2 Type II 合规(已公开)。
  • 开源战略:100% AGPLv3,自托管是战略性产品价值,不是意识形态——和 Cloudflare(DO/wrangler)、Vercel(Next.js)等 AGPL 阵营站在同一边。
  • 赛道押注:当 agent 能大规模执行 workspace 操作时,「工具的数量」就不再是瓶颈,「工具间的对话带宽」才是。Macro 押注的不是 UI(已被 Slack/Linear 摸到顶),而是 agent ↔ data ↔ human 三方协作的统一带宽。

核心价值提炼

创新之处(按新颖度 × 实用性排序)

  1. 统一 EntityType 枚举 + 单张 entity_access 表 — 15 种实体类型(User/Chat/Channel/EmailThread/Document/Project/CRM…)共享一张权限表 (entity_type, entity_id, user_id, access_level)。让「跨实体 @mention / 权限 / 搜索」成为统一原语,整个 UX 都建立在它之上。新颖度 3/5 | 实用性 5/5 | 可迁移性 4/5。

  2. MCP 作为 workspace API 网关 — services/mcp_service/ 用 rmcp streamable-http 暴露 crates/ai_tools 定义的 tool 集(与 UI 操作一对一对应),mcp_auth_proxy 给外部 agent 签发 narrow-scope token。MCP surface 覆盖率 ≈ AI 能做的事的范围,这是 2024-2025 才出现的范式。新颖度 5/5 | 实用性 4/5 | 可迁移性 3/5。

  3. workspace-dep-closures.json + xtask_deps(guppy 生成)自动 monorepo 部署图 — 把每个 workspace member 的 transitive dep closure 算成 JSON,flake.nix 据此生成每个 deploy artifact 的「最小源码树」。改一个 leaf crate 只 hash 该 source tree,其他 41 个 service 的 Nix cache 不动。新颖度 4/5 | 实用性 5/5 | 可迁移性 3/5。

  4. AI projection(夜间团队记忆构建) — ai_projections_refresh_handler 是 Lambda cron,按 cadence(daily/weekly)批量从 MacroDB 拉数据 → 喂给 LLM → 写回结构化 markdown 投影。比实时 RAG 简单一个数量级,用户能像看 git diff 一样审阅/导出自己的记忆。新颖度 3/5 | 实用性 4/5 | 可迁移性 4/5。

  5. Loro CRDT + Lexical 富文本整合 — 在 Lexical 节点树和 Loro Map 之间做双向同步,支持「offline 编辑 + 自动 reconcile + 版本分叉」。Notion/Linear 不支持 offline-edit-then-merge;Macro 支持。新颖度 4/5 | 实用性 4/5 | 可迁移性 2/5。

  6. CLAUDE.md + STYLE_GUIDE.md CS-NN/FE-NN 编号化工程规约 — 把 50 条 Rust 后端规则 + 29 条前端规则编号化,每条带 issue 引用和强制级别(hint/warning/error)。这是 LLM 时代工程师协作规范做到「机器友好+人类可读」程度的范本——Claude 在 Macro 仓库贡献 457 commits 证明这套规范对 AI agent 有效。新颖度 4/5 | 实用性 5/5 | 可迁移性 5/5。

  7. cargo-hakari + xtask 子 crate 化 — 所有第三方依赖集中到 workspace-hack 单 crate;xtask 每个子命令独立 crate,由零依赖 launcher(83 行 main.rs)分发。跑 cargo x cache-wasm 时只编译 anyhow,不拖入 guppy/hakari/aws-sdk/tokio——这是 monorepo 编译时间从小时级降到分钟级的关键。新颖度 3/5 | 实用性 5/5 | 可迁移性 4/5。

可复用的模式与技巧

  1. 统一权限表模式 — 任何需要在多实体类型上做权限/计费/搜索的系统都可用。前提是 entity 数量相对有限(<50)。

  2. MCP 二次抽象模式 — 把业务 API 二次抽象为语义化操作(crates/ai_tools),让任何 SaaS 想让 AI agent 操作时只需包装现有 HTTP API 为 MCP server,无需重写后端。

  3. Projection Pattern for AI Memory — 用 batch + 物化视图代替实时 RAG,省掉向量数据库的运维负担;用户可读、可审、可改自己的记忆。

  4. CSS 颜色令牌与 Tailwind 默认调色板隔离 — index.css 用 --color-*: initial 禁用整个 Tailwind 默认调色板,CI 用 ast-grep tsx-no-raw-tailwind-palette 强制执行。成本低、收益高,任何用 Tailwind 的团队都应该做这个。

  5. Per-artifact Nix 源树剪枝 — 用 guppy 算每个 workspace member 的 transitive dep closure,配合 Nix 做部署级 cache 隔离。任何 monorepo + Nix + 多 artifact 部署的团队都能用。

关键设计决策

决策问题方案Trade-off可迁移性
统一 EntityType + entity_access 表跨实体权限的 N² join 噩梦单一枚举 + 单表,按 type 分发Schema 不”领域纯净”,但跨实体查询变成单表索引扫描高(<50 实体)
Loro + Cloudflare DO实时协作文档的房间调度sync-service 是 CF Worker,每个文档一个 DO + 5s alarm锁定 Cloudflare 生态,脱离需重写房间调度中
MCP-first workspace APIUI/AI/外部 agent 用同一种语言rmcp streamable-http + narrow JWTMCP surface 覆盖率 ≈ AI 能力上限高
夜间 batch projection实时 RAG 太贵且噪音大Lambda cron + 结构化 markdown 投影表最长 24h 延迟;聚合信号远多于实时高
Hakari + workspace-hackRust monorepo 编译时间第三方依赖集中单 crate学习成本 + 配置维护高(任何 Rust monorepo)
Polyglot persistence不同 workload 需要不同存储Postgres + D1 + OpenSearch + Redis + DynamoDB + Kafka运维复杂度高,心智切换成本高中(需强 SRE 文化)
CSS 调色板隔离品牌改色成本爆炸—color-*: initial + ast-grep 强制新开发者需先学令牌极高(成本极低)

竞品格局与定位

竞品对比矩阵

维度MacroNotion+Slack+Linear 组合ClickUpEdworkingAttio/Folk
AI 集成深度深度(MCP-first,Agent 一等公民)浅(每个工具单独的 AI 插件)中(ClickUp AI 通用)弱中(单点 AI CRM)
跨实体协同极致(统一数据图)弱(拼凑,靠 Zapier)中(ClickUp 内整合强)中弱(单点 CRM)
单点体验深度中等(足够好)各自最深深(DIY 强)浅深(CRM 内)
开源/自托管AGPLv3 + 自托管闭源闭源开源闭源
数据出口全量(AGPL 强制)锁定锁定全量锁定
上手成本高(IDE 风)低中低中
价格Freemium + Enterprise高(7 个订阅叠加)中(一个订阅)低中
技术栈Rust + SolidJS + CRDT + MCP各家异构自研 JSNode + Mongo自研

差异化护城河

  • 技术护城河:MCP surface 覆盖率 + Loro CRDT 整合 + monorepo 工程纪律(dep-closures、hakari、xtask 子 crate 化)——这些都是单点工具很难快速赶上的「体系级能力」。
  • 生态护城河:AGPLv3 强制开源 + 自托管友好 = 数据出口自由,对受够了 SaaS 锁定的企业有结构性吸引力。
  • 信任护城河:第 7 大贡献者是 Claude = 团队自己就是产品的深度用户(dogfooding + AI-assisted engineering),产品迭代节奏匹配团队实际工作流。

竞争风险

  • 最可能的替代者:当 Linear/Notion/Slack 各自添加「跨产品 bidirectional linking」后,单点工具的整合体验差距会缩小——但他们有路径依赖(每个产品都是独立单元,独立公司利益),Macro 的统一数据图优势至少 2-3 年难以被复制。
  • CRM 大厂威胁:HubSpot/Salesforce 拥有销售网络效应,但他们的 AI 整合是「附加」而非「原生」,2-3 年内难以重构成 MCP-first 架构。
  • 真正致命风险:如果 Loro CRDT 出现大规模生产事故(生态成熟度比 Yjs 小一个数量级),自救成本高。

生态定位

Macro 不在任何一个单点赛道竞争——它的对手是「Notion + Slack + Linear + Superhuman + HubSpot + Calendly 的总和」。在整个技术生态中,Macro 填补的是「AI 时代的工作操作系统」这个空白:不是单点工具,不是工具拼凑,而是「公司可计算」的统一 substrate。

套利机会分析

  • 信息差:低关注度(2,996 stars)+ 高质量($30M 融资、a16z 站台、近 3k commits、Claude 排第 7 贡献者)+ 强差异化(MCP-first、AI-native workspace)= 明确被低估。同类项目(ClickUp、Asana)已是 200+ 亿美元市值,Macro 在 GitHub 上关注度远低于其真实价值。

  • 技术借鉴:以下 5 项可立即迁移到自己的项目(按 ROI 排序):

    1. CLAUDE.md + CS-NN/FE-NN 编号化工程规约(零成本,立即可抄)
    2. workspace-dep-closures.json + xtask_deps(任何 monorepo + Nix 团队必备)
    3. 统一 EntityType 枚举 + 统一 entity_access 表(任何做”多实体超集 workspace”的产品核心)
    4. xtask 子 crate 化 + 零依赖 launcher(任何 Rust monorepo 都应做)
    5. MCP 作为 workspace API 网关(任何 SaaS 想让 AI agent 操作的最佳模式)
  • 生态位:填补「公司可计算操作系统」空白——单点工具的整合体验天花板被架构决定,Macro 的统一数据图是结构性突破。

  • 趋势判断:是否在增长?是(2026-07 单月 787 commits、Claude 排第 7 贡献者说明工程节奏仍在加速)。是否符合技术趋势?强烈符合(MCP 在 2024-2025 已成为 Anthropic 推的事实标准,AI-native workspace 是 SaaS 行业不可避免的演进方向)。比竞品有没有后发优势?有——Macro 是从 0 设计时就按 MCP-first 思维构建,不存在「重构既有架构」的路径依赖。

风险与不足

  1. Vendor 锁定到 Cloudflare(DO + Workers + D1)——自托管需要 fork/重写 sync-service,对企业自部署是显著门槛。
  2. Rust 后端的人才壁垒——招人速度限制增长,SaaS 行业竞争本质是招人速度的竞争。
  3. ai_projections_refresh_handler 24h 延迟——对「agent 立即知道最新事」的实时场景不够用,未来可能需要实时 + 离线双轨。
  4. 167 crates / 42 services 的认知复杂度——新人 onboarding 难度高(这也是为什么他们写那么详尽的 CLAUDE.md 和 STYLE_GUIDE)。
  5. Loro CRDT 生态成熟度——比 Yjs 小一个数量级,出了 bug 自救成本高;目前依赖商业支持而非社区生态。
  6. AGPLv3 商业风险——大企业法务对 AGPL 普遍有抵触,可能限制 enterprise 销售。
  7. 43 个 open PRs 远多于 9 个 open issues ——说明外部贡献者积极,但维护负担在增长;如果 review 跟不上,会反向打击贡献者积极性。

行动建议

如果你要用它

适合场景:5-50 人初创团队 / 远程团队 / 不想在 7 个 SaaS 订阅上烧钱的团队 / 对数据出口有强需求的企业 / IDE 重度用户。

不建议场景:需要单点极致体验的团队(如邮件重度用户选 Superhuman、issue tracker 重度选 Linear) / 50+ 人企业(CRM 销售流程复杂) / 不愿自托管的小团队(freemium 上手成本高)。

具体决策:如果你已经在用 3+ 个 SaaS 工具(邮件 + 聊天 + 任务 + 文档 + CRM),并且对「跨工具数据不同步」感到痛,Macro 是当下唯一能提供统一数据图的方案。

如果你要学它

重点关注以下文件/模块(按学习价值排序):

优先级路径学什么
1CLAUDE.md + docs/STYLE_GUIDE.mdAI 时代工程规约的范本(CS-NN/FE-NN 编号化)
2Cargo.toml + .config/hakari.toml + crates/workspace-hack/cargo-hakari 单 crate 依赖集中化
3.github/workspace-dep-closures.json + tooling/xtask/crates/xtask_deps/guppy 算 dep closure + Nix 源树剪枝
4crates/model-entity/src/lib.rs + crates/entity_access/src/domain/models.rs统一 EntityType + entity_access 表模式
5services/mcp_service/src/main.rs + crates/ai_tools/MCP 作为 workspace API 网关模式
6services/ai_projections_refresh_handler/Projection pattern for AI memory
7services/sync-service/Loro CRDT + Cloudflare DO 整合
8tooling/xtask/src/main.rsxtask 子 crate 化 + 零依赖 launcher
9apps/web/src/index.css + biome.base.jsonc + sgconfig.ymlCSS 调色板隔离 + biome + ast-grep 工具栈选型
10.github/workflows/(30+ 文件)monorepo CI/CD 按子目录 lint、按 artifact deploy

如果你要 fork 它

可改进的方向:

  • 降低自托管门槛:把 sync-service 从 Cloudflare DO 抽象成 portable runtime(支持自部署的 room scheduler),打开企业自托管市场。
  • 替换 Loro 为 Automerge:如果担心 Loro 生态成熟度,可以做 Loro/Automerge 双后端抽象。
  • 拆分 monorepo:167 crates / 42 services 对小团队是 over-engineering,可以拆出 loro-mirror、lexical-core、xtask_deps、workspace-dep-closures 作为独立 crate(packages/loro-mirror/ 已独立开源)。
  • 补充实时记忆层:ai_projections_refresh_handler 是 batch,可以叠加实时 memory(增量更新)以支持「agent 立即知道最新事」场景。
  • 强化企业级 RBAC:当前 channel-scoped permissions 适合团队,企业级需要更细粒度的 role-based 控制。

知识入口

资源链接
DeepWikihttps://deepwiki.com/macro-inc/macro(已收录,可访问)
Zread.ai待验证
关联论文无(工程实践项目,无学术论文)
在线 Demohttps://macro.com/app(freemium 入口,需 Google SSO)
官方博客https://macro.com(无独立博客栏目,价值主张在首页)
融资/站台A16Z 站台(Alex Rampell),公开披露 $30M+ 融资

相关报告