那份 57MB 的 source map,谁该为之兴奋,谁又不太在乎

自媒体专栏7小时前发布 cansnow
91 0 0
那份 57MB 的 source map,谁该为之兴奋,谁又不太在乎

2026 年 3 月 31 日,Anthropic 在 npm 上发布了 Claude Code v2.1.88,包里有一个不该出现的东西:cli.js.map,57MB,包含 1900 个 TypeScript 源文件、51.2 万行未经混淆的代码。从那一刻起,全世界开发者可以精确看到 Anthropic 内部 AI 编程操作系统的每一根线路。

事情迅速放大。安全研究员 Chaofan Shou 在 X 上披露;几小时内代码被镜像到数千个 GitHub 仓库;24 小时内 Python 净室重写项目 claw-code 上线,两周内冲到 18 万 stars,被一些报道称为 GitHub 史上增长最快的仓库;Anthropic 之后发动 DMCA 大规模下架,8100 个仓库被波及,其中相当一部分根本没碰过那份 source map。

然后是大家伙儿开始抢着解析的代码细节:五层上下文压缩管道(Budget Limit → Snip → Microcompact → Context Collapse → Auto-compact)能把 77,000 token 的工具调用负载压到 8,700 token,削减 85%;40 多个权限控制工具搭起一套 deny-first + 七层权限系统;Agent Teams 通过子代理委托、隔离上下文、受限工具集再加摘要返回的方式跑多智能体编排。还有两个名字意外曝光——BUDDY,终端电子宠物;KAIROS,持久化 AI 助手。以及一个特别让人会心一笑的环境变量:USER_TYPE=ant 能解锁全部内部功能。

我读到这一段的时候承认自己笑了一下。USER_TYPE 这种字段,是一个工程团队在做严肃基础设施的同时又有点得意忘形的那种细节。它在提醒一件事:Claude Code 这个产品,从来不只是 Claude 模型的一个客户端。

问题是:那么多双眼睛盯着一份源码,但 OpenCode 团队好像完全没动静。GitHub Stars 在涨,月活在涨,贡献者在涨,版本号在跳——但没有任何明显是冲着"抄 Claude Code"去的版本。

这里面有一段值得慢慢看的东西。


OpenCode 不是在 3 月 31 日才冒出来的。它 2025 年 6 月就发布了,比泄密早 9 个月。到泄密发生的那一天,它的 GitHub Stars 大概是 14 万,月活开发者在 500-650 万之间,正式 Release 数到 759 个,提交数超过 11,000,贡献者超过 460。这意味着它在泄密事件发生的时候,自身已经是开源 AI 编程 Agent 赛道的第一名——星标、月活、贡献者全面领先 Claude Code 自己。

把它说成"Claude Code 的克隆品"或"追随者",是中文社区里一个流传很广但完全站不住脚的读法。两者在性质上就是两类东西:Claude Code 是个产品。Agent 跑哪个模型、用什么工具、怎么卡权限,全部由 Anthropic 一家决定,开发者拿到的是精装房;OpenCode 是个框架,Agent 部分和模型部分解耦,75 个以上的模型提供商可以接,本地 Ollama 也能接,开发者拿到的是一盒 LEGO。

这两条路线的分歧不是风格分歧。最具体的分歧在三个决策上。

第一是安全网放在哪里。Claude Code 默认 deny-first,每一次高危操作先弹权限窗问你;OpenCode 默认放手做,但每次操作前做一次 Git 快照,错了用 /undo 退回。前者假设开发者不该也不需要承担风险,后者假设开发者应当保留撤回的自由。

第二是上下文压缩怎么做。Claude Code 的五层管道把 85% 的上下文压回去,开发者完全看不见;OpenCode 把 auto-compact 暴露出来,作为一个用户能感知、能配置的功能。再放大一层:Claude Code 只有 CLI 一种前端;OpenCode 既有桌面版,也通过 ACP(Agent Client Protocol)接 JetBrains、Zed、Neovim、Emacs、VS Code 和 Cursor。

第三是会话怎么持久化。Claude Code 用文本转录回放;OpenCode 用 SQLite 实时状态。差别在哪?后者在 SSH 掉线又重连之后,能回到同一个会话的同一个中间状态。前者只是把历史再放一遍。

把一份为 Claude 深度调优的 TypeScript 单进程架构代码塞进 Go TUI + Bun Server + SQLite 的多模型框架里,不存在"借鉴"的可能性。这件事的工程难度,更像是把 iOS 的内核代码塞进 Android 系统。


净室重写为什么就能接,OpenCode 反而不行?这个问题回到法律这条硬线上。

claw-code 的组织者 Sigrid Jin 立了一条规则:禁止任何看过 source map 的贡献者参与开发。整个项目用 Python 从零开始写,不碰原始代码,最多参考公开的架构描述来理解 Claude Code 内部在做什么。这条规则的前提是 Claude Code 的设计思路在"代码"之上还有一层"模式":五层压缩怎么编排、七层权限怎么分、Agent Teams 怎么隔离上下文——这些属于可学的设计方法,不属于任何人的版权。

说句实话,净室原则到底怎么执行到这个颗粒度,我没找到完整的报道。是靠贡献者自律声明?是靠 PR diff 审计?还是靠一个看 source map 准入与项目提交准入完全切分的工程流程?GitHub 公开仓库里的代码看不出。建议想参与的开发者直接去翻该项目 contributor guide 或者问维护者。

OpenCode 没有走这条路,也不该走。它有 46 万行自有代码,几百个贡献者,MIT 许可证。MIT 这条线本身就是面向商业用户的合规底线。一旦任何一行受版权保护的代码混进 codebase,下面的连锁反应会沿着用户合同往下传:OpenCode 的企业用户在自己产品里调用 OpenCode 的功能,结果那段代码的源头指向一份被 Anthropic 标记过版权的 source map——这种风险不是道德问题,是法律问题。这一点每日经济新闻援引的律师观点很直接:相关代码的商业化使用面临法律风险。

OpenCode 真正能做的,是"模式"层面的学习。这一点其实已经在发生。


把视线放回更大的画面,泄密之后这半年发生的事情不是"躺平",更接近五个方向各奔前程。

claw-code 是净室重写这件事的代表,用 Python 不碰原码。OpenCode 是模型无关这一路线的代表,把 Agent 当 LEGO 卖。Cline 的路线是 Plan/Act 双模式,月活 5M+,月 API 成本 $8-12,是最便宜的工程化方案之一。Aider 走 Git-native 路线,每一步自动 commit,错了一步 git revert 就能恢复。Goose 是 MCP-first 架构,接 70+ 扩展,背后推手是 Jack Dorsey 的 Block,已经转入 Linux Foundation 治理——这其实是企业级开源治理转折的一个小信号。Codex CLI 是 OpenAI 用 Rust 写的内核级沙盒 Agent,在 Terminal-Bench 上跑出 83.4% 的领先,主打安全隔离,企业合规优先。

加上通义灵码、腾讯云 AI 代码助手这些中国生态的裂变,整个开源 AI 编程圈 6 个月内不是躺了,是散了。散开之后,每一个项目都回到自己的路线图上,而不是去接一份别人的 source map。


把 OpenCode 的不更新放到这个背景里看,更接近一个事实陈述:它根本不在泄密这条故事线的核心位置。它真正的转折发生在两个月前。

2026 年 1 月 8 日,Anthropic 在 OAuth 服务端部署了一道检查,专门拦截 OpenCode、Cline、RooCode 等第三方工具用消费者令牌(Pro / Max 订阅送的)调 Claude 模型。同一天,xAI 的工程师通过 Cursor 调用 Claude 的权限也被切断。Hacker News 上 245 分的热议帖里,开发者不讲技术细节,全是愤怒——那种"我订阅了你的 Pro,凭什么不让我用"的愤怒。GitHub Issue 147+ 赞的抗议帖里,最扎眼的一句话是某个用户写的:他刚取消了每月 200 美元的 Max 订阅。

两个月后那次泄密,媒体报道成了头条。但封锁才是这件事的导火索,泄密只是封锁的余震。封锁让开发者第一次亲身体验了"供应商锁定"(vendor lock-in)意味着什么——项目做到一半,模型通道被切断,愤怒和无力比任何架构对比图都更有说服力。它把 OpenCode 一直挂在嘴边的"模型无关",从一个技术选项变成了刚需。

再往后,2026 年 6 月,美国政府对非美国人使用 Anthropic 的 Fable 5 模型下禁令,Anthropic 关闭了相关访问。这是开发者第一次体验到"模型是否可用取决于政府意志"。

把 OpenCode 在泄密前后的数字排一下:Stars 从 14 万涨到 17.8 万,月活从 500 万涨到 650 万,贡献者从 460 涨到 850 以上,Release 数从 759 继续往上,架构决策从 Plan/Build 双 Agent 模式走向多 Session 并行,再走向 ACP 协议的全面覆盖。它在持续更新,只是方向不是冲着泄密去的。


最后必须把一个我之前没说的事实先讲清楚:Anthropic 自己对这次泄密不全是受害者。

DMCA 的下架行为误伤了 8100 个仓库,其中很多项目根本没看过那份 source map,纯粹是名字或简介里撞上了某些关键词。这件事在 GitHub 社区引发的反弹远超预期——开源项目被无差别下架,是 2026 年 GitHub 上最大的一次版权执法争议之一。Anthropic 的法务团队很快撤回了大部分下架通知,但 PR 灾难已经发生。

更尴尬的是 BUDDY 和 KAIROS。这两个未发布的功能名字,泄密前从没有公开出现过。泄密之后它们被代码本身暴露——BUDDY 是终端电子宠物系统,KAIROS 是持久化 AI 助手。从产品策略上看,这两个功能原本可能成为 Anthropic 下一阶段发布会的彩蛋。51 万行代码里有它们,等于彩蛋被提前剧透。

Anthropic 把一整套 AI 编程操作系统的架构图——五层压缩管道的内部细节、七层权限的实现、Agent Teams 的协调协议——直接送给了它所有想做的开源对手。这种事换一家公司可能直接是商业灾难,对 Anthropic 来说也只是"还能接着干"。

但 OpenCode 不在那个"对手"清单里。它的对手从一开始就是自家路线图。


回头看这件事,更长的一点看法是:开源软件世界里,"抄作业"这条路的法律成本和技术成本都被严重低估了。泄密后 6 个月,最快接住 Claude Code 故事的不是另一个 Claude Code,是用 Python 从零写的 claw-code、5 个不同路线方向的项目,再加上中国生态里借鉴而不复制的工具。OpenCode 不接这波热度不是因为它不在意,是它从一开始就在另一条轨道上——那条轨道在 1 月 8 日就被 OAuth 封锁定义了,而不是在 3 月 31 日被 source map 定义。

这个区分对中文技术圈的读者来说可能更重要一些。当我们看到"XX 公司源码泄露了"这种新闻的时候,技术社区的真实反应往往不是"赶紧复制一份",而是立刻分裂出更多条路线。泄密本身是一份礼物,但它是一份只有"能绕开法律和架构壁垒"的人才能拆开的礼物。OpenCode 不在能拆开的那一群里——不是因为它不行,是因为它已经不需要。


事实性参考

Dreaming.press 关于 OpenCode 与 Claude Code 路线对比的深度分析;DeepInfra 企业技术博客对 OpenCode 项目定位的描述;Builder.io 的 Claude Code 与 OpenCode 同模型(Sonnet 4.5)对比基准测试;ShipOrSkip 平台的产品评测数据;Nimbalyst、TechPillow、MyEngineeringPath 等开发者工具指南;CSDN、阿里云开发者社区、博客园等中文技术社区对 OpenCode 与 Claude Code 架构差异的讨论;每日经济新闻对泄密后中国 AI 编程工具法律风险及律师观点的报道;GitHub 上 claw-code(18 万 stars)、Cline(5M+ 安装量)、Aider、Goose(Block 开源 → Linux Foundation 治理)、Codex CLI(Terminal-Bench 83.4%)等项目的公开仓库提交记录与 stars 历史;OpenCode 官方仓库与 opencode.ai 公开的产品数据(Stars 14 万 → 17.8 万、月活 500-650 万、贡献者 460 → 850+、Release 数 759+);2026 年 1 月 8 日 Hacker News 关于 Anthropic OAuth 封锁事件的讨论帖及对应 GitHub Issue;2026 年 6 月美国政府对 Fable 5 模型的使用限制报道;ChaoFan Shou(FuzzLand)在 X 平台关于 source map 泄露的原始披露;Anthropic 在 npm 发布 v2.1.88 包的相关说明。

© 版权声明

相关文章

暂无评论

暂无评论...

网址设置

网址样式切换

详细

网址卡片按钮

显示

布局设置

左侧边栏菜单

展开

页面最大宽度

1700px

搜索框设置

搜索框背景上下位置

仅对图片背景生效

50%

自定义搜索框背景

  • 静图

    随机壁纸

  • 静图

    随机4K

自定义搜索框高度

  • 聚焦
  • 信息
  • 默认
设置