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 相同的沙盒/工作樹隔離與審核策略。
  • 會話記錄本地儲存,支援快速恢復。

語意程式碼導航(可選)

  • 集成 cx CLI(基於 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 實例進行遠端控制。

快速入門檢查清單

  1. 安裝應用(brew、AppImage 或指令碼)。
  2. 開啟應用並建立一個指向專案資料夾的 工作區
  3. 在該工作區中開啟終端,並從 代理預設 清單中選擇 Claude Code(或 Codex)。
  4. 輸入類似 Create a React component that fetches data from /api/items 的提示。
  5. 觀察模型在相同視窗內編輯檔案、執行命令或請求澄清。

總結

Better Agent Terminal 是一個功能齊全的跨平台終端管理器,緊密整合了 LLM 程式碼助理。它提供 IDE 風格佈局的便利性,同時保留終端的原始強大功能,並讓您控制 AI 對程式碼庫的自主程度。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案