OpenClaw Gateway 的 Flutter 聊天客户端
ClawChat 诞生于 2026 年 2 月,是一个专为 OpenClaw 打造的移动端聊天客户端。
在这个 AI 无处不在的时代,我们希望通过一个简洁、高效的移动端应用,让你随时随地与自己的 OpenClaw AI 助手保持连接——无论是在家里、办公室,还是旅途中。
💡 "随时随地,与 AI 对话" —— 这是我们的开发初衷。
- 手动添加 - 支持 IP/域名 + Token 方式添加 OpenClaw 服务器
- 多服务器 - 一键切换不同的 OpenClaw 实例
- 连接测试 - 添加前可先测试连接是否成功
- 配置备份 - 支持导出/导入服务器配置,换机无忧
- WebSocket 连接 - 实时双向通信,消息秒达
- 消息历史 - 本地存储聊天记录,断网也能查看
- 流式响应 - AI 回复逐字显示,体验更自然
- 飞书风格 - 简洁现代的 UI 设计
- 局域网直连 - 同一 WiFi 下直连电脑上的 OpenClaw
- 远程服务器 - 支持连接云端的 OpenClaw 实例
- 自动重连 - 网络波动时自动恢复连接
| 技术 | 用途 |
|---|---|
| Flutter 3.x | 跨平台 UI 框架 |
| Dart 3.x | 编程语言 |
| Riverpod | 状态管理 |
| web_socket_channel | WebSocket 通信 |
| Hive | 本地数据存储 |
| Material 3 | UI 设计规范 |
lib/
├── main.dart # 应用入口
├── constants/
│ └── app_theme.dart # 主题配色
├── models/
│ ├── server_config.dart # 服务器配置模型
│ └── message.dart # 消息模型
├── providers/
│ ├── server_provider.dart # 服务器状态管理
│ └── connection_provider.dart # 连接和消息管理
├── services/
│ ├── gateway_client.dart # WebSocket 客户端
│ └── storage_service.dart # 本地存储服务
├── pages/
│ ├── server_list_page.dart # 服务器列表(首页)
│ ├── server_edit_page.dart # 添加/编辑服务器
│ └── chat_page.dart # 聊天界面
└── widgets/
├── server_card.dart # 服务器卡片
├── message_bubble.dart # 消息气泡
└── input_bar.dart # 底部输入栏
ClawChat 连接 OpenClaw Gateway 时需要填写认证密码,该密码由 Gateway 服务端生成和管理,不是用户自行注册的账号密码。
- 登录你的服务器(腾讯云、阿里云或本地电脑),打开终端
- 查看 OpenClaw 配置文件:
cat ~/.openclaw/openclaw.json- 找到密码字段
gateway.auth.password,类似如下内容:
{
"gateway": {
"auth": {
"password": "your-password-here"
},
"port": 18789
}
}- 在 App 中填写:打开 ClawChat → 添加服务器 → 认证方式选择「密码」→ 将上面的密码粘贴进去即可
- 密码是 OpenClaw Gateway 首次启动时自动生成的,也可以手动修改配置文件来自定义
- 如果配置文件中同时存在
token字段,也可以在 App 中选择「Token」认证方式并填入对应的值 - 修改密码后需要重启 Gateway 服务才能生效
ClawChat 使用 OpenClaw Gateway 的设备配对机制进行安全认证。首次从新设备(手机)连接电脑上的 Gateway 时,需要在电脑上手动批准该设备,之后便永久信任,无需重复操作。
- 手机端:打开 App,添加服务器后点击"测试链接",此时会显示
认证失败:pairing required,这是正常现象。 - 电脑端:打开终端,运行以下命令查看待批准的设备请求:
openclaw devices list- 批准设备:找到待批准请求的
requestId,运行:
openclaw devices approve <requestId>- 手机端:重新点击"重试"或"测试链接",即可成功连接。
- 每台新手机首次连接都需要在电脑端批准一次。
- 批准后该设备永久配对,下次打开 App 会自动连接,无需再次批准。
- 如果清空了 Gateway 的设备列表(
openclaw devices clear --yes),所有设备需重新配对。 - 可以通过
openclaw dashboard命令在浏览器中打开 OpenClaw 控制台(部分版本支持图形化批准)。
git clone https://github.com/CarolLILI/clawchat.git
cd clawchat
flutter pub get# 调试运行
flutter run
# 构建 Android APK
flutter build apk --release
# 构建 iOS(需要 Mac + Xcode)
flutter build ios --release扫码下载 Release APK,直接安装到安卓手机:
感谢以下工具和平台对本项目的支持:
- OpenClaw - 提供 Gateway WebSocket 协议和开发环境
- Flutter - 跨平台 UI 框架
- Riverpod - 状态管理解决方案
- Hive - 轻量级本地数据库
- Moonshot AI (Kimi) - AI 编程助手
- Claude Code - AI 开发助手
- Feishu - UI 设计灵感来源
如有问题或建议,欢迎联系:
📧 邮箱:aoliao2022@gmail.com
🐙 GitHub:https://github.com/CarolLILI
⭐ 项目地址:https://github.com/CarolLILI/clawchat
MIT License
本项目由 AI 辅助开发,是人类与 AI 协作的成果。 🦞