Happy Coder 完全指南:用手机远程操控你的 Claude Code 编程助手
Happy Coder 完全指南:用手机远程操控你的 Claude Code 编程助手
作为一个每天都离不开 Claude Code 的开发者,我相信你一定遇到过这些尴尬时刻:
- 出门前让 Claude 跑一个大重构,地铁上想看看进度却只能干着急
- 吃饭的时候 AI 弹出了工具调用确认,等你回来它已经超时了
- 半夜线上出了个小问题,不得不从床上爬起来开电脑改一行代码
- 出差带了轻薄本,却想调用家里高性能开发机上的本地环境
今天要介绍的 Happy Coder 就是专门解决这些痛点的工具。它能让你用手机随时随地控制电脑上的 Claude Code(也支持 Codex),查看进度、发消息、批准工具调用,甚至远程新建会话。而且它是 MIT 开源的,完全免费,还支持端到端加密。

一、5 分钟搞定安装配置(Claude服务器配置手册)
Happy Coder 的安装非常简单,整个过程不超过 5 分钟。
前置条件
- Node.js 20 或以上版本
- 已经安装并登录了 Claude Code(
npm install -g @anthropic-ai/claude-code)
安装步骤
-
电脑端安装 CLI
npm install -g happy-coder -
手机端安装 App
- iOS:App Store 搜索 “Happy Coder”
- Android:Google Play 搜索 “Happy Coder”(也可以在其它三方下载安装)
- 也可以直接使用网页版(需要手机扫码登录):https://app.happy.engineering
-
环境检查 安装完成后先跑一下体检命令,确保一切正常:
happy doctor这个命令会检查 Claude Code 是否安装、token 是否有效、守护进程状态等,出问题先看它的输出。
-
第一次配对
happy auth login
选择手机配对,终端会显示一个二维码,用手机 App 扫描即可完成绑定。
配对完成后,建议保存一下备份码,万一丢了手机可以在新设备上恢复:
happy auth show-backup
日常使用
最常用的用法:在任何项目目录里直接敲 happy,效果和 claude 完全一样,区别是手机 App 里会立刻出现这个会话。
happy
所有 Claude 的参数都可以透传:
happy -m opus # 指定模型
happy -p plan # 权限模式:auto/default/plan
happy --claude-arg "--resume" # 透传参数给 Claude
happy --claude-env GH_TOKEN=xxx # 设置环境变量
远程新建会话:如果想让手机在电脑锁屏时也能新建会话,需要启动守护进程:
happy daemon start # 启动守护进程
happy daemon status # 查看状态
happy daemon list # 查看当前活跃会话
happy daemon stop # 停止守护进程
注意:Windows 上守护进程不会开机自启,需要自己写个计划任务挂上去。
其他实用命令:
happy codex # 运行 OpenAI Codex 而不是 Claude
happy notify -p "测试通过" -t "构建完成" # 给手机推送通知
完全卸载
如果不想用了,可以这样彻底清理:
happy daemon stop
happy auth logout
happy doctor clean
npm uninstall -g happy-coder
然后手动删除 ~/.happy 目录即可。
二、客户端使用教程
App(Android/IOS)
下面以Android为例讲解
下载App
手机端去 App Store 或 Google Play 搜 “Happy Coder” 装好。
对于Google Play访问的,可以通过https://download.csdn.net/download/ShyanZh/92877682下载最新的apk。
连接服务器
在上一小节的安装步骤中,第一次配对后,会显示一个二维码,这时按下面操作连接你的Claude:
- 手机端打开设置页面
- 扫码二维码认证
- 稍等片刻将显示设备列表

手机中体验Claude
和Claude一样,HappyCoder通过打开不同的文件夹访问启动不同的会话,手机可以连接不同的会话进行不同的任务。
- **打开会话:**安装好Happy后,我们直接在要操作的文件夹中打开命令行窗口,然后执行
happy命令就启动会话了。- 连接会话:这时,手机会接收到会话列表
- **进行AI对话:**进入对话后,可以进行简单设置并操作AI,和客户端无太大区别了。
**app开启新会话:**在设置页面的设置列表中,选择要操作的设备(服务器),然后可以看到设备信息,其中填入目录就可以新建会话了
浏览器(PC客户端)
想在电脑上操作,直接在浏览器打开
https://app.happy.engineering/进行授权就行了。
点击使用移动应用登录按钮,通过手机扫码,具体页面如下图所示(不是设置页面,而是
设置-->Account页面):
接着就会进入操作页面,和App操作内容大致相同:
三、同类产品对比:怎么选最适合你的方案
Happy Coder 不是唯一的远程 AI 编程方案,市面上常见的有这么几种思路:
方案一:SSH + tmux + 手机 SSH 客户端
这是最老派也最可靠的做法。家里电脑跑 tmux new -s claude,里面启动 Claude。手机装 Termius 或 Blink Shell,配 Tailscale 进内网,tmux attach 就能看到会话。
✅ 优点:完全自己掌控,零中继,纯密钥认证,零费用 ❌ 缺点:小屏终端体验差,权限弹窗只能用方向键选 yes/no
方案二:VS Code Remote Tunnel
电脑上跑 code tunnel,手机浏览器打开 vscode.dev/tunnel,里面装 Claude Code 插件。
✅ 优点:真 IDE 体验,能看 diff、改文件树 ❌ 缺点:手机浏览器编辑代码体验糟糕,鉴权走微软账号
方案三:云端 Agent
Cursor Background Agents、Devin、Replit Agent 都属于这一类。完全在云容器里跑,手机直接派任务。
✅ 优点:开机就在,不需要电脑联网 ❌ 缺点:用不到本地环境(.npmrc、Docker、本地数据库都没有),需要付费
方案四:远程桌面
RDP、Sunshine+Moonlight、Parsec 等,直接远程控制电脑桌面。
✅ 优点:什么都能干,完整桌面体验 ❌ 缺点:流量大、延迟高,不专注于 AI 工作流
详细对比表
| 维度 | Happy Coder | SSH+tmux | VS Code Tunnel | 云端 Agent |
|---|---|---|---|---|
| 跑在你的电脑上 | 是 | 是 | 是 | 否 |
| 原生手机 App | 是 | 第三方 | 浏览器 | 是 |
| 端到端加密 | NaCl 真 E2E | SSH | TLS | TLS |
| 不靠第三方中继 | 否 | 是 | 微软 | 各家自己 |
| 手机冷启动会话 | 是(要 daemon) | 要先开 tmux | 不行 | 是 |
| 工具调用弹窗顺手 | 是 | 不顺手 | 一般 | 不适用 |
| 免费 / 开源 | 是 | 是 | 是 | 付费 |
| 真本地环境 | 是 | 是 | 是 | 否 |
选择建议
- 只在乎随时随地丢任务,代码跑在哪不重要:选云端 Agent(Cursor BG 或 Devin)
- 代码必须在本地跑,想要原生 App 体验和推送:选 Happy Coder
- 极度注重隐私,不想信任任何第三方:选 SSH + tmux + Tailscale
- 主要诉求是看 diff 和改代码:选 VS Code Tunnel + Claude Code 插件
- 公司有合规要求:可以自己部署 Happy 中继服务器,设置
HAPPY_SERVER_URL环境变量指向你的服务器
四、深入原理:它到底是怎么工作的
作为一个技术人,光会用还不够,我们来拆一下 Happy Coder 的源码,看看它背后的实现原理。我用的是 happy-coder@0.12.0 版本,所有路径和行号都来自 Windows 实测。
敲 happy 时发生了什么
整个调用链非常清晰:
- PowerShell shim(
C:\nvm4w\nodejs\happy.ps1)找到 node.exe,执行bin/happy.mjs bin/happy.mjs为了屏蔽 Node 的警告信息,会 fork 一个新进程:node --no-warnings --no-deprecation dist/index.mjsdist/index.mjs是主程序入口,包含 CLI 解析、socket.io 连接、本地 HTTP 服务、TUI 界面等- 启动 Claude Code 时,会通过
scripts/claude_local_launcher.cjs脚本包裹:- 禁用自动更新
- 替换
global.fetch,拦截所有请求来显示"思考中"状态 - 按优先级搜索 Claude Code 的安装位置(npm 全局、Homebrew、原生安装器等)
- 如果是 JS 版本的 Claude,直接 import 并注入拦截器;如果是二进制版本,就 spawn 子进程
一句话总结:敲 happy 本质上是用一个带网络同步和手机控制功能的壳子,包裹了原生的 Claude Code 进程。
三层架构设计
Happy Coder 采用了非常清晰的三层架构:
第一层:配对(一次性)
配对过程基于 NaCl 加密算法,全程端到端加密,云端看不到任何明文:
- 电脑生成一对 NaCl 密钥对
- 公钥上传到中继服务器
- 手机扫码获取公钥,用自己的私钥做 ECDH 密钥交换
- 生成的共享密钥加密后回传给电脑
- 电脑用自己的私钥解密得到共享密钥
- 双方后续所有通信都用这个共享密钥加密
云端从头到尾只转发密文,根本解不开内容。
第二层:会话通道
每个 Claude 会话对应一个独立的 ApiSessionClient:
- 通过 socket.io 连接中继服务器,路径是
/v1/updates - Claude 的每条输出加密后上传到服务器,再转发给手机
- 手机发来的消息加密后下发,解密后喂给 Claude
- 工具调用请求通过 RPC 转发到手机,用户批准后才会执行
- 定期发送心跳包,同步会话状态和 token 使用量
第三层:机器通道
守护进程(daemon)负责处理手机的远程控制请求:
- 启动后向服务器注册自己,获得一个唯一的 machine ID
- 保持长连接,每 20 秒发送一次心跳
- 实现三个核心 RPC 接口:
spawn-happy-session:在指定目录新建一个 Claude 会话stop-session:终止指定会话stop-daemon:停止守护进程
完整链路:手机点"新建会话"发生了什么
手机 App
↓ HTTPS(带用户 JWT)
api.cluster-fluster.com
↓ socket.io 推送 RPC 请求
电脑 happy daemon
↓ 调用 spawnSession 方法
spawn "happy claude --happy-starting-mode remote ..."
↓ 子进程启动 ApiSessionClient
↓ import Claude Code CLI(fetch 被 hook)
新会话上线 → 加密消息转发给手机 → 手机出现新对话窗
之后所有的交互都走这条链路,全程加密,云端只做转发。
五、几个需要注意的坑
Happy Coder 很好用,但也不是完美的,有几个坑需要提前知道:
-
云中继单点问题:默认走
api.cluster-fluster.com,这是一个第三方服务。如果是要紧业务,建议要么自托管中继服务器,要么留个备用方案。 -
守护进程不自启:Windows 上每次重启电脑都要手动跑
happy daemon start,或者自己写个计划任务。 -
手机端不是 IDE:小屏看大段 diff 还是很费劲,复杂的代码 review 还是得回电脑。
-
happy connect不安全:这个命令会把你的厂商 API key 上传到服务器,而且不是端到端加密。介意的话绝对不要用。 -
团队规模小:开发团队规模不大,万一哪天停服或者换域名,需要自己重新配置服务器地址。
六、总结
Happy Coder 本质上是 Claude Code 的一个"移动遥控器"。它没有改变 AI 编程的本质,只是把 AI 编程会话从"只能在电脑前使用"变成了"随时可控"。
对于每天都要和 Claude Code 打交道的开发者来说,这是一个轻量但价值极高的工具链补强。它解决了碎片化时间利用和应急处理的痛点,让你真正做到"人在哪里,生产力就在哪里"。
而且它是完全开源的,你可以审计代码,甚至自己部署中继服务器,最大程度保证数据安全。
如果你也经常遇到离开电脑但 AI 还在干活的情况,强烈推荐试试 Happy Coder。它可能不会让你的编程效率提升十倍,但一定会让你的工作生活平衡得更好。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐







所有评论(0)