Termany について
Termany は、複数のコーディングエージェントを同時に動かすためのターミナルです。セッション、差分、Worktree、ポート、リモートホストを一画面にまとめ、Bot との会話、Git レビュー、利用状況の確認も行えます。
主な機能
- 01永続セッションを一画面で管理
- 02対応が必要なセッションを表示
- 03複数のコーディングエージェントと Bot の起動
- 04ファイル、Git 差分、会話の確認
- 05Worktree、SSH、ポート転送の管理
- 06エージェント利用状況とシステム活動の表示
活用シーン
- 01複数のコーディングエージェントを並行実行
- 02Worktree 間でセッションを確認、再開
- 03SSH でローカルとリモートホストを利用
- 04エージェント利用状況とモデル統計を確認
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Termany
複数のコーディングエージェントを同時に実行するためのターミナルです。
Termany は多数のエージェントセッションを1つのウィンドウにまとめ、どのセッションであなたの対応が必要かを知らせます。さらに、差分、ワークツリー、ポート、リモートホスト、トークンコストなど、セッションに関連する作業も同じ場所で管理できます。
ウェブサイト:termany.sh — ダウンロード、ドキュメント、リリースノート。

こんな方におすすめです
次のような方に特に役立ちます。
- 5つ以上のエージェントセッションを同時に実行している
- 同じリポジトリで Claude、Codex、その他のエージェントを使っている
- 1つのプロジェクトのワークツリーをいくつも開いていて、ポートの競合が発生している
- ノートパソコンがスリープしても処理が続くよう、長時間のタスクを開発用マシンに移している
こうした使い方をしない場合でも、Termany は分割表示、テーマ、インラインファイルビューアーを備えた通常のターミナルとして利用できます。
1つのウィンドウで複数のセッションを管理
ペインは3階層にネストします。ワークスペース(一番左のレール。クライアントや製品など、1つのコンテキスト)、ページ(左のサイドバー。1つのプロジェクトまたは領域)、タブ(上部のストリップ。それぞれ1つのシェル)です。すべてのペインは ⌘D と ⇧⌘D でさらに分割できます。すべてのタブは永続的なセッションです。バックグラウンドに移動しても実行を続け、スクロールバックも保持されます。
Termany は各ペインに 作業中、完了、または 要対応 のタグを付けます。シェルプロンプトではなく、ペインのフォアグラウンドジョブと画面上の変化を読み取るため、独自のインターフェースを描画するエージェントにもタグを付けられます。タグ付きのペインはページツリーの上にある ACTIVE セクションに表示されるため、停止したセッションを探すために20個のタブを開く必要はありません。
⌘P でコマンド、ページ、タブ、ペインを名前で検索できます。⌘M で背景を暗くして、1つのペインを最大化できます。デスクトップでは、⌥⌘N で同じワークスペースを開いた2つ目のウィンドウを表示できます。
右側のレールから、任意のペインにエージェントを起動できます。Claude、Codex、Gemini、Grok Build、OpenClaw、FastClaw、Hermes、OpenCode、Cursor、Kimi、OMP が標準で組み込まれています。Claude、Codex、OpenClaw はデフォルトで有効になっており、ほかのエージェントは切り替え1つで有効にできます。別のバイナリをエージェントに指定したり、独自のエージェントを追加したりするには、設定 → エージェントを開いてください。検出ではマシンをスキャンし、見つかったものを一覧表示します。
Claude と Codex の Bot は、ローカルにインストールされ、認証済みの公式 CLI を使用します。いずれかがインストールされていない場合、Termany は設定 → エージェントから公式インストーラーに案内します。Termany には、Bot との会話に必要な小型の ACP ブリッジと Node ランタイムが含まれているため、別途システムに node や npx をインストールする必要はありません。

連携するBot
各Botに説明を設定し、検索可能な1つのピッカーからスキルを選択します。
Termanyは、~/.agents/skills、~/.claude/skills、有効なCodex
スキルディレクトリ、および独自のダウンロードライブラリを検出します。Settings → Skillで検索ディレクトリを追加または無効化できます。
重複する場所と同一のパッケージはまとめて表示されます。
既存のバインディングは元の場所を保持します。お使いのCLIのその他のグローバルスキルも引き続き利用できます。
スキルの詳細は専用ビューで開きます。戻ると検索内容、スクロール位置、選択状態が保持されます。
ピッカー上部にあるGitHubの項目から、リポジトリ、tree/<ref>/<directory>、またはblob/<ref>/<directory>/SKILL.mdのURLを貼り付けてください。インポートに成功すると、現在のインポートリストに追加され、自動的に選択されます。選択を確定すると、Botフォームに適用されます。
ローカルスキルはその場で読み込まれます。公開GitHubスキルは~/.termany/skillsにダウンロードされます。ソースメタデータとバインディングはSQLiteに保存されます。ダウンロードではサイズ制限付きのアーカイブを使用し、サイズ超過のリポジトリ内の特定のリンクについては、サイズ制限付きのディレクトリのみのフォールバックを使用します。同じソースを再インポートすると、そのスキルにバインドされているすべてのBotについて、現在のコピーが更新されます。バージョンセレクターはありません。移行時には既存の完全一致するスナップショットバインディングが保持され、古い補足指示は説明に統合されます。移行前には整合性のあるデータベースのバックアップが保存されます。
プロンプトには、バインドされたスキルの名前、説明、読み込み手順が含まれますが、スキルの本文全体は含まれません。すべてのバインディングにはSKILL.mdの絶対パスが含まれ、選択したエージェントは自身のファイルツールを使って、そのエントリと参照先を読み込みます。Termanyはスキル用MCPサーバーをインストールしたり、スキル読み込み関数を注入したりしません。ACPは初回使用時、復元時、または設定変更時に完全な設定スナップショットを送信します。変更のないターンでは、短い復旧ポインターが送信されます。通知されない自動コンパクションは、移植可能な方法では検出できません。
設定は、プライベートな返信、挨拶、グループメンバーへの返信、Bot間の配信に適用されます。内部のグループルーティングでは、メンバーの概要のみが使用されます。更新は会話履歴を消去せず、次のリクエストから適用されます。ACPはこれをプロンプトコンテキストとして受け取り、移植可能なシステムプロンプトの上書きとしては受け取りません。通常のターミナルペインは、Botの設定を自動的には引き継ぎません。
エージェントに専用の名前、アバター、役割、モデル、作業フォルダーを設定し、再利用可能なBotにできます。Botに直接話しかけるか、複数のBotをグループチャットに参加させます。リードメンバーが会話を調整し、作業を委任して、結果をまとめます。@メンションを使うと、特定のメンバーにメッセージを振り分けられます。トピックを分けることで、別々のタスクが1つの長い会話記録に混在するのを防ぎ、会話の中でも各Botのアイデンティティを明確に保ちます。
セッションの復元に対応するエージェント(loadSession、または会話記録を再生せずにコンテキストを復元するエージェントではsessionCapabilities.resume)の場合、アイドル状態のACP Botプロセスは5分後に解放されます。メッセージを再び送信するとエージェントが再起動し、同じ会話を読み込みます。最初の返信が始まるまで少し時間がかかる場合があります。返信中のプロセスと権限要求は実行中のままです。セッションの復元に対応していないエージェントは、会話をメモリに保持します。設定の検出だけを目的に起動した未使用のプロセスも解放される場合があります。ターミナルセッションは停止しません。

同じウィンドウでレビュー
どのペインもシェルから別のビューに切り替えられます。⌘Eでビューを順に切り替えます。
- ファイル — ファイルツリーです。ファイルをクリックすると、インプレースで編集するか(CodeMirror、言語の自動検出、⌘Sで保存)、読み込めます。Markdown、HTML、画像、動画、音声、PDF、DOCX、XLSX、PPTXはインラインでプレビューできます。
- Git 差分 — ステージ済み、未ステージ、未追跡の変更を表示します。作業ツリーを別のベースと比較できます。同じパネルから、同じリポジトリの別のワークツリーに切り替えられます。
- 会話 — ACP 上のチャットペインで、専用のモデル選択機能があります。
- ブラウザー — Web ビューです。ペインがポートでの待ち受けを開始すると、Termanyから開くように案内されます。
エージェントは1つのペインで実行され、その差分は隣のペインに表示されます。

ワークツリーとリモートホスト
- ペインごとの SSH。 各ペインで個別に接続先を選べるため、1つのタブ内にローカルシェルと2つのリモートホストを並べられます。接続先は表示名、任意のポート、自動認証・パスワード認証・ID ファイル認証を指定して追加できます。接続をテストすると、接続が必要になる前に確認できます。セッションが切断された場合は、Enterキーを押すと再接続されます。リモートのペインがポートでの待ち受けを開始すると、ワンクリックでループバック上に SSH 転送が開き、リモートの URL をローカルで開けます。
- ワークツリーをまたいだセッション履歴。 ⇧⌘Hを押すと、フォーカス中のペインが属するリポジトリの過去のエージェントとの会話が一覧表示されます。セッションはブランチごとにまとめられ、リポジトリのすべてのワークツリーが対象になります。ディレクトリがすでに存在しないセッションは削除済みワークツリーの下に表示され、メインのチェックアウトから再開できます。どのセッションも新しいペインで再開され、プロジェクトのディレクトリに
cdした状態になります。 - アクティビティモニター。 ⇧⌘Mを押すと、CPU、メモリ、スワップ、メモリプレッシャーに加え、プログラムごとにまとめられたプロセス一覧が表示されます。検索ボックスにポート番号を入力すると、そのポートを使用しているプロセスを探し、同じ行から終了できます。


エージェントのコスト
Termanyはエージェントのトランスクリプトを読み取り、使用状況ビュー(⇧⌘U)を作成します。推定コスト、入力・出力・キャッシュのトークン数、日別グラフ、モデル別・プロジェクト別の内訳を確認できます。
現在、使用状況とセッション履歴で読み取れるのはClaudeとCodexのトランスクリプトです。その他のエージェントは未対応として表示されます。

外観とキー
18 種類のテーマが標準搭載されています。テーマはターミナルの配色だけでなく、ウィンドウ全体のスタイルを変更します。サイドバー、タブストリップ、各ペインの間隔や角丸、ペインの下の影もすべてテーマによって変わります。Windows 98 の面取りやネイビーのタイトルバーが復活するほどです。⌥⌘. と ⌥⌘, でテーマを切り替えるか、⌥⌘T でピッカーを開いてください。
![]() Codex ライト · デフォルト | ![]() Default Dark ダーク | ![]() Daylight ライト |
![]() Charcoal ダーク | ![]() Meadow ライト | ![]() Solarized Dark ダーク |
![]() Gruvbox Dark ダーク | ![]() Gruvbox Light ライト | ![]() Rosé Pine ダーク |
![]() Rosé Pine Dawn ライト | ![]() Aurora ダーク | ![]() Horizon ライト |
![]() Phosphor ダーク | ![]() Windows 98 ライト | ![]() Windows XP ライト |
![]() Aqua ライト | ![]() Blue Screen ダーク | ![]() Spreadsheet ライト |
インストールした CodexThemes パックは、アートワークとともに「設定」→「外観」に表示され、上記の18種類に加えてワンクリックで適用できます。
約60種類のアクションはすべて、「設定」→「キーボード」でキーを再割り当てできます。右側のレールでは、使用しないツールを非表示にできます。インターフェースは21言語に対応しています。
インストール
termany.sh からビルドをダウンロードするか、ソースから実行してください。
ソースから実行する
npm install # builds node-pty natively (needs Xcode CLT on macOS)
pnpm dev:web # dev PTY server (:5175) + web (:15173) — open http://localhost:15173
pnpm dev:desktop # the same, plus the badged Tauri Dev app
macOS では、デスクトップ用スクリプトが、選択した SDK とリンカーに互換性があることを確認します。単独でインストールした Command Line Tools のアップデートと SDK に不整合がある場合、その実行時には、システム全体の xcode-select 設定を変更せず、Termany がインストール済みの Xcode ツールチェーンを自動的に使用します。
デスクトップクライアントは Tauri で apps/web をラップし、Node PTY/API サーバー(同梱の Node ランタイムと node-pty)も同梱するため、別途インストールすることなくオフラインで実行できます。
インストーラーをビルドする
インストーラーは CI(.github/workflows/)で、OS ごとに 1 つのジョブとして作成されます。
- macOS(
build.yml)— 署名・公証済みの.dmg。ドラフト版の GitHub リリースに添付されます。APPLE_*リポジトリシークレットが必要です。 - Windows(
build-windows.yml)— NSIS の.exe。ビルド成果物として アップロードされます。シークレットは不要です(署名なし)。
どちらも scripts/bundle-server.mjs に依存しており、Tauri のビルド前にホストプラットフォーム向けの Node サーバーを組み立てます。macOS DMG をローカルでビルドする方法については、scripts/release-mac.sh を参照してください。
設定
モデルプロバイダーは BYOK(独自のキーを持ち込み)方式です。アプリ内で実行時に追加すると、ローカルの ~/.termany/termany.db に保存されます。このリポジトリにキーは保存されません。任意の環境変数は次のとおりです。
| 変数 | デフォルト | 用途 |
|---|---|---|
TERMANY_PORT | 5174 リリース / 5175 開発 | PTY/API サーバーのポート |
TERMANY_HOST | 127.0.0.1 | サーバーがバインドするインターフェース。ループバック以外を指定すると、認証なしでシェルがネットワークに公開されます |
TERMANY_ALLOWED_ORIGINS | — | サーバーへの呼び出しを許可する追加のブラウザーオリジン(Tauri とループバックページは常に許可されます) |
TERMANY_PASTE_DIR | システムの一時ディレクトリ | 貼り付けた画像の保存先 |
VITE_PTY_URL | ws://localhost:5174 リリース / :5175 開発 | Web クライアント → PTY WebSocket |
VITE_API_URL | VITE_PTY_URL に追従 | Web クライアント → REST API |
ショートカット
初期設定されているショートカットです。すべて「設定」→「キーボード」で変更できます。
| キー | アクション |
|---|---|
| ⌘T | 新しいタブ |
| ⌘N | 新しいページ |
| ⇧⌘N | 新しいワークスペース |
| ⌥⌘N | 新しいウィンドウ(デスクトップ) |
| ⌘W | ペイン/タブを閉じる |
| ⌘D / ⇧⌘D | 右/下に分割 |
| ⌘M | ペインを最大化/元に戻す |
| ⌘E / ⇧⌘E | ペイン表示/ペインレイアウトを切り替える |
| ⌘P | ページ、タブ、ペインを検索 |
| ⌘F | スクロールバック内を検索 |
| ⌥⌘G | Git 差分 |
| ⇧⌘H | エージェントのセッション履歴 |
| ⇧⌘U | エージェントのトークン使用量 |
| ⇧⌘M | アクティビティモニター |
| ⌥⌘ ← ↑ ↓ → | ペイン間でフォーカスを移動 |
| ⌃⌘ ← ↑ ↓ → | フォーカス中のペインのサイズを変更 |
| ⌘B / ⇧⌘B | サイドバー/右レールを切り替える |
| ⌘K | ペインをクリア |
デスクトップアプリでは、システム全体で有効なホットキーを使って、どのアプリからでもウィンドウの表示・非表示を切り替えることもできます。使用可能な組み合わせの多くは Spotlight、ランチャー、IME、メディアキーですでに使われているため、初期状態では無効です。「設定」→「キーボード」→「システム全体」で独自のキーを設定してください。
仕組み
ローカルファーストで、クラウドにも対応できる設計です。現在、同じ UI が Web アプリとデスクトップクライアントとして動作し、将来的にはバックエンドを切り替えるだけでクラウドサービスとして動作します。
┌──────────────────────────────────────────────┐
│ apps/web React + xterm.js │ ← shared UI
│ Workspace ▸ Page ▸ Tab ▸ Pane │
├──────────────────────────────────────────────┤
│ packages/core ITerminalBackend │ ← the ONE seam
│ WebSocketBackend (web / cloud) │
│ LocalPtyBackend (desktop, TODO) │
├──────────────────────────────────────────────┤
│ apps/server node-pty over WebSocket │ ← local now; container-per-session later
└──────────────────────────────────────────────┘
ITerminalBackend より上のすべての要素は、Web、デスクトップ、クラウドで共有されます。新しい環境に対応するには、バックエンドを 1 つ追加するだけです。UI を変更する必要はありません。
今後のロードマップ
- セッションの再接続:ページを再読み込みしてもセッションを維持します(サーバー側の PTY 永続化)。
LocalPtyBackend:デスクトップ向けのプロセス内 PTY バックエンドです。現在、デスクトップアプリはローカル WebSocket 経由でバンドルされたサーバーと通信しています。- クラウド:
apps/serverを認証の背後に配置し、セッションごとのコンテナサンドボックスを導入します。
コントリビューション
開発環境のセットアップと PR のガイドラインについては CONTRIBUTING.md を、脆弱性の報告については SECURITY.md をご覧ください。
コントリビューター
Termany に貢献してくださった皆さん、ありがとうございます。
ライセンス
AGPL-3.0 © 2026 ThinkAny, LLC. ネットワーク経由での使用は配布にあたります。変更した バージョンをサービスとして運用する場合、ユーザーにそのソースコードを提供する必要があります。AGPL の適用外となる商用ライセンスについては、 [email protected] までお問い合わせください。
termany.sh は ShipAny で構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。

















