-
Notifications
You must be signed in to change notification settings - Fork 12
Terminal UI
Mingjun Zhao edited this page Jun 11, 2026
·
1 revision
Secbot v2 终端 UI 基于 Ink + React,通过 SSE 流式渲染「块式」对话 transcript。
| 模式 | 环境变量 | 说明 |
|---|---|---|
| spawn(默认) | — | TUI 自动启动本地后端子进程 |
| service |
SECBOT_TUI_BACKEND=service + SECBOT_API_URL
|
连接已有后端 |
- SessionView — 主会话界面(Claude-like 布局:transcript + 任务面板)
- HomeView — 入口 / 会话列表
- 底部:输入框、模型信息、ctx 上下文用量
TUI 将 SSE 事件聚合为可滚动块,常见类型:
| 类型 | 展示内容 |
|---|---|
user_message |
用户输入 |
response |
助手回复 |
planning |
计划与 todo 列表 |
actions |
工具调用 |
browser |
Explore 浏览器时间线 |
report |
最终报告 |
新增块类型需改:types.ts · contentBlocks.ts · BlockRenderer.tsx · discriminators。
在输入框以 / 开头:
-
/model— 模型配置对话框 -
/skills·/skill·/create-skill— Skills 管理
详见 terminal-ui/docs/slash-commands-flow.md。
renderMarkdown.ts 使用 marked v9 + marked-terminal v6:
marked.use(markedTerminal(...))请勿回退到旧版 setOptions({ renderer: new MarkedTerminal() }) 模式。
- 支持多 session 列表与分页历史(
feat/claude-like-tui线) - SSE 处理:
useChat.ts
- 需在 CMD / PowerShell / Windows Terminal 中运行
- 无 TTY 时
secbot会提示打开系统终端
npm run build:terminal-ui
npm run start:tui
# 或
npm run start:stack