# Reasoning 等級與 Fast 模式

統一的 reasoning 等級、各 session 如何設定，以及 fast 模式開關。

## Reasoning 等級

`go-llm-router` 將 reasoning 正規化為單一尺度——`none`、`low`、`medium`（預設）、`high`、`xhigh`、`max`——並依供應商映射（Claude thinking budget、Gemini thinking budget、OpenAI effort 等）。別名 `minimal`、`extra`、`ultra` 分別對應 `low`、`xhigh`、`max`。超出模型支援範圍的等級會被夾限（clamp），而非直接拒絕。

等級透過每次 `Send` 呼叫明確傳入；`config.json` 內沒有全域 reasoning 設定。每個 session 各有自己的等級——`auto`（預設）或固定值——在 TUI 以 `/model` → `reasoning` 設定，或以 `Shift+A` / `Shift+D` 輪替（含 `auto`）。為 `auto` 時，等級取自 selector（LLM dispatcher 或 TypeSafe，看哪個在跑）判定的工作類別，未回傳時為 `medium`；綁定模型的 session 同樣適用。請求自帶的等級（例如 `reasoning_effort`）優先於兩者。

**Auto reasoning**（`auto_reasoning`，v1.0.18 至 v1.0.27）原為只走 TypeSafe 的全域開關，已於 v1.1.0 移除，改由上述逐 session 的 `auto` 等級取代。`POST /v1/model` 與 `GET /v1/session/:id` 的 `auto_reasoning` 欄位已不存在。

## Fast 模式

`Shift+F` 切換 fast 模式，透過 router 傳遞 `provider.ModeFast`，讓支援的後端要求更快的服務層級。支援與否依模型而定（`core.SupportFast`）——例如較新的 OpenAI 世代、Claude Opus 4.8 / Opus 5、多數 Grok 模型與特定 Gemini 系列。不支援的模型會靜默回到預設層級。Fast 模式為行程區域性，不會持久化。
