Appearance
Terminal UI 是 Kiro CLI 的默认聊天界面,相比经典界面提供了更丰富的交互体验:语法高亮的 Markdown 渲染、可叠加的命令面板、实时工具执行进度、多主题支持以及子代理活动监控。对于需要在终端中长时间与 AI 结对编程的开发者,Terminal UI 让对话过程更加流畅直观,同时保留了切换回经典界面的灵活性。
快速启动
启动对话:
bash
kiro-cli chat使用经典界面:
bash
kiro-cli --classic对话体验
消息以流式方式逐步渲染。响应完整支持 Markdown:语法高亮代码块、表格、列表、引用和嵌套格式。支持同步输出的终端可获得无闪烁的更新效果。
使用方向键滚动浏览长响应。
工具执行展示
每种工具类型都有专属的视觉组件(shell 命令、文件操作、grep、glob、代码智能等)。工具执行时你会看到:
- 描述性标题和加载动画
- 完成时的状态图标:✓ 成功,✗ 错误,⏸ 等待授权
- 可折叠的输出内容(按
Ctrl+O切换摘要/完整输出) - 耗时较长的 MCP 操作显示进度条
会话管理
/chat 命令打开一个模糊搜索选择器,显示带标题和时间戳的历史会话。会话与当前工作目录绑定,经典界面的历史会话在 Terminal UI 中也可正常加载。
通过会话 ID 恢复特定会话:
bash
kiro-cli chat --resume-id <SESSION_ID>完整的会话管理说明参见 会话管理。
与 agent 交互
授权体验
当某个工具需要权限时,输入框上方会出现通知栏,提供"是"、"信任"和"否"三个选项。多个工具同时需要授权时,会逐一排队展示。你可以展开授权请求提供反馈,而不是简单地点击是/否。
对于 shell 命令,信任范围可以精确控制:精确命令、命令前缀或基础命令。完整的信任模型参见 权限管理。
输入方式
Terminal UI 支持多种标准文本输入之外的输入方式:
| 功能 | 操作方式 |
|---|---|
| 换行 | Shift+Enter、Ctrl+J 或 Alt+Enter |
| 文件/目录引用 | @路径 加 Tab 键自动补全选择器 |
| 粘贴图片 | /paste 或直接从剪贴板粘贴 |
| 消息队列 | agent 处理中时可输入下一条消息,发送前可编辑 |
| 命令历史 | 上/下方向键,跨会话持久化 |
| 历史反向搜索 | Ctrl+R |
| 多行编辑器 | /editor 打开 $EDITOR(默认 vi) |
Shell 直通
在请求前加 ! 前缀,直接执行 shell 命令而不经过 agent:
bash
!npm run build输出实时流式显示。长输出折叠为头部+尾部视图,按 Ctrl+O 展开完整内容。
实时 shell 输出
agent 执行 shell 命令时,输出逐行实时流入终端,让你能即时跟踪构建进度、测试输出和部署过程,而不是等命令完成后才一次性看到结果。
界面组件
覆盖面板
/help、/context、/tools、/mcp、/knowledge、/code 等命令以覆盖面板形式打开。每个面板都支持搜索、滚动,按 Esc 关闭。
活动托盘
按 Ctrl+X 查看任务进度和排队消息,无需在对话历史中翻找。
Crew 监控器(子代理)
按 Ctrl+G 在多代理会话中实时监控子代理活动。用 Ctrl+D/Ctrl+U 在子代理之间切换,按 q 关闭。子代理配置和 crew 监控器使用方式参见 子代理。
主题
Terminal UI 内置三种主题:dark(深色)、light(浅色)和 safe(SSH 或受限终端的 ANSI 回退方案)。界面会自动检测终端背景色并选择合适的主题。使用 /theme 命令可以实时预览颜色或切换主题。
主题使用命名 ANSI 颜色而非硬编码十六进制值,因此在自定义调色板的终端上也能正确渲染。支持 NO_COLOR 环境变量——设置后禁用所有颜色输出。
斜杠命令
斜杠命令用于打开交互面板或触发操作。所有面板支持模糊搜索,按 Esc 关闭。
| 命令 | 说明 |
|---|---|
/help | 所有可用命令 |
/context | 按文件显示 token 占比的上下文分析,支持 add/remove/show/clear 子命令 |
/usage | 用量限制和超额信息(带进度条) |
/knowledge | 知识库管理 |
/prompts | 通过选择菜单使用 MCP 和文件 prompts,可展开详情 |
/editor | 打开 $EDITOR 编写多行 prompt |
/feedback | 提交 Kiro CLI 反馈 |
/paste | 从剪贴板粘贴图片 |
/chat | 通过模糊搜索选择器切换历史会话 |
/plan | 进入计划模式(也可用 Shift+Tab) |
/agent | 切换 agent |
/model | 切换当前使用的模型 |
/mcp | 查看 MCP 服务器和注册表状态 |
/tools | 查看和重置工具权限;/tools reset 清除所有运行时权限(包括 shell 信任模式、文件系统路径和拒绝的工具) |
/code | 代码智能面板 |
/hooks | 查看已配置的 hooks |
/guide | 切换到 Kiro 引导 agent 获取帮助和上手指导 |
/transcript | 在 $PAGER 中打开对话记录(也可用 Ctrl+T) |
/theme | 自定义 prompt 和响应文本的颜色 |
/copy | 复制最后一条 AI 响应到剪贴板(SSH 下同样有效) |
/spawn | 启动一个并行 agent 会话执行任务 |
/clear | 清除对话显示区域 |
/compact | 切换紧凑消息显示模式 |
/reply | 回复最后一条消息 |
/exit | 退出会话(/quit 的别名) |
/skill-name | 直接通过名称调用 skill(如 /pr-review),参见 Agent Skills |
完整命令参考参见 斜杠命令。
终端特性适配
Terminal UI 会自动检测终端能力并适配:
| 特性 | 说明 |
|---|---|
| 进度指示器 | 终端标签/标题栏显示 agent 状态(流式传输中、等待授权、错误) |
| 可点击超链接 | Markdown 链接在 iTerm2、WezTerm、kitty 和 Ghostty 中可点击 |
| 主题检测 | 自动从终端背景色检测深色/浅色模式 |
| 256 色回退 | 不支持 truecolor 的终端可优雅降级 |
| 非 ASCII 支持 | CJK 字符、emoji 和带音调字母正确渲染 |
配置
UI 引擎优先级
UI 引擎按以下顺序决定(从高到低):
- CLI 参数:
--tui或--classic - 环境变量:
KIRO_CHAT_UI - 设置项:
chat.ui - 默认值:
tui
禁用特定功能
通过环境变量禁用特定终端特性:
bash
KIRO_NO_HYPERLINKS=1 kiro-cli chat # 禁用可点击链接
KIRO_NO_PROGRESS=1 kiro-cli chat # 禁用进度指示器
KIRO_NO_SYNCHRONIZED=1 kiro-cli chat # 禁用同步输出切换到经典界面
永久切换:
bash
kiro-cli settings chat.ui "classic"单次会话使用经典界面:
bash
kiro-cli --classic键盘快捷键
文本编辑
核心编辑快捷键,包含完整的 Emacs 风格 kill ring。
| 快捷键 | 操作 |
|---|---|
Shift+Enter | 插入换行 |
Ctrl+J | 插入换行 |
Alt+Enter | 插入换行 |
Alt+Backspace | 删除前一个单词 |
Ctrl+W | 删除前一个单词(放入 kill ring) |
Ctrl+K | 删除到行尾 |
Ctrl+U | 删除到行首 |
Ctrl+Y | Yank(从 kill ring 粘贴) |
Ctrl+_ | 撤销上一次编辑 |
导航与历史
浏览会话和搜索历史输入。
| 快捷键 | 操作 |
|---|---|
↑ / ↓ | 浏览命令历史 |
| 方向键 | 逐行滚动 |
Ctrl+R | 反向增量历史搜索 |
面板与视图
打开和操作覆盖界面。
| 快捷键 | 操作 |
|---|---|
Ctrl+G | 打开 crew 监控器 |
Ctrl+D / Ctrl+U | 在子代理之间切换(crew 监控器中) |
q | 关闭 crew 监控器 |
Ctrl+X | 切换活动托盘 |
Ctrl+T | 在 $PAGER 中打开对话记录 |
Ctrl+O | 展开/折叠工具输出 |
Esc | 关闭面板、取消 agent、清除消息队列 |
Agent 交互
控制 agent 和管理会话。
| 快捷键 | 操作 |
|---|---|
Tab | 展开授权选项 / 文件引用自动补全 |
Shift+Tab | 进入计划模式 |
Ctrl+C | 退出会话 |
Ctrl+D | 退出会话(在聊天输入框中) |
平台支持
Terminal UI 支持 macOS、Linux(包括 Red Hat Enterprise Linux)和 Windows。
当前限制
- 需要构建中的内嵌资产。如不可用,Kiro 自动回退到经典界面。
- agent 的 shell 工具不支持需要用户交互输入的命令。详见 Shell 直通章节。
- 不支持外部 diff 工具(
chat.diffTool设置),所有 diff 使用内置查看器。 - 部分终端模拟器可能不支持所有特性(超链接、进度指示器、同步输出),可通过配置章节中的环境变量禁用特定特性。
故障排查
Terminal UI 无法加载
确认当前设置:
bash
kiro-cli settings list | grep chat.ui如果设置正确但 Terminal UI 仍然无法加载,请更新到最新版本的 Kiro CLI。
渲染问题
出现视觉乱码或渲染异常时:
- 尝试换一个终端模拟器。iTerm2、WezTerm、kitty 和 Ghostty 提供最佳体验。
- 禁用同步输出:
KIRO_NO_SYNCHRONIZED=1 kiro-cli chat - 确认终端支持 truecolor(绝大多数现代终端都支持)。
常见问题
Q:Terminal UI 和经典界面的会话记录兼容吗?
A:完全兼容。经典界面创建的历史会话可以在 Terminal UI 中正常加载和继续,反之亦然。使用 /chat 命令打开会话选择器即可看到所有历史会话。
Q:在 SSH 远程连接中使用 Terminal UI 会有问题吗?
A:大多数情况下可以正常使用。如果遇到渲染问题,可以设置 NO_COLOR=1 禁用颜色,或者切换到使用 kiro-cli --classic。/copy 命令也明确支持 SSH 场景下的剪贴板复制。
Q:Ctrl+G 打开的 crew 监控器是做什么用的?
A:Crew 监控器用于在多代理(subagents)会话中实时查看各个子代理的运行状态。普通单代理对话用不到它,只有在涉及并行子代理任务时才有意义。详见 子代理文档。