15分钟入门cc-haha:搭建本地AI开发工作台

19 次阅读 0 点赞 0 评论 9 分钟原创技术教程

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

#AI编码助手 #桌面开发工具 #开发者效率 #Claude Code #Spring Boot实战
15分钟入门cc-haha:搭建本地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 为例:

  1. 点击「添加提供商」→ 选择 Anthropic / Claude
  2. 填入 API Key(从 console.anthropic.com 获取)
  3. 选择默认模型,如 claude-sonnet-4-20250514(性价比高)或 claude-opus-4-20250514(复杂任务优选)
  4. 保存并测试连接

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} 查询接口。

操作步骤如下:

  1. 新建会话,选择项目目录,勾选「隔离 Worktree」
  2. 在对话框输入需求:
复制代码
在 com.example.UserService 中新增一个 findById 方法,在 UserController 中新增 GET /api/users/{id} 接口。请遵循以下规范:
- Repository 层使用 JPA 的 findById
- Service 层捕获 Optional 空值并抛 ResourceNotFoundException
- Controller 层返回 ResponseEntity
- 为接口添加 Swagger/OpenAPI 注解
- 所有新增代码需要包含中文注释
  1. 等 AI 跑完(通常 30 秒~2 分钟),检查右侧 Diff 面板
  2. 逐个文件确认改动,特别注意有没有误改你原有的代码逻辑
  3. 「接受本轮改动」 → AI 自动执行 git commit
  4. 用内置浏览器或你自己的编辑器验证接口是否正常响应
  5. 满意的话 git worktree merge 回到主分支,不满意直接 git branch -D 丢弃即可

整个过程完全不需要在终端里敲 git diff 或来回切换窗口——所有信息都集中在桌面端的一个界面里。「对话即需求,审阅即交付」的体验比纯终端操作流畅太多。

进阶:远程访问与 IM 接力

开发过程中可能要开会、吃饭,但 AI 任务还在后台跑着。cc-haha 支持两种远程方式:

H5 远程访问:桌面端底部状态栏有个 手机图标,点击后生成一个二维码,用手机浏览器扫码就能接入当前会话。锁屏或切后台完全不影响正在跑的任务,适合临时查看进度。

IM 接入(微信/飞书/Telegram):想通过消息平台直接跟 AI 对话、审批权限或切换项目,需要在设置中配置 IM 接入。以飞书为例:

  1. 在飞书开放平台创建自定义应用,获取 App ID 和 App Secret
  2. 在 cc-haha 设置的 IM 接入 页面选择飞书,填入凭据
  3. 配置回调 URL(桌机会自动提供)
  4. 完成配对后,在飞书里发消息就能控制桌面端的会话

微信和钉钉的配置流程类似,只是需要在对应开放平台创建应用。详细图文教程见项目文档站 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

总结

今天我们完成了:

  1. ✅ 从零下载安装 cc-haha 桌面端
  2. ✅ 接入 AI 模型并测试连接
  3. ✅ 用隔离 Worktree 跑了一次真实需求
  4. ✅ 通过 Diff 面板安全审阅 AI 改动
  5. ✅ 了解 H5 远程和 IM 接力的用法

这套工作流的核心思路是:让 AI 在沙箱里干活,你只做审阅和决策。 日常开发中,效率提升最明显的就是省掉了手动搜索、替换、核对 diff 的琐碎时间。

下一步建议:试试项目内置的 技能市场(Skill Market),安装社区现成的技能包(比如「数据库建表分析」「正则测试」);或者探索 Computer Use 功能让 AI 直接操控本地应用。完整文档在 cchaha.ai

有问题或想交流用法,可前往 GitHub Issues 讨论。

项目仓库NanmiCoder/cc-haha

最后更新:2026-07-29T10:03:52

评论 (0)

发表评论

blog.comments.form.loading
0/500
加载评论中...