从 2026 年 1—5 月的 changelog 看 Macro 在往哪走:AI 工具、通话与团队化
看一个产品要往哪走,最实在的材料不是官网首页,是它自己的更新记录。Macro(macro.com)在文档站里按月放出了 changelog,每个版本一条条列出合并了哪些 PR、标题写的是 feat 还是 fix。2026 年 1 月到 5 月这五份文件加起来三千多行,逐条读是灾难,但把它按主题归并之后,一条产品线的取舍其实相当清楚。
这篇就是这么读的:只用官方这五份月度 changelog(2026-01 到 2026-05),所有版本号和条目标题按原文,不做任何我没看到的推测。需要提前说明的是,我没有安装、也没有运行过 Macro,所以下面不会有任何关于界面长什么样、快不快、好不好用的描述——changelog 能告诉你的是”改了什么”,告诉不了你”改完什么手感”。想先了解这个产品本身是干什么的,可以看 Macro 是什么。
另外提醒一句阅读方法:changelog 里 chore、refactor、chg 这类条目往往比 feat 更能说明方向。一个团队在删什么、把哪块代码搬到哪里,比它宣传加了什么功能诚实得多。
AI 那条线:从”多加一个工具”到”能被调度的 agent”
1 月的 AI 相关条目还停留在给聊天补工具的层面。v2026.1.21.0 有 feat: Add code execution tool support,同一版还有 chg(ai): Improve AI prompt to use tools and personalize responses 和 feat(ai): nested tool subcontext + docs + gen;v2026.1.13.0 加了 feat(ai): web_fetch tool 和 feat(ai): list channels tool;v2026.1.20.0 出现 feat(tools): Soup tool 和 feat(ai): AI CLI。有意思的是同期还有减法:feat(ai): remove rewrite tool(v2026.1.21.0),以及 v2026.1.26.0 的 chore(ai): Require code execution for math calculations——不再让模型自己算数,强制走代码执行。
2 月开始把工具铺到各个实体上:feat: ai tool for creating documents、feat(ai): add ai tools for notifications(v2026.2.23.0)、feat(ai): document ai tool(v2026.2.18.0)。同月 v2026.2.11.0 有 feat: ai consent flow,这是把”要不要让 AI 读你的东西”变成一道显式流程。
真正的转折在 3 月和 4 月。v2026.3.20.0 出现 feat(ai): mcp server——Macro 自己成为 MCP 服务端;v2026.3.24.1 出现 feat(ai): memory。到 4 月,v2026.4.17.0 同时合并了 feat(ai): scheduled agents (backend) 和 feat(ai): Scheduled agents frontend,v2026.4.24.0 直接写着 feat(ai): subagents 和 feat(ai): create-tool skill。定时触发、子代理、让 agent 自己造工具,这三件事凑齐,产品形态就从”聊天框”变成”可调度的执行体”了。想看这条线具体能做什么,可以对照 Macro 的 agents 能做什么。
5 月是这条线的地基改造。v2026.5.27.0 有一条 feat: replace ai crate with agent crate powered by RIG——整个 AI crate 被换成了 agent crate(官方条目里写明由 RIG 驱动,具体是什么 changelog 没有展开)。同月 v2026.5.16.0 是 feat(ai): Basic support for external MCP servers,并且在同一版里连着上了 feat(ai): slack mcp 和 feat(ai): notion + fix infra;更早 v2026.4.2.0 已经有 feat(ai): konsole mcp。v2026.5.6.0 的 feat(ai): concurrent tool call processing 则是把工具调用并发化。
| 版本 | changelog 原条目 | 这一步意味着什么 |
|---|---|---|
| v2026.1.21.0 | feat: Add code execution tool support | AI 能跑代码,不再只出文本 |
| v2026.1.13.0 | feat(ai): web_fetch tool | 上下文可以来自站外 |
| v2026.2.11.0 | feat: ai consent flow | 数据访问要显式授权 |
| v2026.3.20.0 | feat(ai): mcp server | Macro 作为 MCP 服务端被外部调用 |
| v2026.3.24.1 | feat(ai): memory | 会话之外开始留状态 |
| v2026.4.17.0 | feat(ai): scheduled agents (backend) / Scheduled agents frontend | 从被动响应到定时触发 |
| v2026.4.24.0 | feat(ai): subagents、feat(ai): create-tool skill | 任务可拆解,工具可自造 |
| v2026.5.16.0 | feat(ai): Basic support for external MCP servers | 反过来接外部 MCP |
| v2026.5.27.0 | feat: replace ai crate with agent crate powered by RIG、feat(ai): thinking | 底层运行时换掉 |
配套的还有一堆”让人敢用”的小条目:v2026.4.9.0 的 feat(ai): UI for failed tool calls(工具调用失败要能看见),v2026.4.14.0 的 feat(ai): cancel stream button(跑歪了能叫停),v2026.5.4.0 的 feat: add MCP setup instructions across onboarding, settings, and agents empty state。这类条目通常不上宣传稿,但它们是 agent 产品能不能被信任的分水岭。
四月凭空长出一整条通话线
如果只看一个月,4 月最反常。v2026.4.1.0 出现 feat(calls): calls backend,六天后 v2026.4.7.0 就是 feat(calls): Frontend implementation、feat(calls): setup call recording、feat(call): prod transcriber。之后几乎每个版本都在推这条线:v2026.4.8.0 feat(calls): choose audio/video,v2026.4.9.0 feat call noise filtering,v2026.4.10.0 feat(call): add push notifications,v2026.4.14.0 feat(call): recording 和 feat(call): add call to soup。
到月底能力已经相当具体:v2026.4.24.0 一版里就有 feat(call): speaker diarization(说话人分离)、feat(call): ai summary、feat(call): fix noise suppression、feat(call): enforce single join;v2026.4.23.0 有 feat(call): call video blur 和 feat(call): ai toolset;v2026.4.30.0 还在补 feat(calls): custom speaker overrides 和 feat(call): improve call title prompt and remove Untitled Call。5 月继续磨:v2026.5.11.0 的 feat(calls): voice id live kit agent、feat(call): rollup transcripts,v2026.5.12.0 的 feat(call): de-fluff ai call summary(把 AI 摘要里的废话去掉),v2026.5.16.0 的 feat(call): attempt to stabilize diarization——用词是 attempt,说明说话人分离当时还没稳,v2026.5.19.0 又有 feat(call): stability fixes to prevent call drops。
两条容易被略过但很说明问题的条目:v2026.4.15.0 的 feat(calls): add in safety methods to stop calls properly to avoid billing mistakes——通话是按用量计费的外部资源,忘了挂断就是真金白银;以及 v2026.4.30.0 的 feat: kill scribe,同期 feat(call): prod transcriber 上线,一个转写路径被另一个替换掉。通话记录这块怎么用,可以看 Macro 的通话记录。
搜索被翻来覆去重写,是因为它先崩了
perf(search) 在 3 月密集出现:v2026.3.11.0 perf(search): materialized table for speed improvement,v2026.3.12.0 perf(search): make a separate table to speed up email contact search,v2026.3.30.0 perf(search): remove wildcard matching and use match phrase prefix only,v2026.3.31.0 perf(search): document name search covering index 和 perf(search): split email contact search into two queries。这套组合拳的路子很典型:先建物化表和覆盖索引,再砍掉代价最高的通配匹配,最后把一个大查询拆成两个。
4 月转向基础设施:v2026.4.15.0 有 feat(search): use read replica database for search queries、feat(infra): add pganalyze collector with auto_explain、feat(infra): enable enhanced monitoring for RDS;v2026.4.1.0 还有 feat(soup): readonly replica support。到 5 月开始动索引形态:v2026.5.6.0 的 feat(search): alias all OpenSearch indices for zero-downtime reindex 和 feat(search): async reindex with slicing + task polling,然后 v2026.5.18.1、v2026.5.26.0 连续上了 documents_v2、chats v2、call records v2 的 parent/child join + keyset backfill。
顺带说一句,画布相关的条目在这五个月里全是修复类的(比如 3 月的 fix(canvas): add shallow diff to canvas node update、fix[mobile]: infinite canvas loading),没有新功能条目,属于维护状态;用法可以看 Macro Canvas 怎么用。
邮件这条老线在补”反悔”和”多账号”
邮件是 Macro 一开始就有的部分,这五个月补的东西集中在两处。一是给操作留后路:v2026.1.20.0 的 feat(email-service): Delay sending emails for undo functionality(延迟发送以支持撤回)、v2026.2.19.0 的 feat(email): Undo send functionality、v2026.2.4.0 的 feat(email): schedule sending emails。这个思路后来扩散到了全局——v2026.2.18.0 有 feat(queries): simple undo primitive for queries,到 v2026.4.22.1 变成 feat(undo): bind cmd+z / shift+cmd+z to the mutation undo stack,把撤销从”某个功能的特例”提升成了跨操作的原语。
二是账号边界:v2026.3.25.0 的 feat(email): Block sender frontend + backend improvements,v2026.3.26.0 的 feat(email): Set email sender as Signal/Noise with email_filters,v2026.4.2.0 的 feat(email): add gmail_ops worker for async Gmail API operations with rate limit retry(把 Gmail API 调用异步化并处理限流重试),以及 v2026.5.28.0 的 feat(email): wire /link/gmail → callback → /email/init for multi-inbox 和 feat(multi-inbox): narrow-graph dispatch for cross-account inbox add——多收件箱是在 5 月底才接上的。
后端在做减法:删掉的服务比新增的多
1 月的 changelog 里删除类条目密度极高:remove org service infra、chore: remove organization service、chore remove experiment service、chore: remove insight service、sunset metering service、Seanaye/feat/remove graphql service、feat: remove legacy gql rpc。数据库也在合并:chore: consolidate notificationdb to macrodb、feat: migrate contacts to macrodb。同时把散在外面的东西收回来:feat!: move sync service to this repo、chore: dockerize lexical service、feat: dockerize sync service、feat: initial local environment support。
之后是长达数月的 “hex 化”:2 月 feat(channels): hex channels crate with pagination、feat(documents): hex crate,3 月 feat(teams): hexify teams crate、feat: connection hex crate,到 5 月 v2026.5.28.0 干脆是分步搬迁,条目里直接带着进度编号 feat(channels): port /activity endpoints to channels hex [3/7],同版还有 feat(channels): repoint frontend channel ops from @service-comms to @service-storage。配套的是发布纪律:v2026.5.27.0 的 feat(ci): deploy all services on push 和 feat(iac): add circuit breaker and timeout to service deployments。
一个微服务拆得太碎、又要往上叠 agent 和通话这种重功能的时候,先合并服务、统一持久层、把边界重画一遍,是绕不开的账。
GitHub 与 CRM:想把工作流的两头都接住
GitHub 集成从 3 月起步,路径很规整:v2026.3.2.0 feat(github): get GitHub access token → v2026.3.3.0 feat(github): webhook event parsing、github sync router → v2026.3.4.0 feat(github): sync task status from GitHub → v2026.3.10.0 feat(github): associate pr with task、feat(tasks): copy branch name to clipboard for tasks。到 5 月已经能 feat(tasks): show github pr in tasks、feat(github): pr enricher(v2026.5.26.0),并且 v2026.5.27.0 的 feat(github): allow non-teams to use sync 把限制放开了。值得注意的是 v2026.4.13.0 的 feat(mcp): expose branch name to mcp tool——GitHub 这条线和 agent 那条线在这里接上了。
另一头是 CRM,集中在 5 月下旬:v2026.5.21.0 的 feat(crm): populate CRM tables from sent-mail history(从已发邮件历史反推客户关系)、feat(crm): team-scoped email queries with CRM domain authorization,v2026.5.26.0 的 feat(team): add CRM enable/disable endpoint with team-level killswitch、feat(crm): skip populate_contact when contact and user share a domain(同域同事不算客户)、feat(crm): track first_interaction/last_interaction。killswitch 和域名过滤这两条说明团队清楚这功能敏感——它读的是全员邮件。
从个人订阅改成团队席位
商业化的改动从 3 月开始密集:v2026.3.19.0 有 feat(pricing): implement new pricing tiers 和 feat(analytics): track stripe subscription events,v2026.3.30.0 出现 feat(ai): paywall models(模型进付费墙)。4 月把团队做成一等公民:feat(teams): team tab in settings、feat(teams): onboarding step for creating team and inviting members、feat(teams): invite link page、feat(teams): change user roles(v2026.4.23.0、v2026.4.24.1)。
5 月是规则收紧的月份:v2026.5.16.0 有 feat(teams): remove premium user gate on team creation(建团队不再要求先是付费用户)和 feat(teams): remove team user tier and default team users to Opus tier,v2026.5.19.0 feat: teams checkout support,而 v2026.5.26.0 则是 feat(teams): do not allow non-paying teams to invite or have members join——放宽入口、收紧扩张。同期 v2026.5.28.0 还有 feat: ai pricing,AI 用量单独定价。
这份 changelog 没告诉你的事
先说边界。这五份文件是 PR 标题的汇总,不是发布说明:绝大多数条目只有一行标题,没有说明文档、没有迁移指引、也没有任何性能数字。所以”搜索变快了”这种话我写不出来——我只能说它连着上了物化表、覆盖索引、读副本和零停机 reindex,至于快多少,官方 changelog 没有说明。
其次,feat 出现不等于功能可用。这五个月里能看到大量 feature flag 的开关反复:1 月有 flag(md): flag off ai generate plugin until fixed、flag(channel/md): flag off document cards in channels until fixed,甚至有一条 chg: flag off ai chat inbox in soup for the 55th time——第 55 次关掉。同理,5 月的 feat(paywall): new paywall content and plans (behind ff) 和 feat(login): UI revamp behind FF 都明确标了在 flag 后面。看到条目就当功能已经在你账号上生效,会误判。
第三,changelog 只反映团队投了多少工,不反映用户是否买账。4 月整月堆通话、5 月整月堆 CRM 和团队计费,能证明的只是资源分配,证明不了效果。
最后,如果你是想据此判断”要不要迁过去”,这份材料能回答的问题很有限:它能告诉你产品的重心在半年内从个人的文档、邮件、任务,移到了 agent 调度、实时通话和团队协作;它回答不了你关心的稳定性、数据导出、退出成本。这些在五份 changelog 里都没有对应条目,需要另找官方文档核实。
延伸阅读
- 从头读起:Macro 是什么:邮件、任务、文档、CRM 共用一个双向数据库的开源工作区
- 本专题共 40 篇,完整分组目录见专题页
- Macro 的 AGPL-3.0 协议与自托管边界:官方仓库和文档到底写了什么
- Macro 的技术选型:Rust 后端 + Solid 前端 + Loro CRDT,这套组合带来哪些工程约束
本文依据 Macro 官方仓库(github.com/macro-inc/macro,AGPL-3.0 协议)的 apps/docs/ 产品文档、
MCP 工具参考与自托管说明整理,核对日 2026-08-17。
我们没有注册或运行过 Macro,因此不涉及界面外观与操作手感;
官方标注为计划中的能力文中已如实标明,不代表当前可用。
价格与额度以官网 macro.com 最新页面为准;许可证相关问题请咨询专业人士并以官方许可证原文为准。