不用聊天软件 OpenClaw 手机浏览器远程访问控制:Tailscale 配置、设备配对与常见问题全解

不用聊天软件 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 已从源码构建并能正常启动(参考本系列上篇)
  • 电脑和手机都安装了 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

日常流程简化为:

  1. 电脑运行 pnpm openclaw gateway
  2. 手机确保 Tailscale 已连接(在线状态)
  3. 手机浏览器打开 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 免费专栏 | 免费订阅

相关推荐
老周聊架构2 小时前
AI Agent 如何重构下一代数据栈、多模态数据湖的演进以及元数据治理的创新实践
gravitino·openclaw·tbds·scopedb
lifallen2 小时前
从零推导多 Agent 协作网络 (Flow Agent)
人工智能·语言模型
站大爷IP2 小时前
Python 合并 PDF 文件(批量处理方法)
python
2501_945423542 小时前
工具、测试与部署
jvm·数据库·python
Oueii2 小时前
数据分析师的Python工具箱
jvm·数据库·python
夏末蝉未鸣012 小时前
Windows环境下载并安装milvus
windows·milvus
guoji77882 小时前
2026年Gemini 3 Pro vs 豆包2.0深度评测:海外顶流与国产黑马谁更强?
大数据·人工智能·架构
weixin_421922692 小时前
使用Scikit-learn进行机器学习模型评估
jvm·数据库·python
NAGNIP2 小时前
一文搞懂深度学习中的损失函数设计!
人工智能·算法