mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
在 README(中文/英文)赞助与合作区块之后追加打赏入口,同时内置微信赞赏码、支付宝收款码和 Buy Me a Coffee 入口,降低个人用户支持门槛。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
247 lines
10 KiB
Markdown
247 lines
10 KiB
Markdown
# Claude Code Haha
|
|
|
|
<p align="center">
|
|
<img src="docs/images/logo-horizontal.jpg" alt="Claude Code Haha" width="480">
|
|
</p>
|
|
|
|
<div align="center">
|
|
|
|
[](https://github.com/NanmiCoder/cc-haha/stargazers)
|
|
[](https://github.com/NanmiCoder/cc-haha/network/members)
|
|
[](https://github.com/NanmiCoder/cc-haha/issues)
|
|
[](https://github.com/NanmiCoder/cc-haha/pulls)
|
|
[](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE)
|
|
[](README.md)
|
|
[](README.en.md)
|
|
[](https://claudecode-haha.relakkesyang.org)
|
|
|
|
</div>
|
|
|
|
A **locally runnable version** repaired from the leaked Claude Code source, with support for any Anthropic-compatible API endpoint (MiniMax, OpenRouter, etc.). Beyond the full TUI, we've also completed Computer Use (macOS / Windows), built a GUI **desktop app**, and enabled **full remote control** via Telegram / Feishu.
|
|
|
|
<p align="center">
|
|
<a href="#features">Features</a> · <a href="#desktop-preview">Desktop</a> · <a href="#architecture-overview">Architecture</a> · <a href="#quick-start">Quick Start</a> · <a href="docs/en/guide/env-vars.md">Env Vars</a> · <a href="docs/en/guide/faq.md">FAQ</a> · <a href="docs/en/guide/global-usage.md">Global Usage</a> · <a href="#more-documentation">More Docs</a>
|
|
</p>
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
- Full Ink TUI experience (matching the official Claude Code interface)
|
|
- `--print` headless mode for scripts and CI
|
|
- MCP server, plugin, and Skills support
|
|
- Custom API endpoint and model support ([Third-Party Models Guide](docs/en/guide/third-party-models.md))
|
|
- **Memory System** (cross-session persistent memory) — [Usage Guide](docs/memory/01-usage-guide.md)
|
|
- **Multi-Agent System** (agent orchestration, parallel tasks, Teams collaboration) — [Usage Guide](docs/agent/01-usage-guide.md) | [Implementation](docs/agent/02-implementation.md)
|
|
- **Skills System** (extensible capability plugins, custom workflows) — [Usage Guide](docs/skills/01-usage-guide.md) | [Implementation](docs/skills/02-implementation.md)
|
|
- **Channel System** (remote Agent control via Telegram/Feishu/Discord IM platforms) — [Architecture](docs/en/channel/01-channel-system.md)
|
|
- **Computer Use desktop control** — [Guide](docs/en/features/computer-use.md) | [Architecture](docs/en/features/computer-use-architecture.md)
|
|
- **Desktop App** (Tauri 2 + React GUI client, multi-tab multi-session) — [Docs](docs/desktop/)
|
|
- Fallback Recovery CLI mode (`CLAUDE_CODE_FORCE_RECOVERY_CLI=1 ./bin/claude-haha`)
|
|
|
|
---
|
|
|
|
## Architecture Overview
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="center" width="25%"><img src="docs/images/01-overall-architecture.png" alt="Overall architecture"><br><b>Overall architecture</b></td>
|
|
<td align="center" width="25%"><img src="docs/images/02-request-lifecycle.png" alt="Request lifecycle"><br><b>Request lifecycle</b></td>
|
|
<td align="center" width="25%"><img src="docs/images/03-tool-system.png" alt="Tool system"><br><b>Tool system</b></td>
|
|
<td align="center" width="25%"><img src="docs/images/04-multi-agent.png" alt="Multi-agent architecture"><br><b>Multi-agent architecture</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" width="25%"><img src="docs/images/05-terminal-ui.png" alt="Terminal UI"><br><b>Terminal UI</b></td>
|
|
<td align="center" width="25%"><img src="docs/images/06-permission-security.png" alt="Permissions and security"><br><b>Permissions and security</b></td>
|
|
<td align="center" width="25%"><img src="docs/images/07-services-layer.png" alt="Services layer"><br><b>Services layer</b></td>
|
|
<td align="center" width="25%"><img src="docs/images/08-state-data-flow.png" alt="State and data flow"><br><b>State and data flow</b></td>
|
|
</tr>
|
|
</table>
|
|
|
|
---
|
|
|
|
## Desktop Preview
|
|
|
|
<p align="center">
|
|
<a href="https://github.com/NanmiCoder/cc-haha/releases"><img src="https://img.shields.io/badge/⬇_Download_Desktop-macOS_%7C_Windows-D97757?style=for-the-badge" alt="Download Desktop"></a>
|
|
|
|
<a href="docs/desktop/04-installation.md"><img src="https://img.shields.io/badge/📖_Install_Guide-Guide-gray?style=for-the-badge" alt="Install Guide"></a>
|
|
</p>
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="center" width="33%"><img src="docs/images/desktop_ui/01_full_ui.png" alt="Main UI"><br><b>Main Interface</b></td>
|
|
<td align="center" width="33%"><img src="docs/images/desktop_ui/02_edit_code.png" alt="Code Editing"><br><b>Code Editing & Diff View</b></td>
|
|
<td align="center" width="33%"><img src="docs/images/desktop_ui/03_ask_question_and_permission.png" alt="Permission Control"><br><b>Permission Control & AI Questions</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center" width="33%"><img src="docs/images/desktop_ui/05_settings.png" alt="Provider Settings"><br><b>Multi-Provider Management</b></td>
|
|
<td align="center" width="33%"><img src="docs/images/desktop_ui/08_scheduled_task.png" alt="Scheduled Tasks"><br><b>Scheduled Tasks</b></td>
|
|
<td align="center" width="33%"><img src="docs/images/desktop_ui/07_im.png" alt="IM Adapters"><br><b>IM Adapters (Telegram / Feishu)</b></td>
|
|
</tr>
|
|
</table>
|
|
|
|
---
|
|
|
|
## Quick Start
|
|
|
|
### 1. Install Bun
|
|
|
|
```bash
|
|
# macOS / Linux
|
|
curl -fsSL https://bun.sh/install | bash
|
|
|
|
# macOS (Homebrew)
|
|
brew install bun
|
|
|
|
# Windows (PowerShell)
|
|
powershell -c "irm bun.sh/install.ps1 | iex"
|
|
```
|
|
|
|
> On minimal Linux images, if you see `unzip is required`, run `apt update && apt install -y unzip` first.
|
|
|
|
### 2. Install Dependencies and Configure
|
|
|
|
```bash
|
|
bun install
|
|
cp .env.example .env
|
|
# Edit .env with your API key — see docs/en/guide/env-vars.md for details
|
|
```
|
|
|
|
### 3. Start
|
|
|
|
#### macOS / Linux
|
|
|
|
```bash
|
|
./bin/claude-haha # Interactive TUI mode
|
|
./bin/claude-haha -p "your prompt here" # Headless mode
|
|
./bin/claude-haha --help # Show all options
|
|
```
|
|
|
|
#### Windows
|
|
|
|
> **Prerequisite**: [Git for Windows](https://git-scm.com/download/win) must be installed.
|
|
|
|
```powershell
|
|
# PowerShell / cmd — call Bun directly
|
|
bun --env-file=.env ./src/entrypoints/cli.tsx
|
|
|
|
# Or run inside Git Bash
|
|
./bin/claude-haha
|
|
```
|
|
|
|
### 4. Global Usage (Optional)
|
|
|
|
Add `bin/` to your PATH to run from any directory. See [Global Usage Guide](docs/en/guide/global-usage.md):
|
|
|
|
```bash
|
|
export PATH="$HOME/path/to/claude-code-haha/bin:$PATH"
|
|
```
|
|
|
|
### 5. Desktop Development
|
|
|
|
If you are developing or testing the `desktop/` frontend, start both the API server and the desktop frontend.
|
|
|
|
#### 5.1 Start the API server
|
|
|
|
```bash
|
|
cd /Users/nanmi/workspace/myself_code/claude-code-haha
|
|
SERVER_PORT=3456 bun run src/server/index.ts
|
|
```
|
|
|
|
Optional health check:
|
|
|
|
```bash
|
|
curl http://127.0.0.1:3456/health
|
|
```
|
|
|
|
#### 5.2 Start the desktop frontend
|
|
|
|
```bash
|
|
cd /Users/nanmi/workspace/myself_code/claude-code-haha/desktop
|
|
bun run dev --host 127.0.0.1 --port 2024
|
|
```
|
|
|
|
Then open:
|
|
|
|
```text
|
|
http://127.0.0.1:2024
|
|
```
|
|
|
|
#### 5.3 Notes
|
|
|
|
- If port `3456` is already occupied by an old server process, run `lsof -nP -iTCP:3456 -sTCP:LISTEN`, find the PID, then `kill <PID>`.
|
|
- For chat testing, create a fresh session and re-select a real working directory.
|
|
- If an old session points to a deleted directory, the server will return `Working directory does not exist`. That is separate from whether the API server is running.
|
|
|
|
---
|
|
|
|
## Tech Stack
|
|
|
|
| Category | Technology |
|
|
|------|------|
|
|
| Runtime | [Bun](https://bun.sh) |
|
|
| Language | TypeScript |
|
|
| Terminal UI | React + [Ink](https://github.com/vadimdemedes/ink) |
|
|
| CLI parsing | Commander.js |
|
|
| API | Anthropic SDK |
|
|
| Protocols | MCP, LSP |
|
|
|
|
---
|
|
|
|
## More Documentation
|
|
|
|
| Document | Description |
|
|
|------|------|
|
|
| [Environment Variables](docs/en/guide/env-vars.md) | Full env var reference and configuration methods |
|
|
| [Third-Party Models](docs/en/guide/third-party-models.md) | Using OpenAI / DeepSeek / Ollama and other non-Anthropic models |
|
|
| [Memory System](docs/memory/01-usage-guide.md) | Cross-session persistent memory usage and implementation |
|
|
| [Multi-Agent System](docs/agent/01-usage-guide.md) | Agent orchestration, parallel tasks and Teams collaboration |
|
|
| [Skills System](docs/skills/01-usage-guide.md) | Extensible capability plugins, custom workflows and conditional activation |
|
|
| [Channel System](docs/en/channel/01-channel-system.md) | Remote Agent control via Telegram/Feishu/Discord IM platforms |
|
|
| [Computer Use](docs/en/features/computer-use.md) | Desktop control (screenshots, mouse, keyboard) — [Architecture](docs/en/features/computer-use-architecture.md) |
|
|
| [Desktop App](docs/desktop/) | Tauri 2 + React GUI client — [Quick Start](docs/desktop/01-quick-start.md) \| [Architecture](docs/desktop/02-architecture.md) \| [Installation](docs/desktop/04-installation.md) |
|
|
| [Global Usage](docs/en/guide/global-usage.md) | Run claude-haha from any directory |
|
|
| [FAQ](docs/en/guide/faq.md) | Common error troubleshooting |
|
|
| [Source Fixes](docs/en/reference/fixes.md) | Fixes compared with the original leaked source |
|
|
| [Project Structure](docs/en/reference/project-structure.md) | Code directory structure |
|
|
|
|
---
|
|
|
|
## Sponsorship & Partnership
|
|
|
|
This project is maintained in the author's spare time. Corporate or individual sponsorships are welcome to support ongoing development. Custom features, integrations, and business partnerships are also open for discussion.
|
|
|
|
📧 **Contact**: relakkes@gmail.com
|
|
|
|
---
|
|
|
|
## ☕ Buy Me a Coffee
|
|
|
|
If this project helps you, consider buying me a coffee — every bit of support keeps this project going ❤️
|
|
|
|
<table>
|
|
<tr>
|
|
<td align="center" width="33%">
|
|
<img src="docs/images/donate/wechat_pay.jpeg" width="250" alt="WeChat Pay"><br>
|
|
<b>WeChat Pay</b>
|
|
</td>
|
|
<td align="center" width="33%">
|
|
<img src="docs/images/donate/zfb_pay.png" width="250" alt="Alipay"><br>
|
|
<b>Alipay</b>
|
|
</td>
|
|
<td align="center" width="33%">
|
|
<a href="https://buymeacoffee.com/relakkes" target="_blank">
|
|
<img src="docs/images/donate/bmc_button.png" width="250" alt="Buy Me a Coffee">
|
|
</a><br>
|
|
<b>Buy Me a Coffee</b>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
---
|
|
|
|
## Disclaimer
|
|
|
|
This repository is based on the Claude Code source leaked from the Anthropic npm registry on 2026-03-31. All original source code copyrights belong to [Anthropic](https://www.anthropic.com). It is provided for learning and research purposes only.
|