diff --git a/README.en.md b/README.en.md index e1a76c06..ed2497db 100644 --- a/README.en.md +++ b/README.en.md @@ -1,9 +1,5 @@ # Claude Code Haha -

- Claude Code Haha -

-

Claude Code Haha

@@ -21,12 +17,10 @@ -A **locally runnable version** repaired from the leaked Claude Code source, with support for any Anthropic-compatible API endpoint such as MiniMax and OpenRouter. - -> The original leaked source does not run as-is. This repository fixes multiple blocking issues in the startup path so the full Ink TUI can work locally. +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.

- Features · Architecture · Quick Start · Env Vars · FAQ · Global Usage · More Docs + Features · Desktop · Architecture · Quick Start · Env Vars · FAQ · Global Usage · More Docs

--- @@ -42,6 +36,7 @@ A **locally runnable version** repaired from the leaked Claude Code source, with - **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`) --- @@ -65,6 +60,29 @@ A **locally runnable version** repaired from the leaked Claude Code source, with --- +## Desktop Preview + +

+ Download Desktop +   + Install Guide +

+ + + + + + + + + + + + +
Main UI
Main Interface
Code Editing
Code Editing & Diff View
Permission Control
Permission Control & AI Questions
Provider Settings
Multi-Provider Management
Scheduled Tasks
Scheduled Tasks
IM Adapters
IM Adapters (Telegram / Feishu)
+ +--- + ## Quick Start ### 1. Install Bun @@ -182,6 +200,7 @@ http://127.0.0.1:2024 | [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 | @@ -189,6 +208,14 @@ http://127.0.0.1:2024 --- +## 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 + +--- + ## 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. diff --git a/README.md b/README.md index e259025a..469f80e5 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,5 @@ # Claude Code Haha -

- Claude Code Haha -

-

Claude Code Haha

@@ -21,12 +17,10 @@ -基于 Claude Code 泄露源码修复的**本地可运行版本**,支持接入任意 Anthropic 兼容 API(如 MiniMax、OpenRouter 等)。 - -> 原始泄露源码无法直接运行。本仓库修复了启动链路中的多个阻塞问题,使完整的 Ink TUI 交互界面可以在本地工作。 +基于 Claude Code 泄露源码修复的**本地可运行版本**,支持接入任意 Anthropic 兼容 API(MiniMax、OpenRouter 等)。在完整 TUI 之外,还补全了 Computer Use(macOS / Windows)、打造了图形化**桌面端**,并支持通过 Telegram / 飞书**完整远程驱动**。

- 功能 · 架构概览 · 快速开始 · 环境变量 · FAQ · 全局使用 · 更多文档 + 功能 · 桌面端 · 架构概览 · 快速开始 · 环境变量 · FAQ · 全局使用 · 更多文档

--- @@ -42,6 +36,7 @@ - **Skills 系统**(可扩展能力插件、自定义工作流)— [使用指南](docs/skills/01-usage-guide.md) | [实现原理](docs/skills/02-implementation.md) - **Channel 系统**(通过 Telegram/飞书/Discord 等 IM 远程控制 Agent)— [架构解析](docs/channel/01-channel-system.md) - **Computer Use 桌面控制** — [功能指南](docs/features/computer-use.md) | [架构解析](docs/features/computer-use-architecture.md) +- **桌面端**(Tauri 2 + React 图形化客户端,多标签多会话)— [文档](docs/desktop/) - 降级 Recovery CLI 模式(`CLAUDE_CODE_FORCE_RECOVERY_CLI=1 ./bin/claude-haha`) --- @@ -65,6 +60,29 @@ --- +## 桌面端预览 + +

+ 下载桌面端 +   + 安装指南 +

+ + + + + + + + + + + + +
主界面
主界面
代码编辑
代码编辑 & Diff 视图
权限控制
权限控制 & AI 提问
提供商设置
多提供商管理
定时任务
定时任务
IM 适配器
IM 适配器(Telegram / 飞书)
+ +--- + ## 快速开始 ### 1. 安装 Bun @@ -182,6 +200,7 @@ http://127.0.0.1:2024 | [Skills 系统](docs/skills/01-usage-guide.md) | 可扩展能力插件、自定义工作流与条件激活 | | [Channel 系统](docs/channel/01-channel-system.md) | 通过 Telegram/飞书/Discord 等 IM 平台远程控制 Agent | | [Computer Use](docs/features/computer-use.md) | 桌面控制功能(截屏、鼠标、键盘)— [架构解析](docs/features/computer-use-architecture.md) | +| [桌面端](docs/desktop/) | Tauri 2 + React 图形化客户端 — [快速上手](docs/desktop/01-quick-start.md) \| [架构设计](docs/desktop/02-architecture.md) \| [安装指南](docs/desktop/04-installation.md) | | [全局使用](docs/guide/global-usage.md) | 在任意目录启动 claude-haha | | [常见问题](docs/guide/faq.md) | 常见错误排查 | | [源码修复记录](docs/reference/fixes.md) | 相对于原始泄露源码的修复内容 | @@ -189,6 +208,14 @@ http://127.0.0.1:2024 --- +## 赞助与合作 + +本项目由个人利用业余时间维护,欢迎企业或个人赞助支持持续开发,也可洽谈定制、集成或商务合作。 + +📧 **联系邮箱**:relakkes@gmail.com + +--- + ## Disclaimer 本仓库基于 2026-03-31 从 Anthropic npm registry 泄露的 Claude Code 源码。所有原始源码版权归 [Anthropic](https://www.anthropic.com) 所有。仅供学习和研究用途。 diff --git a/docs/features/computer-use.md b/docs/features/computer-use.md index 7b40c285..23bc682b 100644 --- a/docs/features/computer-use.md +++ b/docs/features/computer-use.md @@ -1,7 +1,7 @@ # Computer Use 功能指南 -> **魔改说明**:本功能是基于 Claude Code 泄露源码中的 Computer Use(内部代号 "Chicago")进行的**深度改造版本**。官方实现依赖 Anthropic 内部私有原生模块(`@ant/computer-use-swift`、`@ant/computer-use-input`),无法公开获取。我们**替换了整个底层操作层**,使用 Python bridge(`pyautogui` + `mss` + `pyobjc`)实现所有系统交互,使得任何人都可以在 macOS 上运行 Computer Use 功能。 +> **魔改说明**:本功能是基于 Claude Code 泄露源码中的 Computer Use(内部代号 "Chicago")进行的**深度改造版本**。官方实现依赖 Anthropic 内部私有原生模块(`@ant/computer-use-swift`、`@ant/computer-use-input`),无法公开获取。我们**替换了整个底层操作层**,使用 Python bridge 实现所有系统交互——macOS 使用 `pyautogui` + `mss` + `pyobjc`,Windows 使用 `pyautogui` + `mss` + `win32gui` + `psutil`,使得任何人都可以在 macOS 和 Windows 上运行 Computer Use 功能。 --- @@ -45,14 +45,15 @@ Computer Use 让 AI 模型能够**直接控制你的电脑**——截屏、移 |------|------|------|------| | macOS | Apple Silicon (M1/M2/M3/M4) | ✅ 完整支持 | 推荐平台 | | macOS | Intel x86_64 | ✅ 完整支持 | | -| Windows | 任意 | ⚠️ 理论可行 | `pyautogui` + `mss` 跨平台,但 `pyobjc` 部分(应用管理)需替换为 `win32com`,当前未适配 | -| Linux | 任意 | ⚠️ 理论可行 | 同上,需替换 `pyobjc` 为 `wmctrl` + `xdotool`,当前未适配 | +| Windows | x64 | ✅ 完整支持 | 使用 `win32gui` + `psutil` + `pyperclip` + `screeninfo` 替代 macOS 专有 API | +| Linux | 任意 | ⚠️ 理论可行 | 需替换平台专有部分为 `wmctrl` + `xdotool`,当前未适配 | ### 运行环境要求 - [Bun](https://bun.sh) >= 1.1.0 - Python >= 3.8(首次运行自动创建 venv 并安装依赖) -- macOS 系统权限:Accessibility(辅助功能)+ Screen Recording(屏幕录制) +- **macOS**:系统权限 Accessibility(辅助功能)+ Screen Recording(屏幕录制) +- **Windows**:无需额外权限配置 --- @@ -86,11 +87,13 @@ Computer Use 的核心是一个**截图-分析-操作**的闭环: ▼ ┌──────────────────────────────────────────────┐ │ Python Bridge │ -│ (runtime/mac_helper.py) │ +│ macOS: runtime/mac_helper.py │ +│ Windows: runtime/win_helper.py │ │ │ │ pyautogui.click(756, 342) ← 鼠标控制 │ │ mss.grab(monitor) ← 截图 │ -│ NSWorkspace.open(bundleId) ← 应用管理 │ +│ macOS: NSWorkspace.open() ← 应用管理 │ +│ Windows: win32gui / psutil ← 应用管理 │ └──────────────────────────────────────────────┘ ``` @@ -207,8 +210,10 @@ src/ │ ├── setup.ts ← MCP 配置初始化 │ └── ... └── runtime/ - ├── mac_helper.py ← Python 实现(659 行) - └── requirements.txt ← Python 依赖 + ├── mac_helper.py ← macOS Python 实现 + ├── win_helper.py ← Windows Python 实现 + ├── requirements.txt ← macOS Python 依赖 + └── requirements-win.txt ← Windows Python 依赖 ``` ### 灰度控制绕过 @@ -239,8 +244,10 @@ async function callPythonHelper(command: string, payload: object): Promise 首次运行自动完成: 1. 创建 Python 虚拟环境 (`.runtime/venv/`) 2. 安装 pip -3. 安装依赖 (`mss`, `Pillow`, `pyautogui`, `pyobjc-*`) -4. SHA256 哈希验证(仅 requirements.txt 变更时重新安装) +3. 按平台安装依赖: + - **macOS**: `mss`, `Pillow`, `pyautogui`, `pyobjc-*`(`requirements.txt`) + - **Windows**: `mss`, `Pillow`, `pyautogui`, `win32gui`, `psutil`, `pyperclip`, `screeninfo`(`requirements-win.txt`) +4. SHA256 哈希验证(仅 requirements 变更时重新安装) --- @@ -282,7 +289,7 @@ async function callPythonHelper(command: string, payload: object): Promise | 限制 | 说明 | |------|------| -| 仅 macOS | Windows/Linux 需要适配 `pyobjc` 部分 | +| 不支持 Linux | 需要适配平台专有 API 部分 | | 无全局 Escape 中止 | 原生方案用 CGEventTap 实现,Python 版暂不支持,用 `Ctrl+C` 代替 | | 操作前不自动隐藏窗口 | 原生方案的 `prepareDisplay` 依赖 Swift,Python 版未实现 | | 性能略低 | Python 进程启动 ~100ms 开销,但模型思考时间通常是秒级,用户感知不到 | @@ -303,9 +310,13 @@ async function callPythonHelper(command: string, payload: object): Promise ### 底层依赖 -| 库 | 用途 | -|----|------| -| [pyautogui](https://github.com/asweigart/pyautogui) | 鼠标和键盘控制 | -| [mss](https://github.com/BoboTiG/python-mss) | 屏幕截图 | -| [Pillow](https://github.com/python-pillow/Pillow) | 图像处理和压缩 | -| [pyobjc](https://github.com/ronaldoussoren/pyobjc) | macOS Cocoa/Quartz 框架绑定(应用管理、显示枚举) | +| 库 | 平台 | 用途 | +|----|------|------| +| [pyautogui](https://github.com/asweigart/pyautogui) | 跨平台 | 鼠标和键盘控制 | +| [mss](https://github.com/BoboTiG/python-mss) | 跨平台 | 屏幕截图 | +| [Pillow](https://github.com/python-pillow/Pillow) | 跨平台 | 图像处理和压缩 | +| [pyobjc](https://github.com/ronaldoussoren/pyobjc) | macOS | Cocoa/Quartz 框架绑定(应用管理、显示枚举) | +| [pywin32](https://github.com/mhammond/pywin32) | Windows | Win32 API 绑定(窗口管理) | +| [psutil](https://github.com/giampaolo/psutil) | Windows | 进程管理(应用列表、进程操作) | +| [pyperclip](https://github.com/asweigart/pyperclip) | Windows | 剪贴板操作 | +| [screeninfo](https://github.com/rr-/screeninfo) | Windows | 显示器信息(多屏支持) | diff --git a/docs/images/app-icon.png b/docs/images/app-icon.png new file mode 100644 index 00000000..289f77e2 Binary files /dev/null and b/docs/images/app-icon.png differ diff --git a/docs/index.md b/docs/index.md index 8f53d862..4612c970 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,7 +6,7 @@ hero: text: 本地可运行的 Claude Code tagline: 基于泄露源码修复,支持接入任意 Anthropic 兼容 API(MiniMax、OpenRouter 等) image: - src: /images/app-icon.jpg + src: /images/app-icon.png alt: Claude Code Haha actions: - theme: brand @@ -44,4 +44,8 @@ features: title: Computer Use details: 桌面控制功能 — 截屏、鼠标、键盘操作(Python Bridge 实现) link: /features/computer-use + - icon: "\U0001F5A5" + title: 桌面端 + details: 基于 Tauri 2 + React 的图形化客户端,多标签、多会话、IM 适配器接入,支持 macOS 和 Windows + link: /desktop/ ---