cc-haha
NanmiCoder/cc-haha加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有过这样的经历:正在用 Claude Code 写代码,忽然想对比一下两个分支的差异;或者同时开了三个会话,却不得不在终端里疯狂切窗口;又或者想给 AI Agent 设置一个统一的行为规则,却只能靠 env 变量勉强度日?
cc-haha 正是为了解决这些问题而诞生的。它是一个本地优先、跨平台的 Claude Code 桌面工作台,将原本散落在终端里的 AI 编程体验,整合进了一个功能完备的图形界面中。截至目前已在 GitHub 收获超过 14852 颗星,是 Claude Code 生态中最活跃的桌面端扩展项目之一。

Claude Code 于 2024 年底正式发布,迅速成为 AI 编程领域最受关注的工具之一。它的 CLI 交互模式简洁高效,但受限于终端本身的表达能力,在多会话管理、文件浏览、权限可视化等方面存在天然短板。
GitHub 上的开源社区迅速捕捉到了这个需求。cc-haha 的作者 NanmiCoder 最初可能只是想要一个更舒服的界面,但随着功能迭代,逐渐演变成了一个功能完整的桌面工作台——不只服务 Claude Code,也支持 OpenAI Codex、ChatGPT、Grok 等多种 AI Agent。
cc-haha 的整体架构分为五层:运行时层(Runtime)、服务层(Services)、工具系统层(Tools)、多智能体层(Multi-Agent)和入口层(CLI/Desktop)。

运行时层是整个系统的核心,负责管理会话状态、工作目录解析和成本追踪。项目使用 TypeScript 构建,但引入了 Rust 编写的 sidecar 进程来处理高性能场景——比如沙箱执行和文件操作。这种混合架构兼顾了 TypeScript 的开发效率和 Rust 的性能优势。
服务层提供了大量开箱即用的能力:模型路由、会话持久化、权限管理、IM 接入(微信、飞书、钉钉、Slack、Telegram、WhatsApp)等。其中 IM 接入是一个亮点——用户可以通过微信或飞书向本地的 cc-haha 发消息,触发 Agent 执行任务。
工具系统层是 cc-haha 最具差异化的部分。它将 Claude Code 的工具能力做了图形化封装:文件系统操作、终端命令、Git 操作、浏览器控制、代码编辑……每一个工具都有对应的 UI 面板和权限审批流程。

多智能体层支持 Agent Teams 协作。用户可以同时启动多个 Agent 实例,每个实例运行在独立的工作目录或 Git Worktree 中,不同 Agent 之间可以协作完成复杂任务。这是 cc-haha 区别于简单 CLI 封装的核心竞争力。
cc-haha 的技术选型非常务实:
package.json 中的关键依赖揭示了项目的技术深度:除了常规的 HTTP 客户端和 CLI 工具库,还包含 @modelcontextprotocol/sdk(MCP 协议支持)、@anthropic-ai/sdk(Claude API)、ws(WebSocket)、sharp(图像处理)、ink(React 终端渲染)等。

cc-haha 特别强调了在 macOS 上的 Computer Use 能力。与传统的屏幕共享方案不同,cc-haha 实现了对其他应用程序的隔离控制——AI Agent 可以在你的真实桌面上操作各种应用,但不会占用你的鼠标和键盘。这意味着你可以在 AI 执行任务的同时继续工作,两者互不干扰。
要实现这一能力,需要 macOS 上的辅助功能权限和 AppleScript 支持。项目在 desktop/sidecars/ 目录下维护了 Swift 编写的原生 sidecar。
cc-haha 以预编译安装包为主要分发方式,官方提供 macOS(.dmg + 签名公证)、Windows(.exe)和 Linux(.AppImage)三种安装包。用户只需下载安装包、配置 API Key,即可启动使用。
对于开发者,项目提供了完整的源码启动方式:
bun install
cp .env.example .env
./bin/claude-haha
这需要本地安装 Bun 1.x。桌面端编译需要额外执行 cd desktop && bun run build,涉及 Electron 构建流程。总体来说,cc-haha 不是为服务器部署设计的——它是一个典型的桌面应用,预编译安装包是最推荐的安装方式。
项目没有提供 Dockerfile,这在某种程度上是合理的选择:Electron 应用的沙箱安全和本地 GUI 依赖(显示器、文件系统访问)决定了它天然不适合容器化部署。

cc-haha 也面临一些现实挑战:
Electron 的双刃剑:Electron 带来了跨平台能力,但也意味着更大的安装包体积和更高的内存占用。相比纯 CLI 工具,桌面应用的资源消耗是不可忽视的代价。
API Key 管理:项目需要用户自行管理多模型的 API Key,配置过程对新手有一定门槛。虽然文档站(cchaha.ai)提供了逐步指南,但配置多种模型提供商仍然需要一定的折腾精神。
功能复杂度:cc-haha 的功能非常丰富,但丰富的另一面是学习曲线陡峭。多智能体、Agent Teams、Computer Use、IM 接入……这些能力分散在不同模块中,用户需要花时间理解其设计理念才能用好。
cc-haha 是 Claude Code 生态中最具野心的开源扩展项目之一。它不只是一个"更好看的 Claude Code 界面",而是一个面向 AI Agent 时代的完整桌面工作台——多会话、文件管理、权限可视化、多模型支持、IM 接入、Computer Use……这些能力整合在一起,为 AI 编程提供了一个真正可用的图形化操作环境。
如果你已经在用 Claude Code,并且渴望一个更高效、更可视化的编程体验,cc-haha 值得一试。