Skip to content

终端界面(xopc tui

tui 命令会打开全屏终端对话界面,底层使用 @earendil-works/pi-tui。流式展示助手回复、工具调用与思考块,体验上接近网关网页聊天,但完全在终端内完成。

命令行参数与速查见 CLI 命令参考 — tui


两种运行方式

方式参数是否需要网关适用场景
网关模式默认需要已启动的 xopc gateway与 Web 控制台共用会话、连接远程网关、在 TUI 里列出会话/模型等
嵌入式--local不需要仅用本机配置与工作区快速对话,不经过 HTTP

网关模式(默认)

  1. 先启动网关(见 网关服务)。
  2. 将 TUI 指到网关的根地址;若网关启用鉴权,需带上令牌:
bash
xopc tui
xopc tui --url http://localhost:18790 --token <你的网关令>

命令内置的默认地址为 http://localhost:3120。若你配置里的 gateway.port 不同(项目里常见默认是 18790),请用 --url 显式指定。

查看或生成令牌:

bash
xopc gateway token

嵌入式模式(--local

进程内运行 AgentService(与无 TUI 的 agent 命令同源):读取 xopc.json、工作区与默认模型,依赖网关进程。

bash
xopc tui --local

嵌入式模式下的限制:

  • 未接入会话列表、模型列表接口;/sessions、无参数的 /model / /models 会得到空列表或不可用提示;/model <id> 无法切换模型(未实现 PATCH)。
  • 当前版本不会从磁盘拉取历史聊天记录。
  • /reset 会重启嵌入式运行时,相当于清空本次内存态会话。

若要在 TUI 中切换会话与模型,建议使用 网关模式


命令行参数

参数说明
--url <url>网关根 URL(不要带路径后缀)。
--token <token>网关 Authorization: Bearer 令牌。
-s, --session <key>会话键(省略时默认为 cli:tui)。
-m, --message <text>连接成功后自动发送一条消息,界面保持打开。
--local嵌入式模式(不连网关)。
--thinking <level>思考等级覆盖,语义与网关 / agent 一致。

示例:

bash
xopc tui -s telegram:dm:123456
xopc tui -m "帮我总结收件箱"
xopc tui --url http://192.168.1.10:18790 --token "$TOKEN"

键盘与输入

按键行为
Enter提交当前行(普通消息或以 / 开头的命令)。
Escape中止当前正在进行的助手回复(若有)。
Ctrl+D退出 TUI。
Ctrl+C输入框非空时清空;为空时第一次提示再按退出,约 1 秒内第二次按确认退出。
Ctrl+O展开/折叠工具调用块。
Ctrl+T切换是否在流中显示思考内容。

/ 开头的行视为 斜杠命令(不会发给模型)。编辑器会对命令名做补全。


斜杠命令

命令说明
/help列出命令。
/model带参数:设置会话模型(provider/model)。无参数:列出模型(仅网关模式)。
/models同无参数的 /model
/session <key>切换会话并清空当前屏幕上的对话区。
/sessions列出会话(仅网关模式)。
/new/reset必要时中止;/reset 还会在服务端重置会话(嵌入式下为重启本地 agent)。
/abort中止当前运行。
/thinking开关思考区显示(等同 Ctrl+T)。
/tools开关工具块展开(等同 Ctrl+O)。
/status显示连接与活动状态(仅网关模式)。
/exit/quit退出 TUI。

日志与终端画面

TUI 占用屏幕期间,会对看起来像 JSON 结构一行一条 的日志输出做过滤,避免打乱布局。退出后恢复正常的 stdout/stderr。


实现要点

  • 网关: 对话走 POST /api/agentAccept: text/event-stream),并维持 GET /api/events 等广播类事件;会话与模型与网页控制台共用 REST(/api/sessions/api/models 等)。
  • 嵌入式: 消息经 AgentService.processDirectStreaming,事件来自智能体流(tokenthinkingtool_starttool_enderrorresult 等)。

基于 MIT 许可证发布