Skip to content

HildaM/claude-code-haha

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Haha

基于 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 >= 1.1 和 Node.js >= 18。

npm install

2. 配置环境变量

复制示例文件并填入你的 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

3. 启动

# 交互 TUI 模式(完整界面)
./bin/claude-haha

# 无头模式(单次问答)
./bin/claude-haha -p "your prompt here"

# 管道输入
echo "explain this code" | ./bin/claude-haha -p

# 查看所有选项
./bin/claude-haha --help

环境变量说明

变量 必填 说明
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%