Claude Code“开源”了?
智东西3月31日报道,刚刚,Anthropic的Claude Code的npm包在打包发布时误将source map文件(.map)捆绑进了npm包,导致约1900个TypeScript文件以及超过51.2万行代码遭泄露。
这件事的发现者是区块链基础设施公司Solayer的实习生Chaofan Shou,他第一个在X上发帖并直接给出了R2存储桶的src.zip下载链接。
用简单的话解释就是,Source map本来是给开发者调试用的“还原地图”,它能把压缩后的JS代码对应回原始TypeScript源码。
结果Anthropic打包npm包时,不小心把.map文件也塞了进去,而且地图里直接写着他们Cloudflare R2存储桶的公开地址。
于是任何人只要下载这个npm包,打开.map文件,就能顺着地址下载到完整的、未混淆的TypeScript源码文件,而这些TypeScript文件就是Claude Code软件的完整源代码。
目前,Anthropic已经迅速更新了npm包,移除了source map,但社区已经有人把源码镜像到了GitHub中,并且获得了超2万颗星:
https://github.com/instructkr/claude-code
还有网友已经梳理出了Claude Code的运作逻辑,并发布了完整的“说明书”:
https://www.mintlify.com/VineeTagarwaL-code/claude-code/guides/authentication
那这约1900个TypeScript源码文件,到底是什么呢?
简单来说,这些文件就是Claude Code客户端工具的实现细节,包括它怎么架构、用哪些工具、支持哪些命令、怎么和IDE交互、怎么管理记忆,以及一些还没上线的功能,但不包含Claude大模型本身的权重、训练数据、服务器端代码或用户敏感信息。
具体内容主要包括以下部分:
1、核心架构和引擎
QueryEngine(查询引擎):这是整个工具的大脑,负责接收用户指令、拆解任务、调用Claude模型、处理流式输出、做缓存、协调多步操作等。
多Agent协作系统(swarms):让多个AI Agent一起分工合作完成复杂任务。
Memory记忆系统:将之前的对话、文件内容、上下文持久化保存下来,方便长期使用。
IDE Bridge:工具如何和VS Code、JetBrains等编辑器双向通信(包括使用 JWT 认证机制)。
2、内置工具:
这些工具让Claude Code能真正“动手”帮你操作电脑、写代码、搜索信息,而不是只聊天。
3、命令系统:
4、技术栈
5、关键文件
QueryEngine.ts(约46K行):LLM API 调用的核心引擎,包括处理流式响应、工具调用循环、思考模式、重试逻辑和token计数等。
Tool.ts(约29K行):定义所有工具的基本类型和接口,即输入模式、权限模型和进度状态类型。
commands.ts(约25K行):管理所有斜杠命令的注册和执行,使用条件导入为每个环境加载不同的命令集。
main.tsx:基于Commander.js的CLI解析器和React/Ink渲染器初始化。启动时,它会优先处理MDM设置、钥匙串预取和GrowthBook初始化,以加快启动速度。
6、值得关注的设计模式
并行预取:通过在开始繁重的模块评估之前并行预取MDM设置、钥匙串读取和API预连接来优化启动时间。
懒加载:大型模块(OpenTelemetry、gRPC、分析和一些功能门控子系统)通过动态方式延迟执行,import()直到实际需要时才执行。
智能体群:子Agent通过生成AgentTool,并coordinator/处理多代理编排。TeamCreateTool支持团队级并行工作。
技能系统:可重用工作流程中定义的组件skills/通过该组件执行SkillTool,用户可以添加自定义技能。
插件架构:内置插件和第三方插件均通过plugins/子系统加载。
7、主要未发布特性标志及功能:
KAIROS:自主守护模式。支持后台持续运行、后台会话、自我记忆整合,让Claude Code成为一个24×7在线的助手,能在无人值守时自主工作和总结。
PROACTIVE:主动模式。Claude Code能主动监控项目、提出建议、提前处理任务,增强AI的自主性和前瞻性。
VOICE_MODE:语音交互模式。支持通过语音输入指令,目前部分命令可能已有限支持,但完整集成仍未发布。
DAEMON:后台运行/守护模式。将工具转为常驻后台进程,支持长期任务执行,而无需一直保持终端窗口打开。
BRIDGE_MODE:与IDE的深度桥接模式增强版本,可能包括更先进的双向通信或认证逻辑。
BUDDY系统:一个趣味虚拟宠物系统,包含约18种不同物种,有鸭子、鹅、猫、龙、章鱼、猫头鹰、企鹅、乌龟、蜗牛、幽灵、轴足动物、卡皮巴拉、仙人掌、机器人、兔子、蘑菇等。有稀有度、闪光变体、实时状态等玩法,是个隐藏的彩蛋式功能。
但要注意,这并不是Anthropic主动开源,Anthropic依然对源代码拥有版权。开发者们可以看代码、学架构,但不可以拿去修改后重新发布成自己的工具或做成产品。否则,Anthropic有权通过DMCA(版权删除通知)让GitHub删除相关项目,或者追究法律责任。
热门跟贴