最近,关于Claude Code的一个重要事件引起了广泛关注。
据报道,在一次npm包的更新过程中,Anthropic不慎将包含源代码映射文件(.map)的错误版本发布到了npm仓库中。
这一失误导致超过50万行TypeScript代码及相关文档被意外公开。
发现这一漏洞的是Solayer公司的实习生Chaofan Shou,他在社交媒体上首次披露了这一情况,并分享了一个可以下载这些源代码的链接。

源代码映射文件通常用于帮助开发人员调试压缩过的JavaScript代码,还原至其原始状态。
在这次事件中,Anthropic不小心将包含公开存储桶地址的映射文件一同发布出去了。
任何下载该npm包的人都可以利用这些信息获取完整的TypeScript源码,并对其进行研究或学习。
尽管Anthropic迅速修复了这一问题,但GitHub上已经有人创建了一个镜像仓库并获得了大量关注:

https://github.com/instructkr/claude-code
此外,还有网友详细解析了Claude Code的工作原理,并发布了一份详细的教程:
https://www.mintlify.com/VineeTagarwaL-code/claude-code/guides/authentication
那么这些被泄露的文件具体包含什么呢?
它们主要涵盖了Claude Code客户端工具的内部实现,包括软件架构、支持的功能以及与IDE交互的方式等。
具体来说,主要包括以下几个方面:
1、核心架构和引擎
QueryEngine:这个组件是整个工具的核心部分,负责处理用户指令、调用模型API等功能。
多Agent协作系统(swarms):使多个AI代理能够协同工作以执行复杂的任务。
内存管理系统:用于保存和恢复对话历史和其他上下文信息,以便后续使用。
IDE Bridge:工具如何与VS Code等编辑器进行通信的机制。
2、内置工具:
这些功能使得Claude Code能够直接在用户计算机上执行各种操作而不仅仅局限于对话交互。

3、命令系统:

4、技术栈

5、关键文件
QueryEngine.ts文件包含大约46,000行代码,是处理API调用的核心逻辑。
Tool.ts文件定义了所有工具的接口和类型信息,确保了不同组件之间的兼容性。
commands.ts文件则负责注册并执行各类命令,根据环境的不同加载相应的指令集。
main.tsx文件则是基于Commander.js的CLI解析器以及React/Ink界面框架的核心入口点。
关于设计模式方面的一些亮点:
并行预取:通过提前获取必要的设置和资源来加速启动过程。
懒加载机制:延迟执行大型模块直到实际需要时才导入,以减少初始加载时间。
智能体群系统:支持多个代理的协作工作模式。
技能体系:允许用户自定义可重用的工作流组件。
插件架构:提供了灵活的扩展接口供第三方使用和开发。
以下是一些尚未发布的特性:
KAIROS功能,使Claude Code能够在无人值守的情况下持续运行并自主完成任务。
PROACTIVE模式下,Claude Code可以主动监测项目状态并提供相应的建议。
VOICE_MODE支持语音命令输入,尽管目前仅部分实现但未来将全面集成。
DAEMON后台服务功能允许工具长期在后台运行而不需保持终端窗口打开。
BRIDGE_MODE代表了与IDE更深层次的交互模式升级。
BUDDY系统则是一个有趣的虚拟宠物模块,包含多种不同的生物类型和玩法元素。
尽管源代码已经被公开,但这并不代表Anthropic有意开源。公司保留所有版权,并且不允许未经许可的修改或商业使用。否则将采取法律行动或通过DMCA通知要求删除相关项目。
