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 で動作します。
コアアイデア
- 1つのウィンドウ、複数のワークスペース – 各ワークスペースはプロジェクトフォルダに紐づき、複数のターミナル、ファイルブラウザ、Gitビューア、AIエージェントパネルを保持できます。
- AIエージェントが第一級の存在 – Anthropic Claude Code SDK とオプションの OpenAI Codex SDK を組み込み、ターミナルから離れることなく、ファイル編集、コマンド実行、コード生成をモデルに依頼できます。
- すべてローカルで完結 – ホスト層はRust、UIはWebView、SDKがRustに移植されていない場合のみ、小さなNodeサイドカーを使用します。
主な機能(平易な英語)
ワークスペース管理
- マルチワークスペース – 同じアプリ内で複数のプロジェクトを別々に開くことができます。
- ドラッグアンドドロップでワークスペースの順序やグループを変更できます。
- プロファイル – ローカルまたはリモートのワークスペースセットを保存し、切り替えられます。
- ドロップ可能なウィンドウ – ワークスペースを個別のウィンドウに展開できます。
- ワークスペースごとの環境変数と、実行中のターミナルを示すアクティビティドット。
ターミナルとツール
- xterm.jsベースのターミナルで、完全なUnicodeサポート。
- スプリットパネルレイアウト – 大きなメインターミナルに加え、すべてのターミナルのサムネイルストリップ。
- エージェントプリセット – 事前に Claude Code、Claude Code (worktree)、Codex、または通常のシェルに接続されたターミナルを開くことができます。
- Git worktreeの分離 – AIが一時的なGit worktreeで作業するため、メインコードに影響を与えません。
- スニペットマネージャ – 再利用可能なコードスニペットを保存(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)をダウンロード。 |
| すべて | 1行のクイックインストールスクリプトを実行:`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にコード編集を依頼できる1つのウィンドウを求める開発者。
- 複数のマシン間で再現可能なワークスペースレイアウト(プロファイル)が必要なチーム。
- キーボードショートカットが好きで、LLMのツール権限を細かく制御したいパワーユーザー。
- モバイルファーストの作業者 – モバイルアプリがデスクトップのBATインスタンスに接続してリモート制御可能。
クイックスタートチェックリスト
- アプリをインストール(brew、AppImage、またはスクリプト)。
- アプリを開き、プロジェクトフォルダを指すワークスペースを作成。
- そのワークスペースのターミナルを開き、エージェントプリセットリストから Claude Code(またはCodex)を選択。
Create a React component that fetches data from /api/itemsなどのプロンプトを入力。- モデルがファイルを編集したり、コマンドを実行したり、説明を求めたりする様子を、同じウィンドウ内で観察。
最後に
Better Agent Terminal は、LLMコーディングアシスタントを緊密に統合した、機能豊富なクロスプラットフォームターミナルマネージャです。IDE風のレイアウトの利便性を保ちつつ、ターミナルの本格的なパワーを維持し、AIがコードベースにどれだけの自主性を持つかを制御できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト