## Control UI 仪表板
OpenClaw Gateway 自带一个 Web 管理界面——Control UI 仪表板。通过它你可以在浏览器中查看 Gateway 状态、管理会话、监控渠道,无需记忆 CLI 命令。
### 访问仪表板
启动 Gateway 后,在浏览器中打开:
```
http://127.0.0.1:18789/
```
默认端口是 `18789`。如果你修改了端口配置,请使用对应的端口号。
### 确认 Gateway 正在运行
```bash
# 检查 Gateway 状态
openclaw gateway status
# 如果未运行,启动 Gateway
openclaw gateway run
```
看到类似以下输出说明 Gateway 已启动:
```
Gateway is running on http://127.0.0.1:18789
```
## 仪表板功能概览
Control UI 仪表板提供了以下核心功能:
### 渠道状态
在仪表板首页可以看到所有已配置渠道的连接状态:
- ✅ **已连接**:渠道正常工作
- ⚠️ **配置中**:渠道已配置但未完成连接
- ❌ **断开**:渠道连接已断开,需要排查
每个渠道会显示:
- 渠道类型(Telegram、WhatsApp、Discord 等)
- 连接状态
- 最后活跃时间
- 消息统计
### 会话管理
仪表板的会话页面让你查看和管理所有活跃会话:
- 查看当前活跃的会话列表
- 查看每个会话的消息历史
- 查看会话关联的渠道和联系人
- 手动结束或重置会话
### 配置查看
在配置页面可以查看当前 Gateway 的配置信息:
- 已启用的工具列表
- 模型提供商配置
- 智能体配置
- 渠道配置
⚠️ 仪表板目前主要用于**查看**配置,修改配置仍需编辑 `openclaw.json` 文件。
### 日志查看
实时查看 Gateway 的运行日志,方便排查问题:
- 消息收发日志
- 工具调用日志
- 错误和警告信息
- 模型 API 调用记录
## WebChat 使用
WebChat 是 OpenClaw 内置的浏览器聊天界面。它通过 WebSocket 直接与 Gateway 通信,无需连接任何外部渠道就能和智能体对话。
### 访问 WebChat
WebChat 集成在 Control UI 中,访问地址:
```
http://127.0.0.1:18789/
```
在仪表板界面中找到 WebChat 入口,或者直接通过聊天图标打开。
### WebChat 的优势
相比通过 Telegram、WhatsApp 等渠道对话,WebChat 有几个独特优势:
- **零配置**:不需要配置任何渠道,Gateway 启动后直接可用
- **低延迟**:本地 WebSocket 连接,响应速度最快
- **完整功能**:支持所有智能体功能,包括文件上传、代码高亮
- **调试友好**:可以直接在浏览器开发者工具中查看通信数据
### 使用场景
WebChat 特别适合以下场景:
- **本地开发测试**:快速测试智能体的回复效果
- **技能调试**:安装新技能后立即测试
- **配置验证**:修改配置后验证是否生效
- **演示展示**:向他人展示智能体的能力
### WebChat 与渠道的区别
| 对比项 | WebChat | 外部渠道(Telegram 等) |
|--------|---------|------------------------|
| 配置要求 | 无需配置 | 需要 Bot Token 等 |
| 访问方式 | 浏览器打开 | 对应 App |
| 网络要求 | 本地访问 | 需要外网 |
| 消息格式 | 完整支持 | 受渠道限制 |
| 适用场景 | 开发测试 | 日常使用 |
## TUI 终端界面
如果你更喜欢在终端中操作,OpenClaw 提供了 TUI(Terminal User Interface)——一个终端内的聊天界面。
### 启动 TUI
```bash
openclaw tui
```
TUI 会在终端中打开一个交互式聊天界面,支持:
- 多行输入
- 消息历史滚动
- 代码块高亮显示
- 快捷键操作
### TUI 快捷键
| 快捷键 | 功能 |
|--------|------|
| `Enter` | 发送消息 |
| `Shift+Enter` | 换行(多行输入) |
| `Ctrl+C` | 退出 TUI |
| `↑` / `↓` | 滚动消息历史 |
### 快速对话(不启动 TUI)
如果只想发送一条消息并获取回复,不需要启动 TUI:
```bash
# 发送单条消息
openclaw agent --message "你好,帮我写一个 Hello World"
# 从文件读取消息
openclaw agent --message "$(cat question.txt)"
```
### TUI vs WebChat
| 对比项 | TUI | WebChat |
|--------|-----|---------|
| 运行环境 | 终端 | 浏览器 |
| 启动方式 | `openclaw tui` | 打开 URL |
| 适合场景 | SSH 远程、服务器 | 本地开发、演示 |
| 文件上传 | 不支持 | 支持 |
| 代码高亮 | 基础支持 | 完整支持 |
## 远程访问仪表板
默认情况下,仪表板只能在本地访问(`127.0.0.1`)。如果你需要从其他设备访问,有以下几种方式。
### 方式一:Tailscale(推荐)
Tailscale 是最简单安全的远程访问方案。它创建一个加密的点对点网络,无需开放端口。
```bash
# 在服务器上安装 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# 获取 Tailscale IP
tailscale ip -4
# 输出类似:100.x.x.x
```
然后在你的设备上也安装 Tailscale 并登录同一账号,就可以通过 Tailscale IP 访问:
```
http://100.x.x.x:18789/
```
### 方式二:SSH 隧道
如果你能 SSH 到服务器,可以用 SSH 隧道转发端口:
```bash
# 在本地执行
ssh -L 18789:127.0.0.1:18789 user@your-server
# 然后在本地浏览器打开
# http://127.0.0.1:18789/
```
这样仪表板的流量会通过 SSH 加密隧道传输,安全且无需开放端口。
### 方式三:修改绑定地址
⚠️ 不推荐在公网环境使用,除非配置了认证。
编辑 `~/.openclaw/openclaw.json`:
```json
{
"gateway": {
"host": "0.0.0.0",
"port": 18789
}
}
```
将 `host` 改为 `0.0.0.0` 后,仪表板会监听所有网络接口,可以从外部访问。
**务必同时配置认证**(见下一节),否则任何人都能访问你的仪表板。
## 仪表板认证配置
当仪表板暴露到网络时,必须配置认证来保护访问。
### Token 认证
最简单的认证方式,使用一个密钥 Token:
```json
{
"gateway": {
"auth": {
"type": "token",
"token": "your-secret-token-here"
}
}
}
```
访问仪表板时需要在 URL 中携带 Token:
```
http://your-server:18789/?token=your-secret-token-here
```
### 密码认证
使用用户名和密码:
```json
{
"gateway": {
"auth": {
"type": "password",
"username": "admin",
"password": "your-strong-password"
}
}
}
```
访问仪表板时会弹出登录框,输入用户名和密码即可。
### 可信代理认证
如果你在 Nginx 等反向代理后面运行 Gateway,可以使用可信代理认证:
```json
{
"gateway": {
"auth": {
"type": "trusted-proxy",
"trustedProxies": ["127.0.0.1"]
}
}
}
```
这种方式将认证交给反向代理处理(如 Nginx 的 Basic Auth)。
### 生成安全 Token
```bash
# 使用 openssl 生成随机 Token
openssl rand -hex 32
# 或者使用 Node.js
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
```
## 常见问题
### 仪表板打不开
```bash
# 1. 检查 Gateway 是否在运行
openclaw gateway status
# 2. 检查端口是否被占用
lsof -i :18789
# 3. 检查防火墙
sudo ufw status
# 4. 尝试重启 Gateway
openclaw gateway restart
```
### WebChat 连接失败
WebChat 通过 WebSocket 连接 Gateway。如果连接失败:
- 确认 Gateway 正在运行
- 检查浏览器控制台是否有 WebSocket 错误
- 如果通过反向代理访问,确认 Nginx 配置了 WebSocket 支持:
```nginx
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
```
### 远程访问延迟高
- 优先使用 Tailscale,它会自动选择最优路径
- SSH 隧道的延迟取决于 SSH 连接质量
- 如果使用公网直连,确保服务器带宽充足
## 小结
OpenClaw 提供了三种交互方式,适合不同场景:
- **Control UI 仪表板**:Web 管理界面,查看状态、管理会话、监控渠道
- **WebChat**:浏览器聊天界面,零配置即可对话,适合开发测试
- **TUI**:终端聊天界面,适合 SSH 远程和服务器环境
远程访问推荐使用 Tailscale 或 SSH 隧道,安全且配置简单。如果需要公网访问,务必配置认证保护。
#WebChat #仪表板 #ControlUI #Web界面 #龙虾技能库