TUI (Terminal UI)

快速开始

  1. 启动 Gateway。
openclaw gateway
  1. 打开 TUI。
openclaw tui
  1. 输入消息并按 Enter。

连接远程 Gateway:

openclaw tui --url ws://<host>:<port> --token <gateway-token>

如果你的 Gateway 使用密码认证,用 --password 参数。

界面说明

  • 顶部栏:连接 URL、当前 Agent、当前 Session。
  • 聊天记录:用户消息、助手回复、系统通知、工具卡片。
  • 状态栏:连接/运行状态(连接中、运行中、流式传输中、空闲、错误)。
  • 底部栏:连接状态 + Agent + Session + 模型 + think/verbose/reasoning + Token 计数 + deliver。
  • 输入框:带自动补全的文本编辑器。

核心概念:Agent + Session

  • Agent 是唯一的标识符(例如 mainresearch)。Gateway 会提供 Agent 列表。
  • Session 属于当前 Agent。
  • Session 键的存储格式为 agent:<agentId>:<sessionKey>
    • 如果你输入 /session main,TUI 会展开为 agent:<currentAgent>:main
    • 如果你输入 /session agent:other:main,你会明确切换到那个 Agent Session。
  • Session 作用域:
    • per-sender(默认):每个 Agent 有多个 Session。
    • global:TUI 始终使用 global Session(选择器可能为空)。
  • 当前 Agent + Session 始终显示在底部栏。

发送 + 投递

  • 消息会发送到 Gateway;默认不投递到 Provider。
  • 开启投递:
    • /deliver on
    • 或在设置面板中开启
    • 或启动时使用 openclaw tui --deliver

选择器 + 浮层

  • 模型选择器:列出可用模型并设置 Session 覆盖。
  • Agent 选择器:选择不同的 Agent。
  • Session 选择器:仅显示当前 Agent 的 Session。
  • 设置:切换投递、工具输出展开和思考可见性。

键盘快捷键

  • Enter:发送消息
  • Esc:中止当前运行
  • Ctrl+C:清空输入(按两次退出)
  • Ctrl+D:退出
  • Ctrl+L:模型选择器
  • Ctrl+G:Agent 选择器
  • Ctrl+P:Session 选择器
  • Ctrl+O:切换工具输出展开/折叠
  • Ctrl+T:切换思考可见性(重新加载历史记录)

Slash 命令

核心命令:

  • /help
  • /status
  • /agent <id>(或 /agents
  • /session <key>(或 /sessions
  • /model <provider/model>(或 /models

Session 控制:

  • /think <off|minimal|low|medium|high>
  • /verbose <on|full|off>
  • /reasoning <on|off|stream>
  • /usage <off|tokens|full>
  • /elevated <on|off|ask|full>(别名:/elev
  • /activation <mention|always>
  • /deliver <on|off>

Session 生命周期:

  • /new/reset(重置 Session)
  • /abort(中止当前运行)
  • /settings
  • /exit

其他 Gateway slash 命令(例如 /context)会转发到 Gateway 并显示为系统输出。参见 Slash 命令

本地 Shell 命令

  • 在行首加 ! 前缀可在 TUI 主机上运行本地 Shell 命令。
  • TUI 会在每个 Session 首次使用时提示允许本地执行;拒绝后该 Session 会禁用 !
  • 命令在 TUI 工作目录的全新非交互式 Shell 中运行(不保留 cd/环境变量)。
  • 单独的 ! 会作为普通消息发送;前导空格不会触发本地执行。

工具输出

  • 工具调用显示为卡片,包含参数 + 结果。
  • Ctrl+O 在折叠/展开视图之间切换。
  • 工具运行时,部分更新会流式传输到同一张卡片。

历史记录 + 流式传输

  • 连接时,TUI 加载最新历史记录(默认 200 条消息)。
  • 流式响应会就地更新直到完成。
  • TUI 还会监听 Agent 工具事件以显示更丰富的工具卡片。

连接详情

  • TUI 以 mode: "tui" 注册到 Gateway。
  • 重新连接会显示系统消息;事件间隙会在日志中显示。

选项

  • --url <url>:Gateway WebSocket URL(默认为配置文件或 ws://127.0.0.1:<port>
  • --token <token>:Gateway Token(如需要)
  • --password <password>:Gateway 密码(如需要)
  • --session <key>:Session 键(默认:main,或作用域为 global 时为 global
  • --deliver:投递助手回复到 Provider(默认关闭)
  • --thinking <level>:覆盖发送时的思考级别
  • --timeout-ms <ms>:Agent 超时时间(毫秒)(默认为 agents.defaults.timeoutSeconds
  • --history-limit <n>:加载的历史记录条数(默认 200)

故障排除

发送消息后没有输出:

  • 在 TUI 中运行 /status 确认 Gateway 已连接且处于空闲/忙碌状态。
  • 检查 Gateway 日志:openclaw logs --follow
  • 确认 Agent 可以运行:openclaw statusopenclaw models status
  • 如果你期望在聊天频道中看到消息,启用投递(/deliver on--deliver)。

其他问题:

  • disconnected:确保 Gateway 正在运行,且你的 --url/--token/--password 正确。
  • 选择器中没有 Agent:检查 openclaw agents list 和你的路由配置。
  • Session 选择器为空:你可能处于 global 作用域或还没有 Session。