跳到主要内容
项目档案命令行工具

isboyjc/claude-code CLI 工具:安装、命令与使用场景

本文提供 Claude Code 的完整 TypeScript 源码版本(v2.1.88),从官方 npm 包的源码映射中还原。详细介绍项目定位、解决的问题、适用场景、安装构建步骤(使用 Bun)、使用方法、与官方版共存方案,以及技术实现特点。适合需要本地调试、功能定制或研究 Claude Code 架构的开发者。

162TypeScriptStar 于 2026年4月1日2026年8月24日 更新

AI 总结

Claude Code 的本地 TypeScript 源码版本(v2.1.88),支持从源码编译运行,便于开发者调试、定制和二次开发这个 AI 编程助手工具。

中文项目介绍

Claude Code Source 是从 Anthropic 官方 npm 包 @anthropic-ai/claude-code 的源码映射(cli.js.map)中还原的完整 TypeScript 项目,版本 v2.1.88。它解决了官方版本无法本地构建和调试的问题,使开发者能够直接 inspect、修改和扩展其内部机制。 该项目适用于需要深度定制 Claude Code 功能的开发者,或希望研究其架构设计与实现细节的场景。通过本地编译运行,开发者可以在正式环境之外进行实验性开发,同时与官方版本共享认证配置,无需重复登录。 技术实现上,项目基于 Bun 运行时与打包器,使用 TypeScript 编写,采用 React 与 Ink 框架构建终端用户界面,通过 Commander.js 处理命令行参数。核心集成 Anthropic AI SDK 实现 AI 编程助手功能,并支持 IDE 桥接、浏览器扩展、多云服务等高级特性。构建过程通过 Bun bundler 将源码打包为单文件可执行产物(~21MB),并利用特性标志实现死代码消除优化。

详细信息与使用说明

1. 项目定位与用途

Claude Code Source 是 Anthropic 官方 AI 编程助手 Claude Code 的本地源码版本,版本号 v2.1.88。它从官方 npm 包的源码映射文件中完整还原了 TypeScript 源代码,支持本地编译和运行。该项目的主要用途是为开发者提供一个可 inspect、修改和扩展 Claude Code 的开放环境,便于进行功能定制、架构研究或二次开发。与官方二进制版本不同,源码版本允许开发者直接访问和修改所有实现细节,同时保持与官方版本的功能兼容性,共享认证信息和配置。

2. 解决的问题

官方 Claude Code 以预编译 npm 包形式分发,存在几个关键限制:无法直接查看和调试源码;难以进行功能定制或实验性修改;构建过程不透明,无法理解内部机制。本项目通过从 cli.js.map 源码映射中完整还原 TypeScript 源代码,彻底解决了这些问题。开发者现在可以本地编译、运行和修改 Claude Code,实现深度定制。同时,项目通过自动创建私有包存根和 commander 补丁,解决了 Anthropic 内部包缺失和命令行解析兼容性问题,确保源码能够顺利构建运行。

3. 适用场景

该项目适用于多种开发者场景:一是需要深度定制 Claude Code 功能,如添加新命令、修改 UI 或集成自定义工具;二是进行学术或技术研究,分析 AI 编程助手的架构设计与实现细节;三是在隔离环境中测试实验性功能,不影响正式版使用;四是基于 Claude Code 进行二次开发,构建专用开发工具或工作流。此外,对于希望理解大型 TypeScript CLI 项目构建方式的开发者,该项目也是优秀的参考案例。由于支持与官方版本共存,它也非常适合在生产环境使用官方版的同时,在开发环境使用定制版。

4. 安装方式

安装 Claude Code Source 需要准备 Bun(>=1.3.5)和 Node.js(>=18)环境。首先安装 Bun,可通过 curl 脚本或 Homebrew 完成。然后克隆项目仓库,进入项目目录执行 `bun install` 安装依赖。此步骤会自动运行 postinstall 脚本,创建 5 个 Anthropic 内部私有包的功能存根,并打补丁修复 commander 的多字符短选项兼容性问题。依赖安装完成后,执行 `bun run build` 使用 Bun bundler 进行构建,生成单文件可执行产物 dist/cli.js(约 21MB)。整个安装构建过程完全自动化,无需额外配置。

5. 使用方式

构建完成后,通过 `bun dist/cli.js` 启动 CLI,或使用 `bun start` 快捷命令。首次运行需完成认证:若已安装官方版且登录,则直接共享认证;否则可通过 `bun dist/cli.js auth` 执行 OAuth 登录,或设置 ANTHROPIC_API_KEY 环境变量。CLI 启动后进入交互式 REPL 会话,可直接输入自然语言与 AI 助手对话。同时支持丰富的斜杠命令,如 `add-dir` 添加工作目录、`bridge`(别名 rc)进行 IDE 远程控制、`chrome` 配置浏览器扩展、`clear` 清除历史等。若需与官方版共存,可在 shell 配置中添加别名(如 `alias claude-dev="bun /path/to/claude-code-source/dist/cli.js"`),分别使用 `claude` 和 `claude-dev` 命令。

6. 补充说明或实现特点

项目在实现上具有多个技术亮点:构建系统使用 Bun bundler 并通过自定义 plugin 处理特性开关,将 90+ 个 feature flag 替换为编译期常量实现死代码消除;通过 define 注入 MACRO.VERSION、MACRO.BUILD_TIME 等编译期常量;支持将 .md 和 .txt 文件作为字符串导入;自动排除 .node 原生模块和可选云 SDK 为 external。源码组织上,约 1902 个文件采用模块化设计,核心包括 CLI 入口、主 REPL、工具系统、任务管理、查询引擎、助手会话、IDE 桥接、斜杠命令等。命令模块普遍采用懒加载策略优化启动性能,并通过特性标志和条件函数控制启用与可见性。vendor/ 目录包含 4 个原生模块的 TypeScript 加载层,因缺少对应二进制文件而自动降级,不影响核心功能。

思维导图

Claude Code Source
构建系统
构建脚本
Bun 配置
TypeScript 配置
核心源码 (src/)
入口点
核心模块
功能子系统
其他模块
原生模块加载层 (vendor/)
modifiers-napi-src
url-handler-src
audio-capture-src
image-processor-src
构建脚本 (scripts/)
postinstall.js
依赖与配置
package.json
bun.lock

常见问题

为什么需要这个项目?官方版不是已经可用了吗?

官方版是预编译包,无法查看源码或进行深度定制。本项目还原完整 TypeScript 源码,支持本地编译、调试和修改,便于二次开发或研究内部机制。同时支持与官方版共存,共享认证配置。

安装需要什么环境?构建过程复杂吗?

需要 Bun (>=1.3.5) 和 Node.js (>=18)。安装只需三步:bun install(自动配置依赖和补丁)、bun run build(编译)、bun dist/cli.js(运行)。整个过程自动化,无需手动干预。

如何与官方 claude 命令共存?

两者共享 ~/.claude/ 目录下的认证和配置。在 shell 配置中添加别名(如 alias claude-dev="bun /path/to/claude-code-source/dist/cli.js"),即可用 claude 调用官方版,claude-dev 调用源码版。

源码版和官方版功能完全一致吗?

核心 AI 功能完全一致,共享同一套 Anthropic API。但部分依赖 Anthropic 内部原生模块的特性(如 macOS 修饰键检测、沙箱执行)在源码版中会自动降级为存根实现,不影响主要使用。

支持哪些云服务提供商?

项目依赖中包含 AWS Bedrock、Azure、Google Vertex 和 Anthropic Foundry 的 SDK,但构建时这些可选云 SDK 被标记为 external 不打包。实际支持取决于运行时环境是否安装相应依赖。