不用聊天软件 OpenClaw 手机浏览器远程访问控制:Tailscale 配置、设备配对与常见问题全解
系列 :Windows AI 环境搭建
环境:Windows 11 · OpenClaw 2026.3.14 · Tailscale · Android Chrome
OpenClaw 手机直连配置全流程
前言:为什么不用官方推荐的聊天软件方式
OpenClaw 官方推荐的手机访问方式是接入现有聊天平台------支持 Wh****** 等 50+ 平台,通过 Channel 适配层把消息路由到 Gateway。这套方案的好处是"手机上不用装额外的 App ",直接在现有 IM 里和 AI 对话。
但这套方案对国内用户存在明显的现实障碍:
- 上述平台在国内网络环境下访问受限,稳定性难以保障
- 接入需要申请 Bot 账号、配置 Webhook,流程繁琐
- 消息格式受平台限制,功能不如原生 Control UI 完整
- 国内主流 IM(微信、飞书、钉钉)暂无官方 Channel 原生支持本地模型
官方文档里同时提供了另一条路:保持 gateway.bind: "loopback",使用 Tailscale Serve 暴露 Control UI------这是官方认可的最安全默认配置,不涉及任何公网暴露,Gateway 始终只监听本机回环地址。
本文走的就是这条路:完全绕开第三方聊天平台渠道,用 Tailscale 私有网络直连 Control UI,手机浏览器即是完整 AI 对话界面。没有平台账号限制、没有 Bot 审核、没有消息格式约束,体验和直接在电脑上操作完全一致。
相关官方文档:
- OpenClaw Channels 概览:https://docs.openclaw.ai/channels/overview
- OpenClaw Remote Access:https://docs.openclaw.ai/gateway/remote
- OpenClaw Tailscale 配置:https://docs.openclaw.ai/gateway/tailscale
- OpenClaw GitHub:https://github.com/openclaw/openclaw


一、前置条件
- OpenClaw 已从源码构建并能正常启动(参考本系列上篇)
- 电脑和手机都安装了 Tailscale,并登录同一账号
- 手机 Tailscale 处于连接状态(在线)
验证电脑 Tailscale 状态:
tailscale status
正常输出示例:
100.111.124.96 ai your-account@ windows -
100.109.182.91 your-phone your-account@ android offline
手机节点显示 offline 说明 Tailscale app 未连接,需要先在手机上开启。
二、开启 Tailscale Serve
Tailscale Serve 把 Gateway 暴露在 https://<magicdns>/,仅对 tailnet 成员可见,Gateway 本身继续监听回环地址,由 Tailscale 代为转发入站 HTTPS 请求。
tailscale serve --bg --yes 18789
首次运行可能会报:
Serve is not enabled on your tailnet.
To enable, visit:
https://login.tailscale.com/f/serve?node=xxxxxx
用浏览器打开这个链接,登录 Tailscale 账号后点击授权即可。授权是一次性操作。
授权后重新执行命令,正常输出:
Available within your tailnet:
https://ai.你的节点名.ts.net/
|-- proxy http://127.0.0.1:18789
Serve started and running in the background.
To disable the proxy, run: tailscale serve --https=443 off
这个 https://ai.你的节点名.ts.net/ 就是手机访问的地址,记下来。
注意:Tailscale Serve 在后台持续运行,电脑重启后需要重新执行这条命令。
三、配置 allowedOrigins
OpenClaw gateway 有来源白名单机制,默认只允许本机访问。手机通过 Tailscale 域名访问时,origin 是 https://ai.你的节点名.ts.net,需要加入白名单。
两个地址都要加:手机访问地址 + 电脑本机浏览器地址。
pnpm openclaw config set gateway.controlUi.allowedOrigins '[\"https://ai.你的节点名.ts.net\",\"http://127.0.0.1:18789\"]'
⚠️ 坑点:PowerShell 引号问题
数组类型的配置值必须用转义双引号
'[\"值\"]',直接用单引号包裹 JSON 数组会报:
Error: Config validation failed: gateway.controlUi.allowedOrigins: Invalid input: expected array, received string如果嫌麻烦,直接编辑
C:\Users\你的用户名\.openclaw\openclaw.json更可靠:
"controlUi": { "allowedOrigins": [ "https://ai.你的节点名.ts.net", "http://127.0.0.1:18789" ] }
四、配置 trustedProxies
手机通过 Tailscale Serve 连接时,gateway 看到的来源 IP 是本机回环地址(127.0.0.1),真实 IP 在转发头里。不配置 trustedProxies 的话,gateway 日志会持续报:
[ws] Proxy headers detected from untrusted address. Connection will not be treated as local.
配置信任本机转发:
pnpm openclaw config set gateway.trustedProxies '[\"127.0.0.1\"]'
或直接编辑配置文件:
"trustedProxies": ["127.0.0.1"]
五、重启 Gateway 使配置生效
上面三项配置都需要重启 gateway 才生效:
pnpm openclaw gateway
确认以下日志出现说明 Tailscale 集成正常:
[tailscale] serve enabled: https://ai.你的节点名.ts.net/ (WS via wss://ai.你的节点名.ts.net)
[gateway] listening on ws://127.0.0.1:18789
六、手机首次访问与设备配对
远程连接需要通过 openclaw devices approve <requestId> 进行一次性设备审批,之后 Control UI 访问才会被放行。
手机浏览器打开 https://ai.你的节点名.ts.net/,页面会发起配对请求。此时 gateway 日志出现:
[ws] closed before connect ... reason=pairing required
这是正常现象,说明手机已到达 gateway,只是还未被批准。
在电脑上新开一个终端,查看待配对设备:
pnpm openclaw devices list
输出示例:
Pending (1)
+--------------------------------------+---------------------+----------+----------------+--------+
| Request | Device | Role | IP | Age |
+--------------------------------------+---------------------+----------+----------------+--------+
| ca138f86-386c-4674-8e2a-bb2a4de37d98 | b1cc47de4f0ee44... | operator | 100.109.182.91 | 2m ago |
+--------------------------------------+---------------------+----------+----------------+--------+
IP 为手机 Tailscale 地址的那条就是手机的配对请求,复制 Request ID 批准:
pnpm openclaw devices approve ca138f86-386c-4674-8e2a-bb2a4de37d98
输出 Approved ... 后,手机刷新页面即可正常进入 Control UI。
⚠️ 坑点:CLI 自身权限不足时的处理
如果
devices list里发现一条 Flags 列显示repair的记录,说明 CLI 自身的权限需要升级,要先批准这条,再批准手机:
# 先批准 repair 那条(CLI 自身) pnpm openclaw devices approve CLI设备的requestId # 再批准手机 pnpm openclaw devices approve 手机的requestId
七、首次配对后免审批
配对成功的设备信息持久化保存在 ~/.openclaw/ 状态文件里。之后每次手机访问,gateway 自动识别该设备直接放行,不需要重复 approve。
日常流程简化为:
- 电脑运行
pnpm openclaw gateway - 手机确保 Tailscale 已连接(在线状态)
- 手机浏览器打开
https://ai.你的节点名.ts.net/直接进入
需要重新配对的情况:
| 场景 | 是否需要重新配对 |
|---|---|
| 正常重启 gateway | ❌ 不需要 |
| 电脑重启 | ❌ 不需要 |
| 手机清除浏览器数据(cookie/localStorage) | ✅ 需要 |
手动执行 devices revoke |
✅ 需要 |
清空 ~/.openclaw/ 状态目录 |
✅ 需要 |
八、电脑本机浏览器访问
方式一:命令自动打开(推荐)
pnpm openclaw dashboard
自动获取当前 token 并用默认浏览器打开带认证参数的 URL,免登录直接进入。
方式二:手动输入地址
http://127.0.0.1:18789?token=你配置的token
⚠️ 注意 :直接访问
http://127.0.0.1:18789不带 token 参数会要求输入 token。如果allowedOrigins里没有加http://127.0.0.1:18789,会报origin not allowed,按第三节配置即可。
九、可忽略的警告清单
| 警告内容 | 原因 | 影响 |
|---|---|---|
[model-pricing] pricing bootstrap failed: TimeoutError |
拉取模型定价数据超时,本地模型不需要 | 无 |
[DEP0190] DeprecationWarning |
Node.js 新版本对 shell 参数拼接的警告 | 无 |
prepare$ command -v git ... The system cannot find |
git hooks 脚本用了 bash 语法,exit 0 正常退出 | 无 |
[bonjour] restarting advertiser |
局域网服务发现组件偶发状态重置 | 无 |
[ws] Proxy headers detected from untrusted address |
未配置 trustedProxies 时出现,按第四节配置后消失 | 配置前手机连接受影响 |
十、常见问题 FAQ
Q:手机 Tailscale 在线,但访问页面一直转圈或报错?
先检查电脑上 Tailscale Serve 是否在运行:
tailscale serve status
如果无输出或显示未启用,重新执行:
tailscale serve --bg --yes 18789
Q:手机访问显示 origin not allowed?
allowedOrigins 里没有手机访问的域名。按第三节把 https://ai.你的节点名.ts.net 加进去,重启 gateway。
Q:手机访问显示 pairing required,approve 后刷新还是这个提示?
检查 devices list 里是否有 repair 标志的 CLI 设备,先批准它,再批准手机。如果 approve 命令也报 gateway connect failed: pairing required,重启 gateway 后重新操作。
Q:allowedOrigins 配置了两个地址,电脑和手机能同时访问吗?
可以,allowedOrigins 是白名单,支持多个 origin 同时在线,互不干扰。
Q:以后换了手机或换了浏览器需要重新配置吗?
Tailscale 地址不变的情况下,只需重新配对(devices approve)一次,allowedOrigins 等配置不需要改。
Q:Tailscale 节点名变了(重新加入 tailnet)怎么办?
需要更新 allowedOrigins 里的域名,重新执行 tailscale serve --bg --yes 18789,然后重启 gateway。
十一、完整配置速查
# 1. 开启 Tailscale Serve(首次需浏览器授权)
tailscale serve --bg --yes 18789
# 2. 配置 allowedOrigins(手机域名 + 本机地址)
pnpm openclaw config set gateway.controlUi.allowedOrigins '[\"https://ai.节点名.ts.net\",\"http://127.0.0.1:18789\"]'
# 3. 配置 trustedProxies
pnpm openclaw config set gateway.trustedProxies '[\"127.0.0.1\"]'
# 4. 启动 gateway
pnpm openclaw gateway
# 5. 查看待配对设备
pnpm openclaw devices list
# 6. 批准手机
pnpm openclaw devices approve <requestId>
配置只需做一次,之后日常只需第 4 步。
小结
| 方案 | 优点 | 缺点 |
|---|---|---|
| 官方 Channel 方案(Telegram/Discord 等) | 用现有 App,无需安装新软件 | 国内网络访问受限,需配置 Bot,受平台消息格式约束 |
| 本文方案(Tailscale + Control UI) | 无平台限制,全功能 Web UI,私有网络安全 | 需安装 Tailscale,首次配对需在电脑操作一次 |
对于国内用户来说,Tailscale 方案几乎是最优解:私有网络流量不经过任何第三方服务器,Control UI 功能完整(对话、模型切换、会话管理、技能配置一应俱全),延迟低,稳定性好。
参考链接:
- OpenClaw 官方文档:https://docs.openclaw.ai
- OpenClaw Channels 概览:https://docs.openclaw.ai/channels/overview
- OpenClaw Remote Access 文档:https://docs.openclaw.ai/gateway/remote
- OpenClaw Tailscale 集成文档:https://docs.openclaw.ai/gateway/tailscale
- OpenClaw GitHub 仓库:https://github.com/openclaw/openclaw
- Tailscale Serve 官方文档:https://tailscale.com/kb/1312/serve
玩转 OpenClaw 免费专栏 | 免费订阅