ClawApp H5 移动端方案:让 AI Agent 对话随身而行
地铁里的告警与即时响应
通勤路上,手机震动——系统发出告警,需要立即调整 Agent 的对话策略。此时手边没有电脑,第三方聊天工具又无法调用平台特有功能。这种困境,你是否经历过?
ClawApp 为此而生:一个运行在浏览器中的移动端聊天客户端,专为 OpenClaw AI Agent 平台设计。无需安装 App,用手机浏览器即可与 AI 智能体实时交互。
技术架构解析
ClawApp 采用纯前端技术栈,这是核心设计决策,直接决定了它的能力边界。
项目结构
ClawApp/
├── src/
│ ├── components/ # UI 组件
│ ├── services/ # API 通信层
│ ├── stores/ # 状态管理
│ └── utils/ # 工具函数
├── public/
│ └── index.html
└── package.json
三层架构设计
| 层级 | 职责 | 技术选型 |
|---|---|---|
| 视图层 | 消息渲染、输入交互 | 响应式布局 + CSS 适配 |
| 通信层 | 与 OpenClaw 后端交互 | Fetch API + WebSocket |
| 状态层 | 会话管理、上下文维护 | 本地存储 + 内存状态 |
三层各司其职:视图层负责在各种屏幕尺寸上呈现消息列表和输入框;通信层通过 HTTP 请求处理常规消息,通过 WebSocket 建立长连接实现实时对话;状态层则在内存中维护当前会话,同时将关键数据持久化到 localStorage。
这种分层带来的直接好处是零安装、秒启动、全平台兼容。用户只需在浏览器输入地址,无需等待应用市场审核更新,任何支持 HTML5 的移动浏览器都能直接使用。
与原生方案的对比
在移动端实现 AI 对话,市面上存在几种主流路径:
原生 App 功能完整,但 iOS 和 Android 需要分别开发,一次迭代意味着两份工作量。用户侧也面临手动更新的问题。
Electron 移动版 本质上是打包后的 Chromium,内核体积庞大,移动端性能表现不理想。
H5 方案 则走了另一条路:借助浏览器的能力换取轻量化。即开即用,体积为零,更新实时生效。
代价同样存在:H5 无法调用摄像头、蓝牙等原生系统 API,功能完全受限于浏览器能力范围。对于仅需对话交互的场景,这个权衡是值得的。
快速部署指南
本地开发环境
# 克隆项目
git clone https://github.com/xxx/ClawApp.git
cd ClawApp
# 安装依赖
npm install
# 启动开发服务器
npm run dev
开发服务器默认运行在 http://localhost:5173。在手机和电脑处于同一网络时,用手机浏览器访问电脑 IP 加端口号即可预览。代码修改后会触发热更新,界面自动刷新。
生产环境部署
# 构建生产版本
npm run build
构建产物输出至 dist/ 目录,可部署到任意静态文件服务器:
server {
listen 80;
server_name clawapp.yourdomain.com;
location / {
root /var/www/clawapp/dist;
try_files $uri $uri/ /index.html;
}
}
部署完成后,团队成员通过域名即可访问。更新时只需重新构建并替换 dist/ 内容,用户下次刷新页面即使用最新版本,无需任何手动操作。
核心配置说明
客户端接入 OpenClaw 平台前,需在配置文件中指定服务端地址:
// src/config/api.js
export const API_BASE_URL = 'https://your-openclaw-server.com';
export const WS_URL = 'wss://your-openclaw-server.com/ws';
export const SESSION_CONFIG = {
maxHistoryLength: 100, // 本地缓存的最大消息数
autoReconnect: true, // 连接断开后自动重连
reconnectInterval: 3000 // 重连间隔(毫秒)
};
移动端适配有两个关键点:视口配置和触摸交互。
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
user-scalable=no 防止用户双击缩放页面,避免输入框获得焦点时页面自动缩放的问题。CSS 层面则通过媒体查询和弹性布局适配不同屏幕尺寸。
若你的 OpenClaw 部署在内网,只需将 API_BASE_URL 指向内网地址,数据全程不经过公网。
适用场景
ClawApp 并非为了替代桌面端,而是填补特定场景的空白:
移动办公:出差途中、通勤路上收到告警,手机直接处理紧急需求。
快速验证:产品经理想验证新对话策略的效果,无需打开电脑,直接在手机上测试。
轻量化需求:部分用户追求极简体验,不愿安装额外应用,浏览器就是入口。
如果你的 OpenClaw 实例由 ClawPanel 管理,部署 ClawApp 后可以通过统一面板集中管理两者,效率更高。
项目地址:ClawApp GitHub
现在,用手机浏览器访问你的 OpenClaw 服务地址,体验一下移动端对话的便捷吧。