TUI(终端 UI)

快速开始 启动 Gateway 网关。 openclaw gateway 打开 TUI。 openclaw tui 输入消息并按 Enter。 远程 Gateway 网关: openclaw tui --url ws://<host>:<port> --token <gateway-token> 如果你的 Gateway 网关使用密码认证,请使用 --password。 你看到的内容 标题栏:连接 URL、当前智能体、当前会话。 聊天日志:用户消息、助手回复、系统通知、工具卡片。 状态行:连接/运行状态(连接中、运行中、流式传输中、空闲、错误)。 页脚:连接状态 + 智能体 + 会话 + 模型 + think/verbose/reasoning + token 计数 + 投递状态。 输入:带自动完成的文本编辑器。 心智模型:智能体 + 会话 智能体是唯一的标识符(例如 main、research)。Gateway 网关公开列表。 会话属于当前智能体。 会话键存储为 agent:<agentId>:<sessionKey>。 如果你输入 /session main,TUI 会将其扩展为 agent:<currentAgent>:main。 如果你输入 /session agent:other:main,你会显式切换到该智能体会话。 会话范围: per-sender(默认):每个智能体有多个会话。 global:TUI 始终使用 global 会话(选择器可能为空)。 当前智能体 + 会话始终在页脚中可见。 发送 + 投递 消息发送到 Gateway 网关;默认情况下不投递到提供商。 开启投递: /deliver on 或设置面板 或使用 openclaw tui --deliver 启动 选择器 + 覆盖层 模型选择器:列出可用模型并设置会话覆盖。 智能体选择器:选择不同的智能体。 会话选择器:仅显示当前智能体的会话。 设置:切换投递、工具输出展开和思考可见性。 键盘快捷键 Enter:发送消息 Esc:中止活动运行 Ctrl+C:清除输入(按两次退出) Ctrl+D:退出 Ctrl+L:模型选择器 Ctrl+G:智能体选择器 Ctrl+P:会话选择器 Ctrl+O:切换工具输出展开 Ctrl+T:切换思考可见性(重新加载历史) 斜杠命令 核心: ...

WebChat(Gateway 网关 WebSocket UI)

状态:macOS/iOS SwiftUI 聊天 UI 直接与 Gateway 网关 WebSocket 通信。 它是什么 Gateway 网关的原生聊天 UI(无嵌入式浏览器,无本地静态服务器)。 使用与其他渠道相同的会话和路由规则。 确定性路由:回复始终返回到 WebChat。 快速开始 启动 Gateway 网关。 打开 WebChat UI(macOS/iOS 应用)或控制 UI 聊天标签页。 确保已配置 Gateway 网关认证(默认需要,即使在 loopback 上)。 工作原理(行为) UI 连接到 Gateway 网关 WebSocket 并使用 chat.history、chat.send 和 chat.inject。 chat.inject 直接将助手注释追加到转录并广播到 UI(无智能体运行)。 历史记录始终从 Gateway 网关获取(无本地文件监听)。 如果 Gateway 网关不可达,WebChat 为只读模式。 远程使用 远程模式通过 SSH/Tailscale 隧道传输 Gateway 网关 WebSocket。 你不需要运行单独的 WebChat 服务器。 配置参考(WebChat) 完整配置:配置 渠道选项: 没有专用的 webchat.* 块。WebChat 使用下面的 Gateway 网关端点 + 认证设置。 相关的全局选项: ...

仪表板(控制 UI)

Gateway 网关仪表板是默认在 / 提供的浏览器控制 UI (通过 gateway.controlUi.basePath 覆盖)。 快速打开(本地 Gateway 网关): http://127.0.0.1:18789/(或 http://localhost:18789/) 关键参考: 控制 UI 了解使用方法和 UI 功能。 Tailscale 了解 Serve/Funnel 自动化。 Web 界面 了解绑定模式和安全注意事项。 认证通过 connect.params.auth(token 或密码)在 WebSocket 握手时强制执行。 参见 Gateway 网关配置 中的 gateway.auth。 安全注意事项:控制 UI 是一个管理界面(聊天、配置、执行审批)。 不要公开暴露它。UI 在首次加载后将 token 存储在 localStorage 中。 优先使用 localhost、Tailscale Serve 或 SSH 隧道。 快速路径(推荐) 新手引导后,CLI 现在会自动打开带有你的 token 的仪表板,并打印相同的带 token 链接。 随时重新打开:openclaw dashboard(复制链接,如果可能则打开浏览器,如果是无头环境则显示 SSH 提示)。 token 保持本地(仅查询参数);UI 在首次加载后移除它并保存到 localStorage。 Token 基础(本地 vs 远程) Localhost:打开 http://127.0.0.1:18789/。如果你看到"unauthorized",运行 openclaw dashboard 并使用带 token 的链接(?token=...)。 Token 来源:gateway.auth.token(或 OPENCLAW_GATEWAY_TOKEN);UI 在首次加载后存储它。 非 localhost:使用 Tailscale Serve(如果 gateway.auth.allowTailscale: true 则无需 token)、带 token 的 tailnet 绑定,或 SSH 隧道。参见 Web 界面。 如果你看到"unauthorized" / 1008 运行 openclaw dashboard 获取新的带 token 链接。 确保 Gateway 网关可达(本地:openclaw status;远程:SSH 隧道 ssh -N -L 18789:127.0.0.1:18789 user@host 然后打开 http://127.0.0.1:18789/?token=...)。 在仪表板设置中,粘贴你在 gateway.auth.token(或 OPENCLAW_GATEWAY_TOKEN)中配置的相同 token。

控制 UI(浏览器)

控制 UI 是一个由 Gateway 网关提供服务的小型 Vite + Lit 单页应用: 默认:http://<host>:18789/ 可选前缀:设置 gateway.controlUi.basePath(例如 /openclaw) 它直接与同一端口上的 Gateway 网关 WebSocket 通信。 快速打开(本地) 如果 Gateway 网关在同一台计算机上运行,打开: http://127.0.0.1:18789/(或 http://localhost:18789/) 如果页面加载失败,请先启动 Gateway 网关:openclaw gateway。 认证在 WebSocket 握手期间通过以下方式提供: connect.params.auth.token connect.params.auth.password 仪表板设置面板允许你存储 token;密码不会被持久化。 新手引导向导默认生成一个 Gateway 网关 token,所以在首次连接时将其粘贴到这里。 设备配对(首次连接) 当你从新浏览器或设备连接到控制 UI 时,Gateway 网关需要一次性配对批准 — 即使你在同一个 Tailnet 上且 gateway.auth.allowTailscale: true。这是防止未授权访问的安全措施。 你会看到: “disconnected (1008): pairing required” 批准设备: # 列出待处理的请求 openclaw devices list # 按请求 ID 批准 openclaw devices approve <requestId> 一旦批准,设备会被记住,除非你使用 openclaw devices revoke --device <id> --role <role> 撤销它,否则不需要重新批准。参见 Devices CLI 了解 token 轮换和撤销。 ...