Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

wangsenxian/claude-code-haha

Repository files navigation

Claude Code Haha

中文 | English

基于 Claude Code 泄露源码修复的本地可运行版本,支持接入任意 Anthropic 兼容 API(如 MiniMax、OpenRouter 等)。

原始泄露源码无法直接运行。本仓库修复了启动链路中的多个阻塞问题,使完整的 Ink TUI 交互界面可以在本地工作。

运行截图

功能

  • 完整的 Ink TUI 交互界面(与官方 Claude Code 一致)
  • --print 无头模式(脚本/CI 场景)
  • 支持 MCP 服务器、插件、Skills
  • 支持自定义 API 端点和模型
  • 降级 Recovery CLI 模式

架构概览

整体架构
整体架构 请求生命周期
请求生命周期 工具系统
工具系统 多 Agent 架构
多 Agent 架构
终端 UI
终端 UI 权限与安全
权限与安全 服务层
服务层 状态与数据流
状态与数据流

快速开始

1. 安装 Bun

本项目运行依赖 Bun。如果你的电脑还没有安装 Bun,可以先执行下面任一方式:

# macOS / Linux(官方安装脚本)
curl -fsSL https://bun.sh/install | bash

如果在精简版 Linux 环境里提示 unzip is required to install bun,先安装 unzip:

# Ubuntu / Debian
apt update && apt install -y unzip
# macOS(Homebrew)
brew install bun
# Windows(PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"

安装完成后,重新打开终端并确认:

bun --version

2. 安装项目依赖

bun install

3. 配置环境变量

复制示例文件并填入你的 API Key:

cp .env.example .env

编辑 .env:

# API 认证(二选一)
ANTHROPIC_API_KEY=sk-xxx # 标准 API Key(x-api-key 头)
ANTHROPIC_AUTH_TOKEN=sk-xxx # Bearer Token(Authorization 头)
# API 端点(可选,默认 Anthropic 官方)
ANTHROPIC_BASE_URL=https://api.minimaxi.com/anthropic
# 模型配置
ANTHROPIC_MODEL=MiniMax-M2.7-highspeed
ANTHROPIC_DEFAULT_SONNET_MODEL=MiniMax-M2.7-highspeed
ANTHROPIC_DEFAULT_HAIKU_MODEL=MiniMax-M2.7-highspeed
ANTHROPIC_DEFAULT_OPUS_MODEL=MiniMax-M2.7-highspeed
# 超时(毫秒)
API_TIMEOUT_MS=3000000
# 禁用遥测和非必要网络请求
DISABLE_TELEMETRY=1
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

4. 启动

macOS / Linux

# 交互 TUI 模式(完整界面)
./bin/claude-haha
# 无头模式(单次问答)
./bin/claude-haha -p "your prompt here"
# 管道输入
echo "explain this code" | ./bin/claude-haha -p
# 查看所有选项
./bin/claude-haha --help

Windows

前置要求:必须安装 Git for Windows(提供 Git Bash,项目内部 Shell 执行依赖它)。

Windows 下启动脚本 bin/claude-haha 是 bash 脚本,无法在 cmd / PowerShell 中直接运行。请使用以下方式:

方式一:PowerShell / cmd 直接调用 Bun(推荐)

# 交互 TUI 模式
bun --env-file=.env ./src/entrypoints/cli.tsx
# 无头模式
bun --env-file=.env ./src/entrypoints/cli.tsx -p "your prompt here"
# 降级 Recovery CLI
bun --env-file=.env ./src/localRecoveryCli.ts

方式二:Git Bash 中运行

# 在 Git Bash 终端中,与 macOS/Linux 用法一致
./bin/claude-haha

注意:部分功能(语音输入、Computer Use、Sandbox 隔离等)在 Windows 上不可用,不影响核心 TUI 交互。


环境变量说明

变量 必填 说明
ANTHROPIC_API_KEY 二选一 API Key,通过 x-api-key 头发送
ANTHROPIC_AUTH_TOKEN 二选一 Auth Token,通过 Authorization: Bearer 头发送
ANTHROPIC_BASE_URL 自定义 API 端点,默认 Anthropic 官方
ANTHROPIC_MODEL 默认模型
ANTHROPIC_DEFAULT_SONNET_MODEL Sonnet 级别模型映射
ANTHROPIC_DEFAULT_HAIKU_MODEL Haiku 级别模型映射
ANTHROPIC_DEFAULT_OPUS_MODEL Opus 级别模型映射
API_TIMEOUT_MS API 请求超时,默认 600000 (10min)
DISABLE_TELEMETRY 设为 1 禁用遥测
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 设为 1 禁用非必要网络请求

降级模式

如果完整 TUI 出现问题,可以使用简化版 readline 交互模式:

CLAUDE_CODE_FORCE_RECOVERY_CLI=1 ./bin/claude-haha

相对于原始泄露源码的修复

泄露的源码无法直接运行,主要修复了以下问题:

问题 根因 修复
TUI 不启动 入口脚本把无参数启动路由到了 recovery CLI 恢复走 cli.tsx 完整入口
启动卡死 verify skill 导入缺失的 .md 文件,Bun text loader 无限挂起 创建 stub .md 文件
--print 卡死 filePersistence/types.ts 缺失 创建类型桩文件
--print 卡死 ultraplan/prompt.txt 缺失 创建资源桩文件
Enter 键无响应 modifiers-napi native 包缺失,isModifierPressed() 抛异常导致 handleEnter 中断,onSubmit 永远不执行 加 try-catch 容错
setup 被跳过 preload.ts 自动设置 LOCAL_RECOVERY=1 跳过全部初始化 移除默认设置

项目结构

bin/claude-haha # 入口脚本
preload.ts # Bun preload(设置 MACRO 全局变量)
.env.example # 环境变量模板
src/
├── entrypoints/cli.tsx # CLI 主入口
├── main.tsx # TUI 主逻辑(Commander.js + React/Ink)
├── localRecoveryCli.ts # 降级 Recovery CLI
├── setup.ts # 启动初始化
├── screens/REPL.tsx # 交互 REPL 界面
├── ink/ # Ink 终端渲染引擎
├── components/ # UI 组件
├── tools/ # Agent 工具(Bash, Edit, Grep 等)
├── commands/ # 斜杠命令(/commit, /review 等)
├── skills/ # Skill 系统
├── services/ # 服务层(API, MCP, OAuth 等)
├── hooks/ # React hooks
└── utils/ # 工具函数

技术栈

类别 技术
运行时 Bun
语言 TypeScript
终端 UI React + Ink
CLI 解析 Commander.js
API Anthropic SDK
协议 MCP, LSP

Disclaimer

本仓库基于 2026年03月31日 从 Anthropic npm registry 泄露的 Claude Code 源码。所有原始源码版权归 Anthropic 所有。仅供学习和研究用途。

About

Claude Code leaked source - locally runnable version

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • TypeScript 100.0%

AltStyle によって変換されたページ (->オリジナル) /