家里网络个人电脑部署openclaw以及通过飞书或机器人对接,经常提示:接口访问源IP不在白名单,这里有个免费终极解决方案实现在任何地方访问,不需要考虑运营商IP变动和第三方机器人请求额度问题。
💡 为什么推荐 cftunnel? 浏览器的语音输入(🎤)功能要求 HTTPS 安全上下文,局域网 HTTP 访问无法使用麦克风。cftunnel 自动提供 HTTPS,一条命令即可解锁语音输入等高级功能。
OpenClaw 是一个强大的 AI 智能体平台(中文汉化版),但它的 Gateway 默认只监听本机(),手机无法直接连接。
ClawApp 解决了这个问题:
代理服务端自动完成 Ed25519 设备签名握手认证(兼容 OpenClaw 2.13+),同时提供 H5 聊天页面,打开就能用,不需要装 App。
- 💬 实时流式聊天(打字机效果)
- 📷 图片收发(拍照/相册上传,AI 图片回复)
- 📝 Markdown 渲染 + 代码高亮(XSS 防护)
- ⚡ 快捷指令面板(/model、/think、/new 等)
- 🔧 工具调用实时状态显示
- 🎤 语音输入(语音转文字,需 HTTPS 环境)
- 🤖 多智能体支持(新建会话时可选择不同 Agent)
- 📋 会话管理(切换、新建、删除)
- 🌙 主题切换(亮色 / 暗色 / 跟随系统)
- 🌐 中英文切换
- 🔄 智能重连(断线自动恢复,无闪烁,消息去重)
- 🔒 Token + Ed25519 设备认证(兼容 OpenClaw 2.13+)
- 💾 离线消息缓存(IndexedDB 持久化,断网可查看历史,恢复后自动同步)
- 👋 新用户功能引导
- 📱 PWA 支持(添加到主屏幕,离线可用)
- 📦 Android APK 打包(Capacitor + GitHub Actions 自动构建)
一键部署(Mac / Linux)
一键部署(Windows PowerShell)
脚本会自动检测环境、克隆仓库、安装依赖、构建前端、交互式配置 Token,并支持 PM2 常驻运行。如果本地已安装 OpenClaw,会自动读取 Gateway Token。
前提条件
- 电脑上已运行 OpenClaw Gateway(默认端口 18789)
- 推荐使用 中文汉化版
- 安装了 Node.js 18+ 或 Docker
方式一:Docker 部署(推荐)
在项目根目录创建 文件:
启动:
方式二:直接运行
手机访问
- 确保手机和电脑在同一 WiFi
- 查看电脑 IP:
- Mac:
- Windows:
- Linux:
- 手机浏览器打开
- 填入服务器地址和 Token,点击连接
本地部署(同一网络)
适合家庭/办公室使用,手机和电脑在同一 WiFi 下。
Docker 容器部署
Docker 环境下会自动使用 连接宿主机的 Gateway。
使用 PM2 常驻运行
不在同一网络时,有以下方案:
方案一:cftunnel(推荐,一条命令搞定)
cftunnel 是 Cloudflare Tunnel 一键管理 CLI,免费、自动 HTTPS、无需公网 IP。
💡 为什么推荐 cftunnel? 浏览器的语音输入(🎤)功能要求 HTTPS 安全上下文,局域网 HTTP 访问无法使用麦克风。cftunnel 自动提供 HTTPS,一条命令即可解锁语音输入等高级功能。
临时分享(零配置):
固定域名(需要 Cloudflare 账号 + 自有域名):
详见 cftunnel 文档 · 也有 桌面客户端 可视化管理
方案二:SSH 隧道(简单快速)
需要一台有公网 IP 的服务器。
⚠️ 服务器需要:
- 中设置
- 防火墙放行 3210 端口
手机访问
⚠️ SSH 隧道默认是 HTTP,语音输入功能不可用。如需语音输入,请配合 Nginx SSL 或改用 cftunnel。
方案三:Nginx 反向代理
方案对比
打开 H5 页面后会看到连接设置页:
💡 通过 HTTPS 访问时(如 Cloudflare Tunnel),WebSocket 会自动切换为 WSS 加密连接。
H5 客户端设置
点击聊天页右上角 ⚙️ 图标:
- 主题:浅色 / 深色 / 跟随系统
- 语言:中文 / English
- 断开连接:返回连接页
Q: 一直显示「连接中」?
- 检查 OpenClaw Gateway 是否在运行:
- 确认 正确
- Docker 部署时,Gateway 地址应为
Q: 手机打不开页面?
- 手机和电脑是否在同一 WiFi?
- 电脑防火墙是否放行了 3210 端口?
- 地址是否用了电脑 IP(不是 localhost)?
Q: WebSocket 经常断开?
服务端内置 30 秒心跳保活,客户端也有 25 秒应用层心跳。如果还是断,检查反向代理的超时配置(建议 > 60s)。SSH 隧道建议加 。
Q: 能多人同时使用吗?
可以。每个连接创建独立的 Gateway 会话,但共享同一个 OpenClaw 实例。
Q: 怎么添加更多语言?
编辑 ,添加新的语言包(如 ),然后在 中添加对应按钮。
Q: 语音输入按钮点了没反应?
浏览器要求 HTTPS 才能使用麦克风。局域网 HTTP 访问时,语音按钮会提示需要 HTTPS。解决方案:使用 一键开启 HTTPS 隧道,详见外网访问。
Q: Docker 构建时 npm install 超时失败?
国内网络拉取 npm 包可能很慢,有几种解决方案:
- 在 Dockerfile 的 前加镜像源:
- 或者跳过 Docker,直接本地运行(推荐网络不好时使用):
Q: 启动时报 EADDRINUSE 端口被占用?
说明 3210 端口已被其他进程占用。常见原因:
- 之前用 PM2 启动过:
- 之前用 nohup 启动过:
- Docker 容器还在跑:
确认端口释放后再启动:
Q: 用 PM2 管理时不断重启?
PM2 会在进程崩溃时自动重启。如果 Gateway 没运行或 Token 错误,服务会启动后立即因连接失败而退出,导致循环重启。解决:
- 先确认 Gateway 在运行:
- 检查 中的 Token 是否正确
- 查看 PM2 日志定位问题:
Q: 不需要修改 OpenClaw 就能用吗?
是的。ClawApp 完全兼容原生 OpenClaw,不需要安装插件、不需要改配置、不需要开额外端口。只要 Gateway 在运行(默认 ),把 Token 填到 里就能用。
Q: 部署到远程服务器后访问不了?
- 确认防火墙放行了 3210 端口:
- 云服务器还需要在控制台安全组中放行 3210 端口
- 确认服务在监听:
- 注意:远程服务器上也需要运行 OpenClaw Gateway,否则页面能打开但无法聊天
Q: 一键脚本安装的 Node.js (nvm) 在 PM2 重启后找不到?
nvm 安装的 Node.js 需要 source 才能生效。如果 PM2 通过 设置了开机自启,重启后可能找不到 node。解决:
或者将 nvm 的 node 软链到系统路径:
Q: 能部署到没有 OpenClaw 的服务器上吗?
可以部署,但需要通过 SSH 隧道或反向代理将远程服务器的请求转发回运行 OpenClaw 的电脑。典型场景:
在远程服务器上:
这样远程 ClawApp 就能通过 连接到你本地的 Gateway。
- 务必设置强 (建议 32 位以上随机字符串)
- Gateway Token 只在服务端 中,不会暴露给客户端
- 公网访问建议使用 HTTPS(Cloudflare Tunnel 或 Nginx + SSL)
- 可选:使用 Cloudflare Access 添加额外认证
- 部署到公网服务器时,务必设置防火墙规则,只开放必要端口(3210)
- 不要将 文件提交到 Git(已在 中排除)
- OpenClaw - AI 智能体平台
- OpenClaw 中文汉化版 - 社区汉化
- cftunnel - Cloudflare Tunnel 一键管理 CLI(推荐用于外网访问)
- cftunnel-app - cftunnel 桌面客户端
English Documentation
What is this?
ClawApp is an H5 mobile chat client that lets you chat with your OpenClaw AI agent from any phone browser.
Quick Start
Docker:
Direct:
Open on your phone.
Remote Access
- cftunnel (recommended): — github.com/qingchencloud/cftunnel
- SSH Tunnel:
- Nginx: Configure WebSocket proxy to port 3210
Features
Real-time streaming chat, image send & receive, Markdown rendering, offline message cache (IndexedDB), Ed25519 device auth, session management, dark/light/auto theme, English/Chinese i18n, smart reconnect (no flicker), XSS protection, token auth.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/232462.html