15分钟入门cc-haha:搭建本地AI开发工作台
学完本教程,你将独立安装cc-haha桌面端、接入AI模型、使用隔离Worktree完成真实开发任务,并通过Diff审阅面板安全落地AI代码改写。告别终端黑盒操作,让AI在沙箱环境中工作,你只做审阅和决策。

15分钟入门cc-haha:搭建本地AI开发工作台
写后端的同学应该都经历过:在终端里跑CLI工具,敲完命令盯着黑窗口等结果。想看看AI改了哪些文件?得切到编辑器翻Diff。想让AI在后台跑任务?终端一关就没了。更别说从手机上远程审批——根本没法操作。
cc-haha 给 Claude Code 套了一个桌面工作台,所有会话、代码Diff、权限审批、模型切换全部可视化,还能把会话接力到微信、飞书上。跟着这篇教程,15分钟就能搭好环境并完成一次真实开发任务。
前置条件
- 操作系统:macOS / Windows / Linux 均可。本文以 macOS 为例演示,Windows 操作类似,安装包在 Releases 页面都能找到。
- Node.js 运行环境(可选):从源码启动 CLI 需要先安装 Bun。桌面端用户直接下载安装包即可,无需额外配置环境。
- AI 模型 API Key:官方预设支持 Claude、ChatGPT、DeepSeek、Kimi、智谱 GLM,也支持接 Ollama 本地模型。本文以 Claude 为例,你换成任意有 API Key 的模型均可。
- 本地项目仓库:任意 Git 项目,最好是你平时在做的,方便跟着教程实际操作。
第一步:下载并安装桌面端
前往 Releases 页面 下载对应系统的安装包:macOS 下 .dmg,Windows 下 .exe,Linux 下 .AppImage 或 .deb。
macOS 首次启动:正式版需要签名认证。下载的是 draft 或未签名临时包时,系统可能提示「无法验证开发者」。这时右键安装包 → 打开 → 弹窗中点「仍要打开」即可放行。不想每次都操作的话,等待正式发布版就好。
Windows 首次启动:未签名安装包会弹出 SmartScreen 蓝色警告,点 「更多信息」→「仍要运行」 即可。这是 Windows 的正常行为,软件本身没有问题。
启动完成后你会看到类似 IDE 的工作台界面——左侧是会话列表和项目切换器,右侧是对话区域。说一句话,它就能帮你跑完整个任务。
第二步:接入 AI 模型
点击左下角齿轮图标进入 设置,找到 模型配置 区域。这一步必须完成,否则工作台无法与任何 AI 交互。
以接入 Claude 为例:
- 点击「添加提供商」→ 选择 Anthropic / Claude
- 填入 API Key(从 console.anthropic.com 获取)
- 选择默认模型,如
claude-sonnet-4-20250514(性价比高)或claude-opus-4-20250514(复杂任务优选) - 保存并测试连接
OpenAI、DeepSeek 或第三方平台的配置方式相同,只需填 API Base URL 和 Key。使用 Ollama 跑本地模型的同学,把 Base URL 设为 http://localhost:11434 就行。
桌面端的优势在于「配一次,所有会话共享」。不用每次开终端都传环境变量,多模型切换只需在下拉框里选,不用反复修改 .env 文件。
第三步:跑通第一次会话
点击左上角 「+」 新建会话,选择本地 Git 项目。关键选项是 启动方式——可选「当前工作树」或「隔离 Worktree」。
首次使用强烈建议选 隔离 Worktree,AI 会在独立的 Git Worktree 里改代码,完全不会影响你主分支的任何内容。确认满意后再合并,非常安全。
试着对 AI 说:
帮我把这个项目里所有使用
console.log的地方替换成结构化的 logger 调用,logger 要带时间戳和日志级别。
AI 开始分析代码、逐个文件修改。界面右侧 工作区面板会实时列出每个被改动的文件,点开就是带语法高亮的 Diff。你可以:
- 逐文件审查改动细节
- 对某个文件点「撤销」立刻撤回 AI 的修改
- 整轮改动全部接受或全部拒绝
AI 改代码不再是黑盒操作,你始终掌控最终落地权。
实战:Spring Boot 项目加 REST 接口
拿一个真实场景完整演示一遍。假设你有一个用户服务的 Spring Boot 项目,现在需要加 /api/users/{id} 查询接口。
操作步骤如下:
- 新建会话,选择项目目录,勾选「隔离 Worktree」
- 在对话框输入需求:
在 com.example.UserService 中新增一个 findById 方法,在 UserController 中新增 GET /api/users/{id} 接口。请遵循以下规范:
- Repository 层使用 JPA 的 findById
- Service 层捕获 Optional 空值并抛 ResourceNotFoundException
- Controller 层返回 ResponseEntity
- 为接口添加 Swagger/OpenAPI 注解
- 所有新增代码需要包含中文注释
- 等 AI 跑完(通常 30 秒~2 分钟),检查右侧 Diff 面板
- 逐个文件确认改动,特别注意有没有误改你原有的代码逻辑
- 点 「接受本轮改动」 → AI 自动执行 git commit
- 用内置浏览器或你自己的编辑器验证接口是否正常响应
- 满意的话
git worktree merge回到主分支,不满意直接git branch -D丢弃即可
整个过程完全不需要在终端里敲 git diff 或来回切换窗口——所有信息都集中在桌面端的一个界面里。「对话即需求,审阅即交付」的体验比纯终端操作流畅太多。
进阶:远程访问与 IM 接力
开发过程中可能要开会、吃饭,但 AI 任务还在后台跑着。cc-haha 支持两种远程方式:
H5 远程访问:桌面端底部状态栏有个 手机图标,点击后生成一个二维码,用手机浏览器扫码就能接入当前会话。锁屏或切后台完全不影响正在跑的任务,适合临时查看进度。
IM 接入(微信/飞书/Telegram):想通过消息平台直接跟 AI 对话、审批权限或切换项目,需要在设置中配置 IM 接入。以飞书为例:
- 在飞书开放平台创建自定义应用,获取 App ID 和 App Secret
- 在 cc-haha 设置的 IM 接入 页面选择飞书,填入凭据
- 配置回调 URL(桌机会自动提供)
- 完成配对后,在飞书里发消息就能控制桌面端的会话
微信和钉钉的配置流程类似,只是需要在对应开放平台创建应用。详细图文教程见项目文档站 cchaha.ai。
踩坑提醒
实战过程中总结几个容易踩的坑:
- Worktree 清理:隔离 Worktree 本质是
git worktree add,用完记得合并或清理,否则本地会残留多个 worktree 目录。桌面端自带合并按钮,不用的话运行git worktree prune清一下即可。 - 权限模式选择:五档权限从「全询问」到「全跳过」,首次使用强烈建议选「询问权限」。跑熟了再根据需要逐步降低,避免 AI 执行了危险操作你都不知道。
- Token 用量监控:复杂任务(尤其 Computer Use)消耗 Token 非常快,建议在会话活动面板里实时关注 Token 趋势,必要时切换到性价比更高的模型。
- macOS 签名限制:非正式版可能需要手动放行,这是 Apple 的安全策略,不是软件本身的 Bug。
源码启动(备选方案)
想调试底层逻辑的用户可从源码启动 CLI:
bash
git clone https://github.com/NanmiCoder/cc-haha.git
cd cc-haha
bun install
cp .env.example .env
## 编辑 .env 填入 ANTHROPIC_API_KEY
./bin/claude-haha
总结
今天我们完成了:
- ✅ 从零下载安装 cc-haha 桌面端
- ✅ 接入 AI 模型并测试连接
- ✅ 用隔离 Worktree 跑了一次真实需求
- ✅ 通过 Diff 面板安全审阅 AI 改动
- ✅ 了解 H5 远程和 IM 接力的用法
这套工作流的核心思路是:让 AI 在沙箱里干活,你只做审阅和决策。 日常开发中,效率提升最明显的就是省掉了手动搜索、替换、核对 diff 的琐碎时间。
下一步建议:试试项目内置的 技能市场(Skill Market),安装社区现成的技能包(比如「数据库建表分析」「正则测试」);或者探索 Computer Use 功能让 AI 直接操控本地应用。完整文档在 cchaha.ai。
有问题或想交流用法,可前往 GitHub Issues 讨论。
项目仓库:NanmiCoder/cc-haha