嘉陵江-code — 终端 AI 编程助手,支持 22+ 大模型厂商,默认本地 Ollama 零配置启动
Go to file
2026-03-31 22:21:35 +08:00
packages feat: 完成大部分操作 2026-03-31 21:40:37 +08:00
scripts feat: 完成stub 2026-03-31 20:40:16 +08:00
src feat: 大规模清理 claude 的类型问题及依赖 2026-03-31 22:21:35 +08:00
.gitignore feat: 补全依赖 2026-03-31 19:35:33 +08:00
bun.lock feat: monorepo 构建完成 2026-03-31 21:21:46 +08:00
CLAUDE.md feat: 大规模清理 claude 的类型问题及依赖 2026-03-31 22:21:35 +08:00
package.json feat: 大规模清理 claude 的类型问题及依赖 2026-03-31 22:21:35 +08:00
README.md feat: 完成大部分操作 2026-03-31 21:40:37 +08:00
RECORD.md feat: 完成大部分操作 2026-03-31 21:40:37 +08:00
tsconfig.json feat: 调整依赖 2026-03-31 20:05:39 +08:00

Claude Code (Reverse-Engineered)

Anthropic 官方 Claude Code CLI 工具的源码反编译/逆向还原项目。目标是将 Claude Code 核心功能跑通,必要时删减次级能力。

核心能力

  • API 通信Anthropic SDK / Bedrock / Vertex
  • Bash / FileRead / FileWrite / FileEdit 等核心工具
  • REPL 交互界面ink 终端渲染)
  • 对话历史与会话管理
  • 权限系统
  • Agent / 子代理系统

已删减模块

模块 处理方式
Computer Use (@ant/computer-use-*) stub
Claude for Chrome MCP stub
Magic Docs / Voice Mode / LSP Server 移除
Analytics / GrowthBook / Sentry 空实现
Plugins / Marketplace / Desktop Upsell 移除
Ultraplan / Tungsten / Auto Dream 移除
MCP OAuth/IDP 简化
DAEMON / BRIDGE / BG_SESSIONS / TEMPLATES 等 feature flag 关闭

快速开始

环境要求

  • Bun >= 1.0
  • Node.js >= 18部分依赖需要
  • 有效的 Anthropic API Key或 Bedrock / Vertex 凭据)

安装

bun install

运行

# 开发模式watch
bun run dev

# 直接运行
bun run src/entrypoints/cli.tsx

# 管道模式(-p
echo "say hello" | bun run src/entrypoints/cli.tsx -p

# 构建
bun run build

构建产物输出到 dist/cli.js~25 MB5300+ 模块)。

项目结构

claude-code/
├── src/
│   ├── entrypoints/
│   │   ├── cli.tsx          # 入口文件(含 MACRO/feature polyfill
│   │   └── sdk/             # SDK 子模块 stub
│   ├── main.tsx             # 主 CLI 逻辑Commander 定义)
│   └── types/
│       ├── global.d.ts      # 全局变量/宏声明
│       └── internal-modules.d.ts  # 内部 npm 包类型声明
├── packages/                # Monorepo workspace 包
│   ├── color-diff-napi/     # 完整实现(终端 color diff
│   ├── modifiers-napi/      # stubmacOS 修饰键检测)
│   ├── audio-capture-napi/  # stub
│   ├── image-processor-napi/# stub
│   ├── url-handler-napi/    # stub
│   └── @ant/               # Anthropic 内部包 stub
│       ├── claude-for-chrome-mcp/
│       ├── computer-use-mcp/
│       ├── computer-use-input/
│       └── computer-use-swift/
├── scripts/                 # 自动化 stub 生成脚本
├── dist/                    # 构建输出
└── package.json             # Bun workspaces monorepo 配置

技术说明

运行时 Polyfill

入口文件 src/entrypoints/cli.tsx 顶部注入了必要的 polyfill

  • feature() — 所有 feature flag 返回 false,跳过未实现分支
  • globalThis.MACRO — 模拟构建时宏注入VERSION 等)

类型状态

仍有 ~1341 个 tsc 错误,均为反编译产生的源码级类型问题(unknown / never / {}不影响 Bun 运行时

Monorepo

项目采用 Bun workspaces 管理内部包。原先手工放在 node_modules/ 下的 stub 已统一迁入 packages/,通过 workspace:* 解析。

许可证

本项目仅供学习研究用途。Claude Code 的所有权利归 Anthropic 所有。