cc-haha 是什么?

cc-haha(Claude Code Haha)是 NanmiCoder 基于 2026-03-31 Anthropic npm registry 泄露的 Claude Code 源码修复出的本地 Claude Code 工作台,用 Tauri 2 + Bun + React 把多会话 / Worktree / 代码 Diff / 权限审批 / 多 Provider(Anthropic 兼容 + 第三方 + 本地)/ Computer Use / H5 远程访问 / Telegram-飞书-微信-钉钉 IM 接入 / 定时任务集中到一个 macOS / Windows 桌面应用;仓库 License 为 NOASSERTION,README Disclaimer 明确声明原始代码版权归 Anthropic 所有、仅供学习研究。

⭐ 11,499 Stars 🍴 7,994 Forks TypeScript NOASSERTION 作者: NanmiCoder
来源:README 首段「桌面端 Claude Code 工作台」+ 技术栈表 + README 最后 Disclaimer 查看 GitHub 仓库 →

为什么值得关注

2026 年 3 月底,Anthropic 在 npm registry 上的 Claude Code 早期未压缩源码意外泄露,社区出现一波围绕「让 CC 可本地完整运行」的复刻仓库。cc-haha 是其中走得最远的一个——不只跑通 CLI,还在原始 CLI 之外补齐了一整套桌面端能力(Tauri 2 + Vite + React UI、Worktree 工作台、Diff 可视化、Computer Use、H5 远程令牌、4 个 IM 平台 Bot、定时任务、用量统计),并直接挂上两家 Claude API 转售商(接口AI、胜算云)的 referral 链接做赞助。结果是 6 周内 10689★ / 7808 fork,fork-to-star 比 0.73(典型项目 0.05-0.15),既反映需求真实,也反映「复制即用」性质——很多 fork 是用户自己拉一份用,不是要贡献回主仓。围绕泄露源码的法律 / 合规边界(README 自承「学习研究用途」、License 字段为 NOASSERTION)是这条赛道的根本张力。

来源:README Disclaimer、GitHub repo metadata(stars/forks/created/license)、release 节奏、README 赞助商段

核心功能

Tauri 2 + React + Vite 桌面端工作台

desktop/ 子目录(388 文件)是独立的 Tauri 2 应用,含 src-tauri Rust shell、vite.config.ts、vitest.config.ts、sidecars 目录。桌面端把多会话标签页、项目切换、终端入口、会话历史集中到一个 GUI,覆盖 macOS 与 Windows 安装包(首次启动需在 macOS 处理 Gatekeeper)。Bun 作为本地运行时(bun.lock + bunfig.toml + ./bin/claude-haha 可执行入口)。

来源:README 「桌面端预览」节、技术栈表、desktop/ 目录结构(src-tauri、sidecars、vite.config.ts)
分支 / Git Worktree 启动与代码 Diff 可视化

新会话创建时可选择仓库分支,并决定使用当前工作树还是隔离 Git Worktree——让一个项目能同时跑多个 Agent 任务不互相污染。聊天界面右侧实时展示已更改文件、增删行、当前工作区状态,AI 对文件的每次编辑、Diff 与执行过程都可视化追踪。

来源:README 「桌面端亮点」+ 桌面端预览图 13_workspace_changes_worktree、02_edit_code
权限与确认流 + Computer Use

危险命令、工具调用、AI 反问都进入桌面端集中审批队列,避免无人值守误操作。Computer Use 允许 Agent 在用户授权后截图、点击、键盘输入并控制本地桌面应用(功能架构详见 docs/features/computer-use-architecture.md)。配合 runtime/{mac_helper.py, win_helper.py}(Python 跨平台桌面控制助手)实现 macOS 与 Windows 一致体验。

来源:README 桌面端亮点、docs/features/computer-use.md、runtime/ 目录
多 Provider 模型路由:Anthropic 兼容 + 第三方 + 本地

支持 Anthropic 兼容 API、第三方模型(OpenAI / DeepSeek / Ollama 等)、WebSearch fallback 与本地配置。docs/guide/third-party-models.md 给出第三方接入参考,src/upstreamproxy/ 处理上游协议转换。叠加 src/plugins/ 与 src/skills/ 让能力可外挂扩展。

来源:README 桌面端亮点、docs/guide/third-party-models.md、src/upstreamproxy 与 src/plugins/src/skills
H5 远程访问 + Telegram / 飞书 / 微信 / 钉钉 IM 接入

桌面端生成一次性令牌后,可在手机或任意设备通过浏览器接入当前 macOS / Windows 上的 Claude Code 会话(图 12_h5_access)。adapters/ 目录(80 文件)划分为 telegram / feishu / wechat / dingtalk 四个 IM 平台子包 + common 共享层,让用户从 IM 远程对话、切换项目、审批权限。

来源:README 桌面端亮点、桌面端预览图 12_h5_access、adapters/ 目录结构
定时任务 + 本机 Token 用量统计

在桌面端创建计划任务(截图 08_scheduled_task),让 Agent 在指定时间自动执行预设流程;本机 Token 用量统计面板(截图 11_token_usage)汇总各 Provider / 模型的 token 消费趋势,帮助用户感知成本。src/cost-tracker.ts + src/costHook.ts 是核心实现。

来源:README 桌面端亮点、桌面端预览图、src/cost-tracker.ts、src/costHook.ts
源码修复记录与项目结构透明文档

docs/reference/fixes.md 列出 cc-haha 相对原始泄露 Claude Code 源码做了哪些修复(缺失依赖、运行时补丁等),docs/reference/project-structure.md 解释代码目录组织,docs/desktop/02-architecture.md 单独展开 Tauri 2 + React 桌面端架构。docs/ 整体 297 文件构成的 VitePress 站点(claudecode-haha.relakkesyang.org)也按 agent / channel / desktop / features / guide / im / memory / reference / skills / superpowers / ui-clone 分类组织。

来源:docs/reference/fixes.md、docs/reference/project-structure.md、docs/ 目录结构

技术架构

整个仓库是「单仓多层 + 桌面端独立子项目」的结构:src/ 2653 文件是从泄露源码修复出来的核心 CLI / 服务端 / 工具链(模块按 assistant / bootstrap / bridge / buddy / cli / commands / coordinator / daemon / entrypoints / hooks / ink / jobs / keybindings / memdir / migrations / plugins / proactive / query / remote / schemas / screens / self-hosted-runner / server / services / skills / ssh / state / tasks / tools / upstreamproxy / utils / vendor / vim / voice 切包,整体看就是原版 Claude Code 内部结构 + 作者补的几个外围模块),desktop/ 388 文件是独立的 Tauri 2 应用通过 sidecars 目录把 CLI 二进制内嵌做成桌面壳,adapters/ 80 文件按 dingtalk / feishu / telegram / wechat 拆四个 IM 平台子包 + 一个 common 共享层、各自独立 package.json,runtime/ 6 文件是 Python 实现的 macOS / Windows 桌面控制辅助(mac_helper.py / win_helper.py 配合 Tauri 完成 Computer Use 中的截屏鼠标键盘动作),docs/ 297 文件是 VitePress 多语言(zh / en)文档站。技术栈选择上 TypeScript + Bun 作为运行时(README 自述)、Ink 做终端 UI、Commander.js 做 CLI 解析、Anthropic SDK 做 LLM 调用、MCP 与 LSP 做协议层,Tauri 2 + React + Vite 做桌面。设计判断:这种结构清晰区分了「上游泄露的核心 CLI」与「作者补齐的桌面 / IM / Computer Use 等外围能力」,便于追踪每一块到底是泄露源码还是新增代码——但 src/ 模块数量众多且基本不带测试(仓库根 tests/ 仅 2 文件、fixtures/ 仅 2 文件),意味着对原始源码的修复缺乏回归验证,长期 fork 同步与 Anthropic 上游变更跟进会非常吃力。

来源:tree 整体(3567 文件)+ src/desktop/adapters/runtime/docs/ 子目录展开 + README 技术栈表 + docs/reference/fixes.md

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) Bun — 本地运行时(bun install / bun.lock / bunfig.toml)Bun Anthropic SDK — 上游 API 协议Anthropic SDK MCP(Model Context Protocol)+ LSP — 协议层MCP(Model Con… Tauri 2 + src-tauri Rust shell — 跨平台桌面端打包Tauri 2 + src-… Vite + React — 桌面 UI 构建链Vite + React Tauri 2 + React + Vite 桌面端工作台Tauri 2 + React + V… 分支 / Git Worktree 启动与代码 Diff 可视化分支 / Git Worktree… 权限与确认流 + Computer Use权限与确认流 + Compu… 多 Provider 模型路由:Anthropic 兼容 + 第三方 + 本地多 Provider 模型路由… H5 远程访问 + Telegram / 飞书 / 微信 / 钉钉 IM 接入H5 远程访问 + Telegr… 定时任务 + 本机 Token 用量统计定时任务 + 本机 Toke… 源码修复记录与项目结构透明文档源码修复记录与项目结构… cc-haha 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言TypeScript(全栈)+ 少量 Python(runtime 桌面控制辅助)+ Rust(Tauri 2 src-tauri shell)框架Tauri 2(桌面壳)+ React + Vite(桌面 UI)+ Ink(终端 UI)+ Commander.js(CLI 解析)+ Anthropic SDK(LLM 调用)
BunAnthropic SDKMCP(Model Context Protocol)+ LSPTauri 2 + src-tauri Rust shellVite + ReactVitePressIM SDK:四个适配器 telegram / feishu / wec…
用户侧两种安装路径:① 从 GitHub Releases 下载 macOS / Windows 桌面安装包(首次 macOS 启动需处理 Gatekeeper 未公证警告);② 从源码 bun install && cp .env.example .env && ./bin/claude-haha 启动 CLI。runtime/{mac_helper.py, win_helper.py} 处理桌面控制底层调用;docs/ 用 VitePress 部署在 claudecode-haha.relakkesyang.org;License 字段 NOASSERTION(非标准 SPDX),README Disclaimer 明确「原始源码版权归 Anthropic 所有、仅供学习研究」
来源:package.json + README 技术栈表 + Tauri 2 桌面端目录 + runtime/ Python helpers

快速上手

# 路径 A(推荐):下载桌面端安装包 # 前往 https://github.com/NanmiCoder/cc-haha/releases # 下载对应 macOS / Windows 包,首次启动后在桌面端设置里: # 1. 配置模型 Provider(Anthropic 兼容 / OpenAI / DeepSeek / Ollama 等) # 2. 配置 API Key 与默认模型 # macOS 如提示无法打开:参考 docs/desktop/04-installation.md 处理 Gatekeeper # 路径 B:从源码启动 CLI(用于调试 / 二开) bun install cp .env.example .env ./bin/claude-haha # 环境变量参考:docs/guide/env-vars.md # 全局使用(任意目录启动):docs/guide/global-usage.md # 第三方模型接入(OpenAI / DeepSeek / Ollama):docs/guide/third-party-models.md
来源:README 「从源码启动 CLI」+ 「安装桌面端」+ 「更多文档」表

使用场景

1. 习惯 Claude Code 工作流但不愿长期停留在终端、想要图形化多会话 / 多项目工作台的开发者,用桌面端把 Diff 视图 / 权限审批 / Token 用量集中到一个 macOS / Windows 应用;2. 单台开发机想同时跑多个 Agent 任务但不希望互相污染 git 状态——用桌面端的 Worktree 启动把每个会话隔离到独立 worktree;3. 出差或离开桌前需要继续接管 Claude Code 会话,用一次性 H5 令牌从手机浏览器接入,或挂 Telegram / 飞书 / 微信 / 钉钉机器人远程对话与审批;4. 想在不依赖 Anthropic 官方付费订阅的前提下试用 Claude Code 工作流的研究者 / 教学者——按 README Disclaimer 明示是「学习研究用途」,配合第三方 Provider(OpenAI / DeepSeek / Ollama)或赞助商提供的转售 API 跑通本地完整流程。

来源:README 桌面端亮点、docs/im/、docs/guide/third-party-models.md

优势与局限

优势

  • 桌面端能力补齐很彻底:Worktree、多会话、Diff、权限审批、Computer Use、H5 远程令牌、4 个 IM Bot、定时任务、Token 用量——在「让 Claude Code 跳出终端」这件事上做到了功能完备度第一梯队(README 桌面端亮点 + 截图)
  • 代码组织对追溯透明:src/ 按原 Claude Code 模块结构拆 40+ 子目录、desktop/ 与 adapters/ 与 runtime/ 物理隔离作者新增内容,docs/reference/fixes.md 显式列出「相对原始泄露源码修了什么」,让阅读者能区分哪部分是上游泄露、哪部分是作者新增
  • 文档密度高:docs/ 297 文件以 VitePress 部署成完整站点 claudecode-haha.relakkesyang.org,按 agent / channel / desktop / features / guide / im / memory / reference / skills / superpowers / ui-clone 分类组织,作者投入的解读说明工作量明显
  • 技术栈选择务实:Tauri 2 而非 Electron(更小的安装包、原生性能)、Bun 而非 Node(启动速度)、Ink 做终端 UI、Vite + React 做桌面 UI——都是 2026 时点合理且主流的选择
  • 迭代速度快:v0.2.2 (2026-05-08) → v0.2.6 (2026-05-13),5 天 5 个公开 release,作者维护活跃;fork-to-star 比 0.73(10689★ / 7808 fork)反映用户实际使用而非纯收藏
  • Disclaimer 摆在台面:README 最后明确「原始源码版权归 Anthropic 所有、仅供学习研究用途」——把法律边界写得直白,不像某些复刻仓库刻意回避

局限

  • **法律与版权边界(最重要的风险维度)**:README 自承代码源自 2026-03-31 Anthropic npm registry 泄露源码;GitHub 显示 License 字段为 NOASSERTION(仓库内有 LICENSE 文件但不匹配标准 SPDX 标识,无法被自动识别为 MIT/Apache 等开源协议);作者声明「学习研究用途」但任何分发、商用、企业内部部署仍存在明确法律不确定性——企业引入前必须法务评估,不能仅凭项目 README 把「Disclaimer 已写」当成合规通行证
  • 可维护性风险——上游同步不可行:代码来源是 2026-03-31 那次泄露的单点快照,Anthropic 后续对官方 Claude Code 的任何升级(新工具、新模型协议、Computer Use 接口变化、MCP 演进)都无法通过常规 git pull 跟进,必须由作者一个人逆向跟进——README 也没有提供与上游同步的承诺
  • 可测试性严重不足:仓库根 tests/ 仅 2 个文件、fixtures/ 仅 2 个文件,src/ 2653 文件几乎没有对应单元测试或回归测试;意味着 docs/reference/fixes.md 中所谓「修复」只能靠运行时验证而非机器化验证,未来作者改动主路径出现回归的风险高
  • 稳定性风险——0.2.x alpha + 高频迭代:5 天 5 个 release(v0.2.2 → v0.2.6)意味着 API、配置项、命令行 flag 都没有稳定承诺,下游 fork 想锁版本只能锁具体 release tag
  • 应用安装信任链不完整:README 自承「macOS 提示应用无法打开需处理 Gatekeeper」——表明 .app 未通过 Apple Notarization 公证(甚至可能未用 Apple Developer ID 签名),企业 IT 与受 MDM 管理的设备很难直接放行;安装来源仅 GitHub Releases,缺少 Sigstore / cosign 类供应链证明
  • 隐私与数据流路径需慎评估:H5 远程访问 + 4 类 IM Bot(Telegram / 飞书 / 微信 / 钉钉)意味着代码片段、Diff、终端输出可能流过这些 IM 平台与桌面端之间——每个 IM 平台又各自有数据出境与企业合规要求,企业内部部署前需要单独审计这条数据路径
  • 可扩展性受赞助商 Claude API 转售商商业关系影响:README 赞助商段落直接挂带 referral code 的 接口AI(jiekou.ai,自称 8 折官方资源直供)与 胜算云(shengsuanyun.com)链接,工具的 Computer Use + H5 + IM 远程能力降低了 Claude API 用量的可见门槛——使用者需要清楚地认识到这条链路上「转售商 + cc-haha + Anthropic 上游」三方的合规与计费关系
  • 国际化覆盖不均:README.en.md 存在但 docs/en/ 体量明显小于中文区,IM 适配器以国内平台为主(微信、飞书、钉钉 + Telegram),目标用户群较强地偏向中文开发者
来源:综合 README + tree + docs/reference/fixes.md + GitHub repo metadata(NOASSERTION license)+ release 节奏

最新版本

v0.2.6(2026-05-13)。最近 5 个公开 release 全部为 v0.2.x 早期版本:v0.2.2 (2026-05-08) → v0.2.3 (2026-05-10) → v0.2.4 (2026-05-11) → v0.2.5 (2026-05-11) → v0.2.6 (2026-05-13),5 天 5 个 release 的高密度迭代节奏;尚无 1.x 稳定线。

来源:GitHub Releases API(5 条 tag + 时间戳)

总结评价

cc-haha 是「让泄露版 Claude Code 在本地跑出比官方 CLI 更完整的桌面体验」这条赛道目前做得最完整的一个仓库——6 周 10K★、桌面端 / Computer Use / H5 / 四类 IM Bot / Worktree 工作流全部到位、docs 与 release 节奏都很认真。但务实建议:1) 这是基于自承「Anthropic 泄露源码」的项目,企业 / 商业场景务必先做法务评估——License 是 NOASSERTION,README 「学习研究用途」声明不构成商用授权,不要在没有 legal review 的情况下放进公司流水线;2) 个人学习场景使用前确认你能接受「无法跟随官方 Claude Code 上游更新」的事实——任何 Anthropic 官方协议升级都依赖作者一个人逆向跟进;3) 试用建议先走桌面端 Releases 安装包(macOS 需处理 Gatekeeper),不要一上来就 clone + bun install 二开,源码 3567 文件 + 测试覆盖几乎为零,定位问题成本不低;4) 启用 Computer Use 与 IM 接入前先想清楚数据流路径——Computer Use 让 Agent 可截屏点击键盘控制桌面,IM Bot 让代码片段流过 Telegram / 飞书 / 微信 / 钉钉服务器,受监管行业需逐条评估;5) 把 README 赞助商的 referral 链接当成商业关系披露而非中性推荐看待——Claude API 转售商的合规边界与 Anthropic 官方授权状态由用户自行确认;6) 想体验类似的「桌面端 Claude Code 工作流」但希望授权清晰的用户,可以同时关注社区其他用合法授权重构的方案(不在本仓库讨论范围)。

来源:综合分析
透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-05-13 16:51. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件