- CLI
- 0.2.17
- 预览 ref
- a2c45c8
第一次用手机访问自托管的 Happier 时,经常会碰到一个让人困惑的浏览器限制。
http://localhost 用起来没问题。
但只要你换成类似这样的地址:
http://192.168.x.x:PORThttp://100.x.y.z:PORT(Tailscale IP)
……有些浏览器就不再把它当作安全上下文。
而 Happier 依赖需要安全上下文的浏览器功能(WebCrypto),所以“页面能打开,但用起来不对劲”是真实存在的故障。
可靠的方案是 Tailscale Serve,它会给你一个只能在 tailnet 内访问的 HTTPS *.ts.net 地址。
要点
- 在电脑和手机上安装 Tailscale。
- 为你的 Happier 启用 Serve(通过
hstack tailscale enable)。 - 在手机上打开生成的
https://*.ts.net地址。
常见做法及其取舍
-
局域网 IP + 端口:简单,但不是 HTTPS,可能不满足安全上下文的要求。
-
Tailscale IP + 端口:默认仍然不是 HTTPS,所以会遇到同样的问题。
-
Tailscale Serve:给你真正需要的 HTTPS 地址,而且不用向公网开放端口。 取舍:每台设备都需要安装并登录 Tailscale。
如果你第一次接触 Happier(它是什么、在哪里获取)
Happier 是一款面向 Claude Code、Codex 和 OpenCode 等 AI 编程代理的开源配套应用(移动端 / 网页 / 桌面端)。
这里的工作流是:在你信任的机器上运行 Happier,然后用手机通过稳定的 HTTPS 链接访问它。
开始设置:
- 如何在手机上使用 Happier
- GitHub: https://github.com/happier-dev/happier
- 安装 / 下载: https://github.com/happier-dev/happier#how-it-works
- Discord(社区与支持): https://discord.gg/W6Pb8KuHfg
为什么这里 HTTPS 很重要(安全上下文限制)
浏览器把 http://localhost 视为安全,但不会这样对待随便一个 http://<ip>:<port>。
所以远程访问需要 HTTPS。
Tailscale Serve 用一种省事的方式解决了这个问题:它给你一个只在 tailnet 内可用的 HTTPS 地址。
分步操作:为 Happier 启用 Tailscale Serve
在运行 Happier 的机器上:
- 安装 Tailscale 并登录。
- 运行:
hstack tailscale enable
hstack tailscale url- 复制这个地址。
在手机上:
- 安装 Tailscale,并登录同一个 tailnet。
- 在 Safari / Chrome 中打开该地址。
提示:在 iOS 的 Safari 中可以“添加到主屏幕”,用起来更像一个应用。
自动化(可选)
如果已经配置好 Serve,hstack start 可以优先使用 https://*.ts.net 地址作为规范链接和分享链接。
对于自托管服务器,设置 HAPPIER_PUBLIC_SERVER_URL 也有帮助,这样深层链接和二维码都会指向 HTTPS 地址。
故障排查
症状:页面能加载,但行为异常(加密 / 认证问题)
可能原因:
- 你通过局域网或 Tailscale IP 使用的是普通 HTTP,而不是 HTTPS
解决:
- 改用 Tailscale Serve,使用
https://*.ts.net地址