繁體中文

新功能

終端機不再卡頓,介面顯示與預覽更完善

當你長對話執行到 5000 步(step,AI 動作次數)以上時,終端機不再卡頓或吃滿 CPU。以前在不閃爍模式(no flickering mode,防止畫面更新閃爍的機制)下,長對話會因行數計算消耗大量資源而打字卡頓;現在優化計算後已徹底解決。另外,新建檔案確認時可按 f 開啟全螢幕的差異預覽(full diff,完整的更動對照),體驗與修改現有檔案一致。最後,對話裡的工具標題不再顯示 CodeSearch(4 files found...) 等混亂內容,改為 Read(/path) 般乾淨的摘要。就像看超長小說,以前越後面越難翻且目錄凌亂,現在每一頁都很順手、目錄整齊,還能隨時拉出全螢幕對照。

新功能

腳本模式更可靠,模型不偷換、授權不卡死

當你用腳本自動執行任務時,系統不再默默更換模型或卡死。在列印模式(print mode,印出答案即結束的執行方式)下,若指定的模型不存在,系統會立刻報錯中斷並列出可用清單,不再默默降級(但互動模式仍維持警告並使用備援模型(fallback,指主要方案失效時的替代方案)的舊規)。此外,用管線餵指令給腳本時,若需要登入,你可以直接在控制終端機(controlling terminal,如 /dev/tty)貼上 OAuth 授權碼;若在無頭模式(headless runs,沒有終端機視窗的執行模式)下則會立刻報錯,不再傻傻等待。就像派助理買限量便當,買不到時他會立刻打電話告知並回報菜單讓你重挑,需要刷卡時也會把刷卡機遞到你面前;若你不在場,他會直接回報失敗,而不是在櫃檯乾等。

問題修復

捷徑自動更新不覆蓋,指令檢查不再大驚小怪

自訂快捷鍵能隨著系統升級自動更新,指令安全檢查也更聰明了。當系統加入新的預設快捷鍵時,它會自動補上新值,同時完整保留你修改過的按鍵配置(user overrides)。另外,當你輸入包著另一層指令的巢狀指令替換(nested command substitutions,如在 echo 裡包著 git 查詢)時,只要這兩個指令都在允許清單(allowlist,白名單)裡,系統就會直接放行,不再重複計算層數(double-counting)而跳出提示詢問。就像遊戲更新後會自動加上新技能按鍵,且不影響你改過的自訂鍵;也像機場安檢看到包包裡裝著已過安檢的隨身包,不會再叫你拆開檢查一次。

問題修復

代理分身狀態更精準,MCP 工具不留殘局

當你叫出多個代理幫忙或掛載外部工具時,進度追蹤更精準,系統也更乾淨。多個代理分身(subagents,平行處理任務的 AI 助手)同時工作時,以前會因資料競爭(data race,搶改同一筆資料)和違反寫入時複製(copy-on-write violation)導致狀態錯亂;現在修改狀態前會先複製紀錄,不再互踩。此外,載入 MCP(Model Context Protocol,讓 AI 連接外部工具的協定)工具時,以前在獨立模式下會找不到路徑且殘留背景程序(subprocesses);現在能正確定位並在關閉時清乾淨。就像請裝潢工班,以前搶簽同一張表導致塗改混亂,現在每人發一張表;離開時也一定帶走所有工具,不留電線垃圾。

English

FEATURE

Terminal becomes smoother, tool headers are clearer, and new files get full diffs

Your terminal stays responsive and typing stays buttery smooth even if your conversation goes over 5,000 steps (step, AI action counts). Previously, in no flickering mode, counting lines for long chats caused high CPU and lag on every frame; this logic has been optimized to resolve the bottleneck. Also, when confirming new file creation, you can now press f to open a full screen difference preview (full diff) to see complete changes, matching the experience of editing existing files. Finally, chat tool headers are cleaned up from messy strings like CodeSearch(4 files found...) to neat summaries like Read(/path). It's like reading a massive novel where pages used to get harder to turn, the index is clear, and you can pull out a full-screen comparison/diff view anytime.

FEATURE

Print mode fails honestly on missing models and handles auth gracefully

When automating tasks with scripts, the system stops silently changing models or hanging. In print mode (-p, exit-after-printing), if a specified model is missing, the CLI fails fast and lists available options (interactive sessions keep the old fallback-with-warning behavior). Additionally, if piping prompts consumes stdin and login is required, you can paste the OAuth authorization code directly into the controlling terminal (/dev/tty). Truly headless runs fail fast instead of blocking. Like sending an assistant to buy a lunch box — they call you immediately with the menu if it is sold out, and hand you the card reader if payment is needed; if you aren't there, they return instead of waiting forever.

BUGFIX

Keybindings stay updated automatically, and nested commands respect allowlists

Custom shortcuts now upgrade automatically, and command security checks are smarter. When the system adds new default keybindings, it injects them while preserving your custom configurations (user overrides). Also, when you write nested command substitutions (like echo wrapping a git query), the system runs them without interruption as long as both commands are on your allowlist. It no longer double-counts the nested layers to prompt for permission. Like updating a game — new ultimate keybindings are added without wiping out your custom jump button; and airport security seeing a pre-screened bag inside another pre-screened bag no longer forces you to unpack it again.

BUGFIX

Subagents report accurate states, and MCP tools stop leaking memory

Task progress is fully accurate and the system cleans up properly when you run agent teams or load external tools. When multiple subagents (AI helpers running in parallel) work together, the system used to suffer from a data race and copy-on-write violation, corrupting step counts; they now clone records before updating to avoid collisions. Furthermore, when loading MCP (Model Context Protocol) tools, the manager previously failed to resolve paths in standalone mode and leaked background subprocesses; it now locates paths perfectly and sweeps up processes on exit. Like hiring a crew — they used to fight over one sign-in sheet but now get individual clipboards, and clean up all their tools on departure.

原始 CHANGELOG

Original changelog終端機不再卡頓,介面顯示與預覽更完善
Added an `f` (full diff) shortcut to the create-file tool review screen so new-file confirmations can open a full-screen diff view, matching the existing file-edit experience.
Improved responsiveness on large conversations (5000+ steps) in no flickering mode by switching hot-path line-count methods to pointer receivers, cutting the per-frame prefix-sum cost and eliminating sustained 99% CPU and keystroke lag.
Fixed garbled builtin tool headers such as CodeSearch(4 files found...) by mapping generic tool steps back to clean summaries like Read(/path) and CodeSearch(query).
Original changelog腳本模式更可靠,模型不偷換、授權不卡死
Added support for pasting the OAuth authorization code in print mode (-p) via the controlling terminal (/dev/tty on POSIX and CONIN$ on Windows) when stdin is consumed by a piped prompt, and made truly headless runs fail fast with an actionable message instead of blocking.
Fixed print mode silently downgrading to the default model when --model cannot be resolved by hard-failing with a non-zero exit and listing the available models, while interactive sessions keep the fallback-with-warning behavior.
Original changelog捷徑自動更新不覆蓋,指令檢查不再大驚小怪
Fixed permission checks not respecting the allowlist for nested command substitutions, so a command like echo "$(dirname $(git rev-parse --show-toplevel))" now runs without prompting when echo and git are allowlisted, instead of double-counting the nested command and prompting for review.
Fixed the CLI keybindings file staying out of sync with /keybindings when new default bindings are introduced by persisting the injected defaults while preserving user overrides.
Original changelog代理分身狀態更精準,MCP 工具不留殘局
Fixed mcp manager failing to resolve tool schema paths in standalone mode and leaking MCP server subprocesses after shutdown, which previously caused panics and cleanup failures for custom agents loading MCP tools.
Fixed a data race and copy-on-write violation when updating subagent states by cloning their stats before in-place mutation, preventing corrupted step counts and status for parallel subagents.