tony1223/better-agent-terminal
Multi-workspace terminal aggregator with Claude Code AI integration
Better Agent Terminal – 是什麼
Better Agent Terminal (BAT) 是一個桌面應用程式,讓您並排執行多個命令列終端機,同時與 AI 程式碼助理(Claude Code 和 OpenAI Codex)對話。它使用 Tauri 2(基於 Rust 的原生封裝)和 React + TypeScript UI 建構,可在 Windows、macOS 和 Linux 上運作。
核心理念
- 一個視窗,多個工作區 – 每個工作區與一個專案資料夾關聯,可容納多個終端、檔案瀏覽器、Git 查看器和 AI 代理面板。
- AI 代理為首選 – 應用程式內建 Anthropic Claude Code SDK 和可選的 OpenAI Codex SDK,讓您無需離開終端即可要求模型編輯檔案、執行命令或產生程式碼。
- 所有內容皆在本機 – 主機層為 Rust,UI 為 WebView,僅對尚未移植至 Rust 的 SDK 使用小型 Node 邊車進程。
主要功能(通俗英文)
工作區管理
- 多工作區 – 在同一應用中同時開啟多個專案。
- 拖曳重排 – 透過拖曳重新排序或分組工作區。
- 設定檔 – 儲存一組工作區(本機或遠端),並可在其間切換。
- 可分離視窗 – 將工作區彈出至獨立視窗中。
- 工作區級環境變數 和顯示哪些終端仍在執行的活動點。
終端與工具
- 基於 xterm.js 的終端,支援完整 Unicode。
- 分屏佈局 – 一個大主終端加上所有終端的縮圖列。
- 代理預設 – 開啟已連接至 Claude Code、Claude Code(工作樹)、Codex 或一般 Shell 的終端。
- Git 工作樹隔離 – AI 可在暫時 Git 工作樹中工作,永遠不會影響您的主程式碼。
- 程式碼片段管理器 – 儲存可重複使用的程式碼片段(SQLite 後端)。
- Markdown 預覽 – 即時預覽
.md檔案。 - Procfile 風格工作器面板 – 執行 Procfile 定義的多個程序,並查看合併日誌。
Claude Code 代理面板
- 在 應用內執行 Claude Code 模型(無需外部終端)。
- 串流輸出,帶有可摺疊的「思考區塊」。
- 權限模式 – 從每次使用工具都提示到完全自動批准編輯。
- 會話處理 – 暫停/恢復、分叉對話、在達到令牌限制時自動壓縮上下文。
- 豐富的狀態列 顯示會話 ID、Git 分支、令牌數量、成本、API 速率限制使用情況等。
- 快取感知 – 顯示正在重用的快取令牌數量,並在大快取到期時發出警告。
- 斜線指令(
/model,/resume,/auto-continue, …)可從聊天框控制代理。
Codex 代理(可選)
- 使用
@openai/codex-sdk。 - 支援多個 OpenAI 模型(GPT-5.5、5.4、5.3-codex、o4-mini、o3、GPT-4.1)。
- 與 Claude 相同的沙盒/工作樹隔離與審核策略。
- 會話記錄本地儲存,支援快速恢復。
語意程式碼導航(可選)
- 集成
cxCLI(基於 tree-sitter),使代理可快速取得檔案概覽、符號清單、定義或參考,而無需載入整個檔案。這在大型程式碼庫中節省了令牌預算。
國際化
- UI 支援英文、繁體中文和簡體中文。
如何取得
| 平台 | 安裝方式 |
|---|---|
| macOS | brew install --cask tonyq-org/tap/better-agent-terminal |
| Windows | (規劃中)choco install better-agent-terminal |
| Linux | 從 GitHub 發布頁面下載 .AppImage(x86_64 或 arm64) |
| 所有平台 | 執行一行 快速安裝指令碼:`curl -fsSL https://raw.githubusercontent.com/tony1223/better-agent-terminal/main/install.sh |
您也可以使用 Node 18+、Rust stable 和常見的 Tauri 建置工具從原始碼建置。
架構概覽
better-agent-terminal/
├─ renderer/ # React UI (TypeScript)
│ └─ components/ … # 工作區、終端、代理面板等
├─ src-tauri/ # Rust 主機 – PTY 處理、IPC、遠端伺服器
├─ node-sidecar/ # 尚未移植至 Rust 的 SDK 所需的小型 Node 進程
├─ assets/ # 圖示與截圖
└─ package.json
- 前端:React 18 + Vite + i18next。
- 終端:
xterm.js+node-pty。 - AI 後端:
@anthropic-ai/claude-agent-sdk(Claude)和@openai/codex-sdk(Codex)。 - 儲存:
better-sqlite3用於片段和會話資料。 - 遠端控制:實驗性 WebSocket 伺服器(埠 9876),允許其他 BAT 實例或行動應用透過 QR 碼連接。
誰會使用它?
- 希望在一個視窗中執行建置/監視命令、檢視 Git 歷史並讓 LLM 編輯程式碼的 開發者。
- 需要在多台機器上重現工作區佈局(設定檔)的 團隊。
- 喜歡鍵盤捷徑並希望細緻控制 LLM 工具權限的 進階使用者。
- 行動導向工作者 – 可透過行動應用連接到桌面 BAT 實例進行遠端控制。
快速入門檢查清單
- 安裝應用(brew、AppImage 或指令碼)。
- 開啟應用並建立一個指向專案資料夾的 工作區。
- 在該工作區中開啟終端,並從 代理預設 清單中選擇 Claude Code(或 Codex)。
- 輸入類似
Create a React component that fetches data from /api/items的提示。 - 觀察模型在相同視窗內編輯檔案、執行命令或請求澄清。
總結
Better Agent Terminal 是一個功能齊全的跨平台終端管理器,緊密整合了 LLM 程式碼助理。它提供 IDE 風格佈局的便利性,同時保留終端的原始強大功能,並讓您控制 AI 對程式碼庫的自主程度。
相關
- 專案
- 專案
- 專案
- 專案
- 專案