Skip to content

steFaiz/Claude-Code

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code 源码还原

npm version TypeScript Bun License

从 source map 还原并可本地运行的 Claude Code CLI 完整 TypeScript 源码。

Claude Code CLI

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 等)

工具系统(53 个工具)

类别 工具
文件 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、事件日志

UI 架构

基于 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 所有
  • 仅用于技术研究与学习,请勿用于商业用途
  • 如有侵权,请联系删除

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 100.0%