Appearance
Kiro CLI 提供两种聊天界面:功能更丰富的 Terminal UI(默认)和更简洁的经典界面。Terminal UI 新增了覆盖面板、多主题、活动托盘、crew 监控器、消息队列等十余项特性;但部分功能行为有所不同,且少数经典功能尚未移植。两种界面的会话记录完全互通,可随时切换。
Terminal UI 新增的功能
以下能力仅在 Terminal UI 中可用:
| 功能 | 说明 |
|---|---|
| 覆盖面板 | /help、/context、/tools 等以可搜索、可滚动的面板形式打开,而非内联文本 |
| 主题 | 3 种内置主题(dark、light、safe)+ /theme 自定义 + 自动检测 |
| 活动托盘 | Ctrl+X 一览任务进度和排队消息 |
| Crew 监控器 | Ctrl+G 在多代理会话中实时可视化子代理活动 |
| 消息队列 | agent 仍在工作时即可输入并编辑下一条消息 |
/copy | 复制最后一条响应到剪贴板(SSH 场景同样有效) |
/spawn | 启动并行 agent 会话执行任务 |
/feedback | 直接提交反馈(替代原来的 /issue) |
/guide | 切换到 Kiro 引导 agent 获取帮助和上手指导 |
/transcript | 在 $PAGER 中打开对话记录(Ctrl+T) |
| 富工具渲染 | 12+ 种专属组件,带状态图标、可折叠输出和语法高亮 diff |
| 历史反向搜索 | Ctrl+R 搜索历史输入 |
| Kill ring 和撤销 | 完整的 Emacs 风格编辑:Ctrl+W/K/U/Y 和 Ctrl+_ 撤销 |
行为有所变化的功能
以下功能在两种界面中工作方式不同:
| 功能项 | 经典界面 | Terminal UI |
|---|---|---|
| Shell 工具输出 | 实时流式显示 | 缓冲——命令完成后才显示 |
| 交互式命令 | rm -i、sudo、ssh 提示等正常工作 | 不支持——使用非交互式替代方案 |
/help | 启动一个交互式问答 agent | 打开可搜索的命令面板 |
| 授权流程 | 文字菜单(y/n/t) | 带展开反馈的通知栏 |
| 多行输入 | Alt+Enter、Ctrl+J、反斜杠续行 | Shift+Enter、Alt+Enter、Ctrl+J(不支持反斜杠续行) |
| Prompt 指示器 | 显示 profile、上下文百分比 | 显示 agent 标签、模型标签、上下文百分比、git 分支、当前目录 |
| 通知 | 系统通知 | 系统通知 + 应用内通知栏 |
注意:Shell 工具输出在 Terminal UI 中是缓冲的,不再实时流式显示。如果你依赖实时观察长时间运行命令的输出,可以使用 Shell 直通功能(
!命令),该功能仍然实时流式显示。
尚未移植的功能
少数经典界面功能尚未在 Terminal UI 中实现:
| 功能 | 临时替代方案 |
|---|---|
/changelog | 在 Kiro 官网查看发版说明 |
/logdump | 在 shell 中使用 kiro-cli 进行日志管理 |
/experiment | Knowledge 和 Tasks 始终开启;其他实验性功能正在重新评估 |
聊天中的 /settings | 在 shell 中使用 kiro-cli settings |
| Vi 编辑模式 | 暂不支持——Terminal UI 使用 Emacs 键绑定 |
| 外部 diff 工具 | 所有 diff 使用内置查看器 |
/tangent | Terminal UI 中暂不支持 |
| 内联提示和技巧 | 暂不支持 |
切换回经典界面
经典界面完整保留,随时可用:
单次会话使用经典界面:
bash
kiro-cli --classic永久切换到经典界面:
bash
kiro-cli settings chat.ui "classic"两种界面的会话记录完全兼容,可以在经典界面开始一个会话,然后在 Terminal UI 中继续,反之亦然。
常见问题
Q:我用 SSH 连接远程服务器,Terminal UI 能正常工作吗?
A:大部分情况下可以。Terminal UI 会自动检测终端能力,但 SSH 连接中某些特性(如可点击链接、同步输出)可能无法正常工作。可通过 KIRO_NO_HYPERLINKS=1 或 KIRO_NO_SYNCHRONIZED=1 禁用这些特性,或使用 kiro-cli --classic 切换到经典界面。
Q:Terminal UI 的"缓冲 shell 输出"对我的工作流影响大吗?
A:取决于使用场景。如果你需要实时观察命令输出(如长时间构建、测试输出),可以使用 Shell 直通功能(在命令前加 !),这样输出仍然是实时流式的。让 agent 执行 shell 命令时才会出现缓冲行为。
Q:可以在两种界面之间频繁切换吗?
A:完全可以。切换不影响任何历史会话或数据。使用 kiro-cli --classic 临时切换,或用 kiro-cli settings chat.ui "classic"/"tui" 永久切换。