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;
}
``