各位佬友好,之前发过一帖 OpenClaw 中文汉化版的部署教程,感谢大家的反馈和支持
用了一段时间之后发现一个痛点:虽然 OpenClaw 官方原生支持 WhatsApp、Telegram、Discord、QQ 机器人、企业微信、飞书等各种渠道,但配置起来有一定门槛,需要申请 Bot Token、配置 Webhook 之类的,有时候就是想拿手机随便问两句,不想折腾那些渠道配置
所以自己又撸了一个——ClawApp,算是中文汉化版的配套项目,不需要配置任何渠道,部署完直接用,相当于给 OpenClaw 多加了一个自由可控的聊天入口
ClawApp 是什么
一句话:用手机浏览器和你的 OpenClaw AI 智能体聊天,不需要装 App
架构很简单,就是一个 WebSocket 代理:
手机浏览器
↓ WebSocket
ClawApp Server(端口 3210)
↓ WebSocket
OpenClaw Gateway(端口 18789)
代理服务端自动完成 Gateway 的握手认证,同时提供一个 H5 聊天页面,手机打开浏览器输入地址就能用
技术栈
没用 React/Vue 那些,纯原生 JavaScript + Vite 构建,总共 3700 行左右:
server/index.js — Express + WebSocket 代理 + Gateway 握手 436 行
h5/src/chat-ui.js — 聊天 UI + 会话管理 756 行
h5/src/ws-client.js — WebSocket 协议层 + 重连 266 行
h5/src/main.js — 入口 + 连接页 206 行
h5/src/i18n.js — 中英文国际化 264 行
h5/src/markdown.js — Markdown 渲染 + 代码高亮 145 行
h5/src/commands.js — 快捷指令面板 134 行
样式文件 — style.css + components.css 1229 行
选择原生 JS 主要是因为:
- 项目不大,没必要上框架
- 打包体积小,手机加载快
- 维护简单,不用跟框架版本
功能
做这个的初衷就是想在手机上有接近桌面端的体验,所以功能没有缩水
聊天体验
- 流式输出,打字机效果逐字显示,30ms 节流渲染不卡顿
- 完整的 Markdown 渲染——标题、列表、加粗斜体、链接、图片都支持
- 代码块语法高亮,支持十几种语言关键字识别,一键复制
- 图片发送,支持 JPEG/PNG/GIF/WebP,4MB 以内,发之前有缩略图预览
- 发送中可以随时点停止按钮中断 AI 回复
- 消息队列机制,AI 还在回复的时候你可以继续打字发送,会自动排队
快捷指令面板
左下角闪电按钮点开,6 组指令一目了然:
/model list列出可用模型、/model xxx一键切换/new新建会话、/reset重置、/compact压缩上下文/think off/low/medium/high四档思考强度调节/skill xxx直接调用 OpenClaw 技能/status/whoami/context查看系统状态/verbose on/off开关详细输出
点指令直接发送,带参数的会自动填到输入框等你补全
会话管理
点顶部标题栏弹出会话列表:
- 多会话切换,每个会话独立上下文
- 新建自定义会话(debug、research 之类随便起名)
- 删除不需要的会话,有二次确认不怕误删
- 自动记住上次使用的会话,重连后恢复
工具调用可视化
AI 调用工具的时候不是黑盒,每个工具调用都有实时状态卡片——执行中转圈、完成打勾、失败标红,能看到 AI 在干什么
连接稳定性
- 25s 应用层心跳 + 30s 服务端心跳,双重保活
- 断线自动重连,指数退避策略,最长 30s 间隔
- 断连时顶部横幅提示,支持手动点击立即重连
wsId实例隔离机制,彻底解决新旧连接事件交叉的问题
其他
- 亮色 / 暗色 / 跟随系统三种主题
- 中英文切换,自动检测浏览器语言
- 新用户首次打开有功能引导
- PWA 支持,添加到主屏幕当原生 App 用,支持离线访问
- Android APK 自动构建(Capacitor + GitHub Actions),Release 页面直接下载
软件截图
部署
提供了三种方式,挑一个顺手的就行
一键脚本(推荐,最省事,但是网络不好的话,还是建议下载后部署):
Mac / Linux:
curl -fsSL https://raw.githubusercontent.com/qingchencloud/clawapp/main/install.sh | bash
Windows PowerShell:
irm https://raw.githubusercontent.com/qingchencloud/clawapp/main/install.ps1 | iex
脚本会自动检测环境、克隆仓库、安装依赖、构建前端,还会交互式配置 Token,如果本地已装 OpenClaw 会自动读取 Gateway Token
Docker:
git clone https://github.com/qingchencloud/clawapp.git
cd clawapp
# 创建 .env
echo 'PROXY_TOKEN=你设一个密码' > .env
echo 'OPENCLAW_GATEWAY_TOKEN=你的gateway-token' >> .env
docker compose up -d --build
手动运行:
git clone https://github.com/qingchencloud/clawapp.git
cd clawapp
npm run install:all
npm run build:h5
cp server/.env.example server/.env
# 编辑 server/.env 填入 token
npm start
启动后手机浏览器打开 http://你的电脑IP:3210 就行了
外网访问
不在同一个 WiFi 也能用,几种方案:
- Cloudflare Tunnel — 免费,自动 HTTPS,最推荐,缺点是依赖 CF 服务
- SSH 隧道 — 简单,一行命令搞定,缺点是需要公网服务器,隧道可能断
- Nginx 反代 — 完全可控,自定义域名,缺点是需要自己配 SSL
Cloudflare Tunnel 最简单:
cloudflared tunnel --url http://localhost:3210
会给你一个 https://xxx.trycloudflare.com 地址,手机直接访问,WebSocket 自动走 WSS 加密
一些技术细节
写这个项目过程中踩了几个坑,分享一下:
1. Gateway 握手协议
OpenClaw Gateway 的 WebSocket 连接不是标准的 connect-and-go,有一套握手流程,服务端需要先等 challenge(有些版本没有),然后发送 connect 帧带上 token,等 hello-ok 回来才算连接成功,中间还要处理消息缓存——握手完成前客户端发的消息先存着,握手成功后再批量发出去
2. WebSocket 重连的坑
最开始重连逻辑有 bug:旧的 WebSocket 实例 关闭时触发 onclose,又去创建新连接,新连接的事件和旧连接的事件交叉,导致状态混乱,后来加了一个 wsId 做实例隔离,每次创建新连接 wsId++,事件回调里先检查 wsId 是否匹配,不匹配就忽略
3. Docker 里连宿主机
Docker 容器里要连宿主机的 Gateway,不能用 localhost,docker-compose.yml 里用了 host.docker.internal:host-gateway 映射,Gateway URL 自动设为 ws://host.docker.internal:18789
项目信息
- GitHub:GitHub - qingchencloud/clawapp: 📱 ClawApp — Mobile H5 chat client for OpenClaw AI Agent platform. 用手机和你的 AI 智能体聊天。
- 产品主页:https://clawapp.qt.cool
- 协议:MIT
- 技术栈:Node.js + 原生 JS + Vite + Capacitor
- 前置依赖:需要先跑 OpenClaw Gateway(还没装的佬友可以看 中文汉化版部署教程)
欢迎 Star、Fork、提 Issue,有问题也可以在评论区聊
纯开源项目,MIT 协议,没有任何商业目的,和 中文汉化版 搭配使用体验最佳,希望对佬友们有帮助










