让 Web / 微信小程序 / Chrome 扩展 / 桌面 Tauri app / 自建客户端都能直连 OpenClaw AI Agent 实时聊天。
Gateway 在云端替 OpenClaw 挡下所有客户端连接,不用公网暴露本地实例。所有消息走 WebSocket 双向, 兼容 REST 同步/SSE 流式两种回退。
要不要暴露 OpenClaw 到公网 —— 一句话决定用哪种模式。绝大多数场景是「中继」, OpenClaw 在家里 / 内网, gateway 在云端替它挡子弹。
客户端直连 OpenClaw channel 端口。OpenClaw 必须公网可达。
✓ 简单 · 零中继延迟
✗ OpenClaw 端口暴露公网 · 需要自己搞证书/防火墙
默认推荐。OpenClaw 主动出站连 gateway, gateway 挡下所有客户端。
✓ OpenClaw 无需公网 IP · 客户端不感知后端
✓ 消息持久化 · 离线可 sync · 多客户端广播
✗ gateway 是 SPOF
全部在 clawline/platform pnpm monorepo 里。sdk / docs 独立 repo; wechat 小程序 + browser-agent 各自 repo 只是暂未合入。
WebSocket 客户端库, 给第三方接入用。包含 ClawlineClient (单连接) + ClawlinePool (LRU 连接池, 默认最多 3 并发)。
Node ESM 中继网关, 云端跑。所有客户端 + channel 都连它, 它做认证 / 限流 / 持久化 / 消息路由。
OpenClaw 插件, symlink 加载 TS 源码直接跑。做消息 pipeline: Zod 验证 → 去重 → 白名单 → 媒体下载/转录 → agent 路由 → 流式回推。
React 19 + Vite SPA。同一份代码同时打包成 Web PWA + Tauri 2 桌面 app。有独立 updater 走 GitHub Releases。
微信原生小程序客户端, .wxml/.wxss/.js。走 WSS 连 gateway, 用 SDK 协议。
Chrome 扩展 + native host。让 OpenClaw 通过 HTTP Hook API 反向控制浏览器 (打开 tab / 抓 DOM / 执行 JS)。
Gateway 对外暴露的接口全表。Admin 需要 X-Relay-Admin-Token 或 Logto JWT · User 需要 channel user token · Open 无需认证。
| Method | Path | 说明 | Auth |
|---|---|---|---|
| WEBSOCKET | |||
| WS | /backend | OpenClaw channel 上行 · channelId + secret 握手 | channel |
| WS | /client?channelId=&token=&chatId=&agentId= | 客户端连接 · token 认证 | User |
| 聊天 & 消息 | |||
| POST | /api/chat | 发消息 · sync JSON 或 SSE 流 (Accept 头切换) | User |
| GET | /api/messages/sync | 拉断线期间消息 · after/before 双向分页 | User |
| GET | /api/messages | Admin 浏览消息日志 | Admin |
| GET | /api/messages/stats | 按小时/模型/频道聚合 · 最近 500 条 | Admin |
| 媒体 & AI 辅助 | |||
| POST | /api/media/upload | 3 种 body: multipart / base64 / raw | User |
| GET | /api/media/:filename | 下载媒体 | Open |
| POST | /api/suggestions | AI 生成后续建议 / 回复草稿 | User |
| POST | /api/voice-refine | AI 优化 ASR 转录文本 | User |
| 管理 & Meta | |||
| GET | /healthz | 健康检查 · 后端数 / 客户端数 / 频道列表 | Open |
| GET | /api/meta | 网关元数据 · 认证状态 · 公开 URL | Open |
| GET | /api/state | 完整中继状态 | Admin |
| POST | /api/channels · /api/channels/:id/users | 频道 / 用户 CRUD | Admin |
| GET | /api/agents | 列出 agent · online 状态 | Admin |
| * | /api/settings · /api/ai-settings · /api/relay-nodes | 通用设置 · AI 配置 · 多节点管理 | Admin |
按 8 个维度打分,评分标准: 1-3 原型阶段 · 4-6 内测可用 · 7-8 生产就绪 · 9-10 工程卓越。红色 = 阻断上线的硬伤。
3 个 skill 沉淀了这些血泪教训: clawline-local-dev / clawline-api-integration / clawline-desktop-release。
主 monorepo clawline/platform 装 3 个 app; sdk / wechat / browser-agent / docs 仍独立 repo。开发分支全走 dev, main 只 track 不动。