字
字节笔记本
2026年5月6日
cc-haha:Claude Code 本地可运行版本,用 Python Bridge 实现 Computer Use
API中转
¥120
本文介绍 cc-haha,一个基于 Claude Code 泄露源码修复的本地可运行版本。它用 Python Bridge 替代了官方私有原生模块,实现了在 macOS 上完整可用的 Computer Use 功能,支持截屏、鼠标键盘控制和应用管理。
项目简介
cc-haha(NanmiCoder/cc-haha)是一个开源项目,拥有 9,812 Star。它基于 Claude Code 泄露源码进行深度改造,使其可以在本地独立运行,并补全了 Computer Use 桌面控制、图形化桌面端、IM 远程驱动等功能。
核心价值:官方 Computer Use(内部代号 "Chicago")依赖 Anthropic 私有原生模块(@ant/computer-use-swift、@ant/computer-use-input),无法公开获取。cc-haha 用 Python Bridge 完全替代了这些模块,让任何人都能在 macOS 上使用 Computer Use。
核心特性
- 完整 Ink TUI 交互界面:与官方 Claude Code 一致的终端体验
- Computer Use 桌面控制:截屏、鼠标、键盘,24 个 MCP 工具
- 图形化桌面端:Tauri 2 + React 客户端,多标签多会话
- IM 远程驱动:通过 Telegram / 飞书 / 微信 / 钉钉远程对话
- 自定义 API 端点:支持接入任意 Anthropic 兼容 API(MiniMax、OpenRouter 等)
- 多 Agent 系统:多代理编排、并行任务、Teams 协作
- Skills 系统:可扩展能力插件、自定义工作流
- 记忆系统:跨会话持久化记忆
技术栈
| 类别 | 技术 |
|---|---|
| 运行时 | Bun |
| 语言 | TypeScript |
| 终端 UI | React + Ink |
| CLI 解析 | Commander.js |
| API | Anthropic SDK |
| 桌面端 | Tauri 2 + React |
| 协议 | MCP, LSP |
Computer Use 详解
支持的 24 个 MCP 工具
| 类别 | 工具 |
|---|---|
| 截屏 | screenshot、zoom |
| 鼠标 | left_click、right_click、double_click、left_click_drag、mouse_move、scroll、cursor_position |
| 键盘 | type、key、hold_key |
| 应用 | open_application、switch_display |
| 权限 | request_access、list_granted_applications |
| 剪贴板 | read_clipboard、write_clipboard |
| 其他 | wait、computer_batch |
工作原理
核心是截图-分析-操作闭环:
text
AI 模型收到请求
-> 调用 screenshot 获取屏幕截图
-> 分析像素识别 UI 元素位置
-> 调用 left_click / type 执行操作
-> 再次截图确认结果坐标分析完全由模型的视觉能力完成,模型"看"截图就像人看屏幕一样。
平台支持
| 平台 | 状态 |
|---|---|
| macOS (Apple Silicon) | 完整支持(推荐) |
| macOS (Intel) | 完整支持 |
| Windows | 理论可行,未适配 |
| Linux | 理论可行,未适配 |
Python Bridge 架构
官方使用私有 Swift 原生模块,cc-haha 用 Python 替代:
text
TypeScript 工具层 (MCP 工具分发 + 安全检查)
-> callPythonHelper()
-> Python Bridge (pyautogui + mss + pyobjc)
-> 系统操作(鼠标、截图、应用管理)首次运行自动创建 Python 虚拟环境并安装依赖,零配置。
安装指南
前置要求
- Bun >= 1.1.0
- Python >= 3.8(Computer Use 功能需要)
安装步骤
bash
# 1. 安装 Bun
curl -fsSL https://bun.sh/install | bash
# 2. 克隆项目
git clone https://github.com/NanmiCoder/cc-haha.git
cd cc-haha
# 3. 安装依赖
bun install
# 4. 配置环境变量
cp .env.example .env
# 编辑 .env 填入 API Key
# 5. 启动
./bin/claude-haha # 交互模式
./bin/claude-haha -p "your prompt here" # 无头模式macOS 权限配置(Computer Use)
授予辅助功能和屏幕录制权限:
bash
# 辅助功能
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
# 屏幕录制
open "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture"将终端应用添加到允许列表,授权后重启终端。
使用示例
text
> 帮我打开网易云音乐,搜索一首歌
> 截个屏看看当前桌面
> 帮我在 VS Code 里打开终端安全机制
| 机制 | 说明 |
|---|---|
| 应用白名单 | 每次会话需明确授权允许操作的应用 |
| 并发保护 | 同一时间只有一个会话可使用 Computer Use |
| 剪贴板保护 | 自动保存和恢复原始剪贴板内容 |
| 操作确认 | 敏感操作需额外授权 |
环境变量配置
| 变量 | 默认值 | 说明 |
|---|---|---|
CLAUDE_COMPUTER_USE_ENABLED | 1 | 设为 0 禁用 |
CLAUDE_COMPUTER_USE_COORDINATE_MODE | pixels | pixels 或 normalized_0_100 |
CLAUDE_COMPUTER_USE_CLIPBOARD_PASTE | 1 | 启用剪贴板粘贴输入 |
CLAUDE_COMPUTER_USE_MOUSE_ANIMATION | 1 | 启用鼠标动画 |
CLAUDE_COMPUTER_USE_DEBUG | 0 | 调试模式 |
已知限制
- Computer Use 仅支持 macOS,Windows/Linux 需适配
- 无全局 Escape 中止,使用
Ctrl+C代替 - 操作前不自动隐藏窗口
- Python 进程启动约 100ms 开销
项目链接
分享: