Important
🔥🔥这是一个针对 @anthropic-ai/claude-code 2.1.88 版本的源码整理与重建项目。
该版本发布到 npm 时附带了可还原源码的 source map。本项目基于 sources 和 sourcesContent 将其还原为可读的源码目录,旨在研究 Claude Code 的 CLI 架构、命令系统及 MCP 实现。
从 cli.js.map 还原后,一共有 70w 行代码
-
背景:2026.03.31 claude code 上 npm 上传了包含 claude code 源码的
cli.js.map文件 -
由于 2.1.88 版本已从官方 npm 下架,直接使用
npm install @anthropic-ai/claude-code@2.1.88会报错,你可以通过腾讯缓存镜像进行安装:
npm install -g https://mirrors.cloud.tencent.com/npm/@anthropic-ai/claude-code/-/claude-code-2.1.88.tgz
手慢无,不知道腾讯云的镜像缓存什么时候也没了
本项目以 src/ 为核心,高度还原了原始代码组织:
src/assistant/- AI助手会话历史管理src/bootstrap/- 应用程序启动状态管理src/cli/- 命令行界面处理和输出格式化src/entrypoints/- 应用程序入口点src/commands/- 各种CLI命令实现,包含200+个子命令src/components/- React UI组件库,包含界面元素和交互组件src/services/- 核心服务层,包含API、MCP、分析等服务src/skills/- 技能系统src/hooks/- React钩子函数库src/utils/- 工具函数库,包含大量实用工具src/ink/- 定制的终端渲染基础设施- ...
- recover_source.js 读取source map 文件,恢复源代码文件
- check_recovery.js 验证恢复的源码文件完整性
切换到 node.js 18,运行recover_source.js脚本:
node recover_source.js
- 注: 如果是直接下载的claude-code-2.1.88.tgz源文件,需要先解压获取cli.js.map文件,修改recover_source.js脚本的sourceMapPath
从还原的代码中,我们可以深入探索以下核心设计:
- 命令装载机制:支持内建命令、动态 skills、插件及 MCP 命令的混合装载。
- 终端 UI 艺术:如何利用 React 组件在终端中构建复杂的交互界面。
- MCP 深度集成:Model Context Protocol 在 CLI 中的具体实现与应用。
- Feature Flags:源码中随处可见的特性裁剪与构建期控制逻辑。
- 非官方项目:本仓库并非 Anthropic 官方仓库,亦不代表其立场。
- 版权说明:原始代码的版权、商标及相关权利归原权利方(Anthropic)所有。
- 研究用途:本项目仅供归档、结构分析与源码阅读,不应被视为官方开源项目。
- 法律风险:如需二次发布或商用,请自行评估相关许可与法律风险。
如果你想让它跑起来,建议按以下步骤尝试:
- 添加
package.json并配置依赖。 - 补齐构建工具链。
- 处理
bun:bundle宏与 feature flags。 - 验证核心命令的运行情况。
感谢发布时未移除的 Source Map,让这份精致的工程结构得以重现。