- CLI
- 0.2.17
- 预览 ref
- a2c45c8
Happier 是一款开源应用,让你在手机、桌面或网页上跨设备运行和编排 Claude Code、Codex 及其他代理。会话运行在你信任的机器上(笔记本、服务器或开发机),手机则负责让工作流继续推进。启动会话、发送后续指令、批准请求,必要时查看和编辑改动,都不需要打开远程桌面。
目标很简单:
在手机上启动会话,让它在我信任的机器上持续运行,之后再从桌面端或 CLI 回到同一个会话。
这正是 Happier 擅长的:在手机上完成“查看进度 / 发送后续指令 / 处理审批”这个循环,而会话一直留在机器上(笔记本、服务器或开发机)。
要点
- 在你信任的机器上安装 Happier,并连接手机。(如果是第一次使用,先看 GitHub 上的“How it works”部分,再回到本指南。)
- 在手机上启动(或打开)一个会话,并选择要运行它的机器。
- 你离开时,让它在那台机器上继续运行。
- 之后在拥有该会话的机器上,通过 CLI 继续同一个会话:
- 如果仍在运行,使用
happier attach <session-id> - 如果已不活跃且支持厂商侧恢复,使用
happier resume <session-id>
- 如果仍在运行,使用
“在手机上运行”到底是什么意思
真正干重活的不是手机。手机上做的是:
- 查看代理正在做什么
- 发送新的指令
- 偶尔批准某个提示或操作
- 浏览文件和 diff,让会话继续推进
真正的会话仍然运行在仓库和工具所在的地方:你的笔记本、服务器或开发机。
有一点很重要:Happier 不是“仅限移动端”的产品。手机只是其中一个入口。同一个会话也可以在桌面网页、桌面应用,或拥有该会话的机器上的 CLI 中继续。
常见做法及其取舍
常见的方案:
- SSH + tmux:可行,但在手机上你会不停地翻长长的输出,容易丢失上下文,做太多“小终端里的操作”。
- 远程桌面:在需要使用桌面工具时可以用,但在手机上又重又难操作。
更合适的是一个为手机设计的界面,同时会话依然运行在你自己的机器上。
- Happier:一种适合手机的方式,可以启动会话、发送后续指令、处理审批,而会话留在你的机器上。 取舍:拥有会话的机器仍需在线并保持连接。
如果 tmux 已经适合你的工作流,继续用就好。Happier 提供了一种在手机上更顺手地完成“查看进度 / 发一条后续指令 / 处理审批”这个循环的方式。
方案 A:使用服务端提供的 Web UI(自托管时推荐)
如果你在自托管或使用自定义 Relay,请确保 UI 有一个可访问的 HTTPS 地址(例如通过 Tailscale Serve 得到的 *.ts.net 地址)。
原因:浏览器会把 http://localhost 视为安全上下文,但不会这样对待任意局域网或 Tailscale 上的 HTTP 源,而 Happier 依赖需要安全上下文的浏览器功能。
方案 B:使用原生移动应用
如果使用移动应用,关键是三件事:
- 选择正确的 Relay(Happier Cloud 或你自托管的 Relay)
- 在该 Relay 上登录
- 确保你的机器(守护进程)连接到同一个 Relay
如果你刚接触 Happier(它是什么,在哪里获取)
关键是用 Happier 来完成手机上的部分(后续指令、审批、快速查看),而不用一直守在 SSH 里。
Happier 是一款面向 AI 编程代理的开源配套应用(移动端 / 网页 / 桌面):会话仍运行在你信任的机器上(笔记本 / 服务器 / 开发机),Happier 则是你在手机上推进工作流的地方。
开始使用:
- 如何在手机上使用 Happier
- GitHub: https://github.com/happier-dev/happier
- 安装 / 下载: https://github.com/happier-dev/happier#how-it-works
- Discord(社区与支持): https://discord.gg/W6Pb8KuHfg
从手机开始
在移动端(应用或 Web UI):
- 新建会话,并选择要运行它的机器。
- 发送你的任务。
- 离开终端时,让它继续运行。
在拥有该会话的机器上通过 CLI 继续
在拥有该会话的机器上:
如果会话仍在运行
使用 attach:
happier attach <session-id>如果会话已不活跃
使用 resume(仅当会话支持厂商侧恢复时有效):
happier resume <session-id>故障排查
移动端 Web UI 能打开,但无法连接或显示“wrong Relay”
请检查:
- UI 指向的 Relay 与你的守护进程(机器)相同
- 你在该 Relay 上登录的是同一个账号
- 如果是自托管,打开的地址是 HTTPS(而不是局域网或 Tailscale 上的普通 HTTP)