簡介
如果你正在 tmux 中運(yùn)行 Claude Code 或 Codex,你大概經(jīng)歷過這種情況:
你想一邊在編輯器中閱讀代碼,一邊給出指令,但每次都不得不按 Cmd+Tab 切回終端。
AI 詢問"1. 是 / 2. 否"時,你只是為了輸入 1 就得切換回終端。
同時并行運(yùn)行多個 Claude 或 Codex 會話時,很難追蹤每個面板當(dāng)前處于什么狀態(tài)。
這些細(xì)碎的上下文切換不斷累積,反復(fù)打斷你的思路,壓力大得出乎意料。
為了解決這個問題,我開發(fā)了一款名為 unitmux 的桌面應(yīng)用。
什么是 unitmux?
這是一款桌面應(yīng)用,讓你可以通過一個浮動窗口,直接向運(yùn)行在 tmux 中的 Claude Code 或 Codex 發(fā)送指令。
它始終保持置頂顯示,自動檢測 tmux 面板,徹底消除了切換焦點(diǎn)到終端的需要。你可以在不打斷編輯器工作流的情況下向 AI 發(fā)出指令。
除了 claude 和 codex 之外,它還能檢測運(yùn)行 ai 包裝命令的面板。
一行命令即可安裝:
brew install --cask yugo-ibuki/tap/unitmux
功能特性
一鍵響應(yīng)選項(xiàng)
當(dāng) Claude Code 或 Codex 呈現(xiàn)編號選項(xiàng)時,unitmux 會自動顯示可點(diǎn)擊的按鈕。
你也可以通過 Ctrl+1-Ctrl+9 鍵盤快捷鍵即時響應(yīng),甚至不需要伸手去夠鼠標(biāo)。
僅僅為了輸入一個字符就要切換到終端,這個小煩惱就此消失。
更新:選項(xiàng)檢測現(xiàn)在支持簡單編號列表之外的多種模式:帶標(biāo)記前綴的選項(xiàng)(?、?、>、●)、冒號分隔的內(nèi)聯(lián)選項(xiàng)(如 1: staging 2: production 3: dev),以及包含完整命令文本的多行標(biāo)簽(如權(quán)限提示)。
它還能智能過濾"How is Claude doing?"等會話評分反饋和 CLI 頁腳,避免出現(xiàn)誤判。
Codex 支持也得到了改進(jìn)。unitmux 能檢測 Codex 風(fēng)格的字母選項(xiàng),并針對 Codex 提示使用獨(dú)立的啟發(fā)式規(guī)則,涵蓋英語和日語選項(xiàng)上下文。
全局快捷鍵:隨時隨地訪問
按 Cmd+Shift+H 可從任意應(yīng)用切換焦點(diǎn)回 unitmux。
焦點(diǎn)會直接落在文本區(qū)域,你可以立即開始輸入,按 Cmd+Enter 發(fā)送。
在 Chrome 中閱讀文檔的同時向 AI 發(fā)出指令,現(xiàn)在只需幾秒鐘,幾乎無縫銜接。
更新:焦點(diǎn)快捷鍵現(xiàn)在可以在側(cè)邊欄設(shè)置中完全自定義。從其他應(yīng)用觸發(fā)時還會自動展開緊湊模式,讓你立刻進(jìn)入輸入狀態(tài)。
會話狀態(tài)一目了然
面板以標(biāo)簽頁形式列出,彩色圓點(diǎn)指示當(dāng)前狀態(tài):
-
綠色:等待輸入
-
橙色:處理中
-
灰色:等待響應(yīng) / 有選項(xiàng)待處理
每個面板還會顯示工具的小徽標(biāo):
-
CC:Claude Code
-
CX:Codex
并行運(yùn)行多個 Claude 或 Codex 會話時,你再也不用猜"那個面板進(jìn)行到哪一步了?"
使用 Cmd+↑ / Cmd+↓ 或 Ctrl+H / Ctrl+L 在面板間切換。
更新:面板現(xiàn)在按 tmux 會話分組顯示在標(biāo)題欄中,當(dāng)你在不同會話中有大量面板時,導(dǎo)航更加便捷。也可通過 Ctrl+Cmd+H / Ctrl+Cmd+L 進(jìn)行跨會話導(dǎo)航。
狀態(tài)檢測已得到優(yōu)化。對于 Claude Code,unitmux 讀取面板標(biāo)題中的空閑標(biāo)記和旋轉(zhuǎn)字符,并解析最近的面板輸出以識別等待提示和選項(xiàng)。Codex 狀態(tài)檢測使用其專屬的啟發(fā)式規(guī)則,例如 Working、Thinking、Executing 和 enter to send。
unitmux 還能檢測運(yùn)行 ai 包裝命令的面板,以及 claude 和 codex。
彈窗中的 Git 操作
Ctrl+G 可打開 Git 操作彈窗。
它只涵蓋簡單操作,但在個人開發(fā)早期階段需要頻繁提交時,能夠流暢地完成這些操作確實(shí)是一大優(yōu)勢。
你可以:
-
暫存所有更改
-
用 Space 選擇單個文件
-
用 Enter 暫存選中的文件
-
輸入提交信息并按 Enter
-
用
Ctrl+P推送
彈窗支持 vim 風(fēng)格的導(dǎo)航,使用 j / k。
在 AI 完成一塊工作后立即提交,無需切回終端,這種體驗(yàn)令人暗暗滿足。
更新:Git 彈窗現(xiàn)在在標(biāo)題欄顯示當(dāng)前分支名稱,并展示詳細(xì)的 Git 狀態(tài):已修改文件、未追蹤文件、已刪除文件等。它還會在每次操作后自動刷新面板詳情,并顯示 2 秒后自動消失的成功/錯誤反饋。
Git Diff 查看器
Ctrl+F 可打開 Git diff 查看器。
這與 Git 操作彈窗是分開的。Git 彈窗用于暫存、提交和推送,diff 查看器則用于快速檢查變更內(nèi)容。
它支持:
-
未暫存 / 已暫存 diff 切換
-
文件側(cè)邊欄
-
目錄折疊
-
可折疊的文件區(qū)塊
-
Hunk 導(dǎo)航
-
Vim 風(fēng)格滾動
常用快捷鍵:
-
j/k:滾動 -
d/u:半頁滾動 -
g/G:跳到頂部 / 底部 -
]c/[c:下一個 / 上一個 hunk -
s:切換已暫存 / 未暫存 -
q:關(guān)閉
這讓你無需切回終端運(yùn)行 git diff 就能輕松審查 AI 生成的變更。
半透明窗口疊加在編輯器上
你可以通過滑塊將窗口不透明度調(diào)整為 50% 到 100%。
結(jié)合"始終置頂"功能,你可以透過窗口看到編輯器中的代碼,同時向 AI 發(fā)出指令。
你可以在閱讀代碼的同時關(guān)注 Claude 或 Codex 的活動狀態(tài)。
配合 Cmd+Shift+H,你可以將焦點(diǎn)切換到應(yīng)用,編寫提示或選擇選項(xiàng),全程無需動鼠標(biāo)。
查看當(dāng)前會話內(nèi)容
Ctrl+P 讓你無需查看終端就能檢查會話對話內(nèi)容。
當(dāng)你只想看看之前問了什么問題,或者瞥一眼最后的回答時,這個功能讓你快速查看后即可投入下一個提示。
Agent 運(yùn)行時會產(chǎn)生大量日志輸出,但你真正想看的通常只是最終結(jié)論。能夠快速查看你關(guān)心的部分,然后立刻進(jìn)入下一個提示,這才是真正的價(jià)值所在。
更新:預(yù)覽疊加層現(xiàn)在有兩種模式。
第一次按 Ctrl+P 顯示靜態(tài)快照。在疊加層打開時再次按 Ctrl+P 可切換到實(shí)時流式模式,該模式每 500ms 輪詢一次面板內(nèi)容,并顯示 LIVE 徽標(biāo)。
預(yù)覽內(nèi)部支持 Vim 風(fēng)格導(dǎo)航:
-
j/k:逐行滾動 -
d/u:半頁滾動 -
g/G:跳到頂部 / 底部
在可用時,unitmux 還會以 ~/.claude 下的 Claude JSONL 對話歷史補(bǔ)充 tmux 面板輸出,使更早的對話上下文更易于查閱。
圖片附件
可通過 + 按鈕附加圖片,或?qū)D片拖放到窗口上。
縮略圖會在 unitmux 中顯示,圖片路徑通過括號粘貼的方式發(fā)送給 AI CLI,以便 CLI 將其識別為圖片輸入。
這在你想就截圖、UI 狀態(tài)、圖表或本地圖片文件進(jìn)行提問,而不想手動在終端中輸入路徑時非常實(shí)用。
緊湊模式
Ctrl+W 可將窗口收縮為約 70px 高度的最小化狀態(tài)欄。
當(dāng)你希望 unitmux 保持可見但又不占用太多屏幕空間時,這個功能非常有用。
展開時會恢復(fù)之前的窗口大小和位置。快捷鍵可自定義。
會話詳情疊加層
Ctrl+D 顯示所選面板的詳細(xì)信息:
-
模型名稱
-
會話 ID
-
Git 分支
-
Git 狀態(tài)
-
工作目錄
-
面板尺寸
-
啟動命令
-
PID / tty
還包含一個帶確認(rèn)對話框的關(guān)閉按鈕,用于終止面板。
創(chuàng)建新會話
unitmux 可以從 UI 創(chuàng)建新的 Claude 或 Codex 會話。
有兩種工作流:
-
Ctrl+N:快速向當(dāng)前 tmux 會話添加一個 Claude 會話 -
Ctrl+Shift+N:打開對話框以創(chuàng)建新的 tmux 會話,或向現(xiàn)有會話添加 Claude/Codex 窗口
在對話框中,你可以選擇目標(biāo) tmux 會話,并在 claude 和 codex 之間進(jìn)行選擇。
Shell 模式
Ctrl+B 可切換 Shell 模式。
在 Shell 模式下,unitmux 將輸入發(fā)送到專用的 unitmux-shell tmux 窗口,而非所選的 AI 面板。
Shell 面板按需創(chuàng)建,使用你的默認(rèn) Shell。如果它被手動關(guān)閉,unitmux 會在下次發(fā)送或預(yù)覽時重新創(chuàng)建它。
預(yù)覽和實(shí)時流式功能同樣適用于 Shell 輸出。
當(dāng)你想在 AI 會話附近運(yùn)行快速命令而無需切回終端時,這個功能十分順手。
側(cè)邊欄設(shè)置面板
可從標(biāo)題欄訪問專用設(shè)置面板,提供以下選項(xiàng):
-
始終置頂開關(guān)
-
不透明度滑塊
-
主題切換:深色 / 淺色
-
發(fā)送鍵配置:
Enter或Cmd+Enter -
Vim 模式開關(guān)
-
字體大小控制
-
緊湊、預(yù)覽、詳情、Git、diff 和焦點(diǎn)的可自定義快捷鍵
-
選項(xiàng)修飾符:
Ctrl或Cmd -
Slash 命令管理器
Slash 命令與 Skills 集成
在輸入?yún)^(qū)域輸入 / 可篩選并從已注冊的命令中進(jìn)行選擇。
用戶自定義的斜杠命令可在側(cè)邊欄中進(jìn)行管理。你可以創(chuàng)建、編輯和刪除可復(fù)用的命令,例如 /fix、/review 或 /test。
此外,unitmux 還會自動發(fā)現(xiàn)以下來源中的 skill 命令:
-
~/.claude/skills/ -
所選項(xiàng)目中的
.claude/skills/
它會解析 SKILL.md 文件以獲取名稱和描述,并將其作為只讀的斜杠命令候選項(xiàng)展示。
輸入歷史
最近 10 條不重復(fù)的輸入記錄會被保存。
在文本輸入框中使用 ↑ / ↓ 進(jìn)行導(dǎo)航。
向上導(dǎo)航時,當(dāng)前草稿內(nèi)容會被保留,返回時自動恢復(fù)。
Vim 模式
啟用后,unitmux 會在你的文本前發(fā)送 Escape 然后是 i,以進(jìn)入插入模式。
這在你使用 Claude CLI 的 vim 編輯器模式時不小心將面板留在普通模式下時非常有用。
在響應(yīng)選擇項(xiàng)時會跳過此操作,因?yàn)閱蝹€數(shù)字選項(xiàng)可以直接使用。
幫助覆蓋層
Ctrl+, 可打開一個快速參考面板,按類別整理了所有鍵盤快捷鍵。
它支持與其他覆蓋層相同的 vim 風(fēng)格滾動操作。
安裝與首次啟動
brew install --cask yugo-ibuki/tap/unitmux
如果你希望通過 DMG 安裝,請從 Releases 頁面下載。
如果首次啟動時出現(xiàn) Gatekeeper 警告,請前往:
系統(tǒng)設(shè)置 → 隱私與安全性 → 仍要打開
結(jié)語
我為那些在 tmux 中使用 AI 編程助手、并希望簡化"終端窗口太多"這一困境的人構(gòu)建了這款工具。
核心設(shè)計(jì)理念是"簡單,再簡單"。
無需多余的鼠標(biāo)操作。所有功能均圍繞類 Vim 快捷鍵設(shè)計(jì),使用起來自然流暢。
unitmux 并不試圖取代 tmux 或成為一個完整的終端管理器,而是專注于讓提示詞輸入和 Agent 監(jiān)控盡可能省力。
tmux 依然是底層基礎(chǔ),unitmux 只是剝離了圍繞它的上下文切換。
歡迎反饋與 PR。
?? https://github.com/yugo-ibuki/unitmux
點(diǎn)個 star 會給我很大的動力!
注意事項(xiàng)
Mac 是主要支持的平臺。
Linux 構(gòu)建版本存在,但 Linux 支持尚未經(jīng)過充分驗(yàn)證,請知悉。
此外,由于我主要使用 Claude Code,Codex 的支持可能仍存在不足之處。
如需進(jìn)一步操作,你可以考慮屏蔽該用戶和/或舉報(bào)濫用行為