7.6
深览指数
科技Bestblogs·AprilNEA··AI 生成
AprilNEA - 全栈工程师
本文对Claude Code的Web运行时进行了逆向工程,揭示其运行在Firecracker microVM上。关键发现是一个未剥离符号的Go二进制文件,暴露了Anthropic的内部部署平台Antspace和Web应用构建器Baku。Antspace是一个与Vercel不同的内部PaaS,使用tar.gz上传和NDJSON状态流;Baku则能自动配置Supabase并默认将应用部署到Antspace。文章展示了Anthropic正在构建一个从自然语言提示到可运行应用的垂直整合AI原生PaaS生态,而非依赖第三方平台。原文 ↗
核心观点
- ▍Claude Code的Web运行时运行在Firecracker microVM中,使用极简init(process_api)从快照恢复会话,其ACPI表OEM ID为FIRECK,与Firecracker源码一致。
- ▍一个未剥离符号的27MB Go二进制文件(environment-runner)暴露了Anthropic的内部平台Antspace和Baku Web应用构建器的内部包,揭示了其AI原生PaaS架构。
- 01VM的PID 1是一个自定义二进制文件,充当init和WebSocket API网关,通过热插拔块设备(vda ext4、vdb squashfs claude-code、vdc squashfs env-runner)恢复快照,并在接受连接前执行缓存清理、重新挂载、时钟修正和权限降级。
- 02Go二进制文件包含完整的调试信息和符号表,暴露了如internal/antspace客户端、tunnel/actions/deploy、baku模板、Supabase自动配置、BYOC envtype以及用于codesign和Supabase的MCP工具等包。
- 03Antspace是Anthropic的内部PaaS,其客户端通过Bearer token和动态控制平面URL暴露Deploy、createDeployment、uploadTarball、streamStatus方法,上传单个dist.tar.gz制品并流式传输NDJSON状态(packaging→uploading→building→deploying→deployed),且网上无公开痕迹。
- 04Baku内嵌Vite+React+TypeScript模板,自动写入Supabase环境变量,提供六个MCP工具,并包含stop钩子,在存在未提交git更改、开发服务器错误或TypeScript类型错误时阻止退出。
- 05Baku的默认部署目标是Antspace,而非Vercel,表明Anthropic从零构建了一套完整的部署协议,是一项战略性平台投资,而非快速集成。
反方 / 局限
- — 文章基于对单个二进制文件的逆向工程,推导出的架构可能不完整或存在偏差,例如Antspace和Baku的具体功能和部署规模尚无法从这些文件中完全确认。
- — Anthropic作为一个高度注重安全性和保密性的公司,其内部二进制文件保留如此完整的调试信息可能是一个无心之失,而非其平台架构的正式文档,因此分析的细节可能被后续更新覆盖或改变。
6 分钟 · 5 卡片 · 14 资料
读原文 →