Skip to content

CarolLILI/clawchat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClawChat 🦞

OpenClaw Gateway 的 Flutter 聊天客户端

Flutter Dart License


📖 项目背景

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 服务端生成和管理,不是用户自行注册的账号密码。

如何获取密码

  1. 登录你的服务器(腾讯云、阿里云或本地电脑),打开终端
  2. 查看 OpenClaw 配置文件
cat ~/.openclaw/openclaw.json
  1. 找到密码字段 gateway.auth.password,类似如下内容:
{
  "gateway": {
    "auth": {
      "password": "your-password-here"
    },
    "port": 18789
  }
}
  1. 在 App 中填写:打开 ClawChat → 添加服务器 → 认证方式选择「密码」→ 将上面的密码粘贴进去即可

补充说明

  • 密码是 OpenClaw Gateway 首次启动时自动生成的,也可以手动修改配置文件来自定义
  • 如果配置文件中同时存在 token 字段,也可以在 App 中选择「Token」认证方式并填入对应的值
  • 修改密码后需要重启 Gateway 服务才能生效

⚠️ 设备配对说明

ClawChat 使用 OpenClaw Gateway 的设备配对机制进行安全认证。首次从新设备(手机)连接电脑上的 Gateway 时,需要在电脑上手动批准该设备,之后便永久信任,无需重复操作。

配对流程

  1. 手机端:打开 App,添加服务器后点击"测试链接",此时会显示 认证失败:pairing required,这是正常现象。
  2. 电脑端:打开终端,运行以下命令查看待批准的设备请求:
openclaw devices list
  1. 批准设备:找到待批准请求的 requestId,运行:
openclaw devices approve <requestId>
  1. 手机端:重新点击"重试"或"测试链接",即可成功连接。

注意事项

  • 每台新手机首次连接都需要在电脑端批准一次。
  • 批准后该设备永久配对,下次打开 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

📥 Android 安装包

扫码下载 Release APK,直接安装到安卓手机:

Android 下载二维码


🙏 致谢

感谢以下工具和平台对本项目的支持:


📮 联系我们

如有问题或建议,欢迎联系:

📧 邮箱aoliao2022@gmail.com

🐙 GitHubhttps://github.com/CarolLILI

项目地址https://github.com/CarolLILI/clawchat


📝 License

MIT License


本项目由 AI 辅助开发,是人类与 AI 协作的成果。 🦞

About

OpenClaw Gateway 聊天客户端 - Flutter App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages