从 source map 还原并可本地运行的 Claude Code CLI 完整 TypeScript 源码。
Warning
本仓库为非官方版本,基于公开 npm 发布包 source map 还原,仅供研究学习,不代表 Anthropic 内部开发仓库结构。部分模块已用兼容 shim 替代。
bun install # 安装依赖
bun run dev # 启动 CLI(交互式)
bun run version # 验证版本号要求:Bun ≥ 1.3.5、Node.js ≥ 24
.
├── src/ # 核心源码(1,987 个 TS/TSX 文件)
│ ├── entrypoints/ # CLI 入口
│ ├── main.tsx # 主初始化(auth / MCP / settings)
│ ├── dev-entry.ts # 开发入口
│ │
│ ├── tools/ # 工具实现(53 个)
│ ├── commands/ # 斜杠命令(87 个)
│ ├── services/ # 后端服务(API / MCP / analytics)
│ ├── utils/ # 工具函数(git / permissions / model)
│ │
│ ├── components/ # 终端 UI 组件(React + Ink)
│ ├── hooks/ # 自定义 React Hooks
│ ├── ink/ # Ink 终端渲染器(自定义分支)
│ ├── vim/ # Vim 模式引擎
│ ├── keybindings/ # 快捷键
│ │
│ ├── coordinator/ # 多 Agent 协调
│ ├── bridge/ # 远程桥接控制
│ ├── remote/ # 远程会话
│ ├── server/ # IDE 直连服务器
│ ├── skills/ # 技能系统
│ ├── plugins/ # 插件系统
│ ├── voice/ # 语音交互
│ ├── buddy/ # 伴侣精灵
│ └── assistant/ # KAIROS 助手模式
│
├── shims/ # 原生模块兼容替代
├── vendor/ # 原生绑定源码
├── package.json
├── tsconfig.json
└── bun.lock
cli.tsx → main.tsx → REPL (React/Ink)
│ │
│ └─ 完整初始化:认证 → GrowthBook → MCP → Settings → Commander.js
└─ 快速路径:--version / daemon / ps / logs
| 模块 | 说明 |
|---|---|
query.ts |
流式 API 调用、工具执行循环、自动压缩、消息规范化 |
QueryEngine.ts |
会话生命周期、持久化、权限、SDK 集成 |
commands.ts |
斜杠命令注册(/commit /review /config /compact /memory /plan 等) |
| 类别 | 工具 |
|---|---|
| 文件 | FileRead FileWrite FileEdit Glob Grep |
| 执行 | Bash REPL PowerShell NotebookEdit |
| 网络 | WebFetch WebSearch WebBrowser |
| Agent | Agent SendMessage TeamCreate TeamDelete |
| 任务 | TaskCreate TaskGet TaskList TaskUpdate TaskStop |
| MCP | MCP McpAuth ListMcpResources ReadMcpResource |
| 工作流 | EnterPlanMode ExitPlanMode EnterWorktree ExitWorktree |
| 其他 | Skill Config ScheduleCron Monitor Workflow AskUserQuestion |
| 服务 | 职责 |
|---|---|
services/api/ |
Anthropic API 客户端、重试、速率限制、用量追踪 |
services/mcp/ |
MCP 协议客户端/服务端、OAuth、通道管理 |
services/compact/ |
会话自动压缩策略 |
services/analytics/ |
GrowthBook 特性开关、Datadog、事件日志 |
基于 React + Ink 的终端 UI:
ink/— 自定义 Ink 分支(布局 / 焦点 / ANSI / 虚拟滚动 / 点击检测)components/(148 文件)— 消息、输入、diff、权限对话框、状态栏hooks/(87 文件)— 工具 / 语音 / IDE / vim / 会话 / 任务vim/— 完整 Vim 键绑定引擎(动作、操作符、文本对象)
Source map 无法 100% 还原原始仓库,以下内容可能缺失或降级:
| 类型 | 说明 |
|---|---|
| 纯类型文件 | type-only .d.ts 文件可能缺失 |
| 构建产物 | 构建时生成的代码不在 source map 中 |
| 原生绑定 | 私有 native 模块用 shims/ 替代 |
| 动态资源 | 动态导入和资源文件可能不完整 |
- 源码版权归 Anthropic 所有
- 仅用于技术研究与学习,请勿用于商业用途
- 如有侵权,请联系删除
