# TUI 指南

單一 bubbletea textarea（`internal/runtime/tui`）；斜線指令開啟短暫 popup，關閉後乾淨回到輸入提示。

## 快捷鍵

| 按鍵 | 動作 |
|---|---|
| `Enter` | 送出當前輸入。若有執行中的任務，改為將文字排入 **steer** 佇列，遞送給執行中的迴圈 |
| `Alt+Enter` | 插入換行 |
| `/` | 開始斜線指令過濾（popup 選單——Up / Down 移動、Tab / Enter 補進 textarea、Esc 關閉） |
| `Up` / `Down` | 游標位於第一行 / 最後一行時瀏覽輸入歷史（per-session `.cmd_history` 檔） |
| `Esc` | 關閉指令選單；執行中時開啟取消 popup —— 自 v1.0.10 起為 **No**、**Yes（cancel）**、**Pause（keep pending）** 三選一。cancel 會丟棄 pending 任務，pause 則停止該次執行但保留可由 `/pending` 續接。尚未輸出任何內容的執行會直接取消，不跳 popup。其餘情況清空非空的輸入；輸入已為空時則關閉通知框 |
| `Ctrl+C` | 執行中時直接取消任務（走 user-cancel 路徑，pending 任務一併丟棄）；否則印出 `ctrl+c again to quit`。3 秒內再按一次 `Ctrl+C` 即離開 TUI |

單鍵切換僅在輸入為空且無執行中任務時生效：

| 按鍵 | 動作 |
|---|---|
| `Shift+Tab` | 切換 auto 模式（`safe` ↔ `auto`） |
| `Shift+F` | 切換 fast 模式——啟用時模式列顯示 `fast` |
| `Shift+U` | 所有會回報用量的已註冊供應商之即時用量 / 餘額（v1.1.0 起含 `claude-code`）；結果顯示於通知框 |
| `Shift+W` / `Shift+S` | 在 `auto` 與已註冊模型間向前 / 向後輪替 session 模型（與 `/model` 內調整 fallback 排序的 `w` / `s` 不同） |
| `Shift+A` / `Shift+D` | 在 `auto`、`none`、`low`、`medium`、`high`、`xhigh`、`max` 間調降 / 調升 session 的 reasoning 等級——v1.1.0 起包含 `auto` |

Shell 指令模式（`Shift+T`）已移除；請改為請 agent 執行該指令。`Shift+M` 模型清單已移除；請用 `/model`，它會列出已註冊模型。

清單型 popup 中，`Enter` 確認選中項，`d` 刪除、`t` 設定 tier（僅在該 popup 提供這些動作時）。文字輸入型 popup 以 `Ctrl+S` 確認、`Enter` 換行、`Esc` 取消。

TUI 自動 tail 當前 session 的 `action.log`（外部行程寫入的行以 warn-purple 的 `▌ ` 前綴標示）。僅單一 session 檢視。

自 v1.1.0 起，狀態訊息（指令結果、錯誤、`Shift+U` 輸出）集中在輸入框上方帶框的通知框，不再捲入對話紀錄。通知框保留最後 32 行、一次顯示 4 行；超過時按 `Tab` 往上翻頁，`Esc` 關閉。
