fleet について
fleet は、コーディングエージェントやコマンドライン利用者が SSH で到達できるマシンを調査・利用するためのツールです。GPU の空き状況、ジョブ、ソフトウェア、稼働中のモデルを確認でき、接続先にはプログラムやサービスをインストールせずに調査します。コマンドを実行できないアプリ向けの MCP サーバーも備えています。
主な機能
- 01SSH 経由でマシンを一覧化
- 02GPU の空き状況と実行中ジョブの確認
- 03ソフトウェア、モデル、データフォルダーの調査
- 04SSH 設定と tailnet のマシンを検出
- 05fleet コマンドラインでコマンドを実行
活用シーン
- 01GPU に空きのあるマシンを選択
- 02モデルサーバーを稼働中のホストを特定
- 03Linux マシンでテストを実行
- 04データセットの場所と空き容量を確認
MCP 対応
コマンドを実行できないデスクトップアプリやエディター向けに MCP サーバーを提供し、同じ fleet コマンドをクライアントから利用可能にします。コマンドを実行できるエージェントは skill を使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
fleet — コーディングエージェントに、所有するすべてのマシンを使わせる
Claude Code、Codex、Gemini から見えるのは、実行されているマシンだけです。
fleet は、すべてのマシンを見えるようにします — すべての GPU とそこで実行中のもの、提供中のモデル、インストール済みソフトウェア、モデルやデータの保存場所を確認できます。
アカウント不要、クラウドサービス不要、追加するマシンへのインストール不要、キーの共有不要です。fleet は、すでにお使いの SSH を使い、いつもどおりにログインします。
問題
エージェントにモデルのトレーニングを頼むと、部屋の向こうでは 4090 がアイドル状態で、レンタルした A100 の料金が時間単位で発生しているのに、ノート PC で実行を始めます。見えないものは使えません。
- エージェントが 1 台のマシンに縛られています。 ほかのマシンの存在をまったく知りません。
- 空いている GPU を探すのは手作業です。 5 台のホストに SSH で接続し、
nvidia-smiを実行して、頭の中で比較します。 - 何が実行中か、すでに何があるかを確認できません — そのカードで誰のジョブが動いているのか、どのマシンがすでに Llama 3 を提供しているのか、データセットがどこにあるのかがわからないため、同じものを二度ダウンロードしてインストールしてしまいます。
始め方:エージェントに頼む
作業に使っているマシンで、これを Claude Code、Codex、Gemini CLI、またはコマンドを実行できる任意のエージェントに貼り付けます。
Install fleet from https://github.com/sinolion/fleet
エージェント向けの手順は INSTALL.md にあります。
設定はこれだけです。fleet はこのマシンに一度インストールすれば、ここにあるすべての対応エージェントが使えるようになります。頼んだエージェントだけではありません。あとは、覚えておくコマンドなしで、やりたいことを自然な言葉で伝えるだけです。
次に、マシンを追加します
マシンへの接続方法をエージェントに伝えます。すでに使っている SSH コマンドだけで十分です。または、~/.ssh/config や tailnet を調べて、すでに接続できるマシンを探させることもできます。
あなた: GPU サーバーを追加して。
ssh [email protected]エージェント:
gpu-boxとして追加しました:RTX 4090 が 2 基、どちらもアイドル状態で、空き容量は 46 GB です。すぐ使えます。
どんなマシンでも、追加するのに必要なのは一文です。
| マシン | エージェントに伝えること |
|---|---|
| すでに SSH で接続できるサーバー | 「ssh [email protected] を追加して」— fleet はあなたと同じように、あなたのキーでログインします |
| 特定のキーファイルで接続するマシン | 「ssh -i ~/.ssh/my_key [email protected] を追加して」— または ~/.ssh/config にある Host |
| tailnet 上のマシン | 「自分のマシンを探して」— SSH 設定のホストと tailnet 上のマシンを一覧表示し、選んだものを追加します |
| 新しいレンタル(vast.ai、RunPod、AutoDL) | 「ssh -p 40001 [email protected] を追加して。料金は 1 時間あたり $1.89」— プロバイダーのアカウントにあるキーを使います |
| パスワードでしか接続できないマシン | 「追加して」— fleet が ssh-copy-id を提案します。ssh にパスワードを一度入力すると、キーがそのマシンに登録されます |
| 接続できないマシン | 「NAS に接続できないのはなぜ?」— fleet doctor が修正すべき項目を特定します |
追加するマシンには何もインストールされません。Linux、macOS、Windows のいずれでも、SSH が使えれば十分です。fleet は各マシンの GPU、メモリ、ディスクを調べ、最新の状態に保ちます。
あとはエージェントに任せましょう
作業内容を伝えると、エージェントが適切な場所を見つけます。各マシンのスペックだけでなく、 今どれだけ空いているかも確認するため、使用中のカードにジョブを送ることはありません。
あなた: 空きのある 24 GB カードで
train.pyを学習させてエージェント:
rtx4090は 23.1 GB の空きがあり、GPU もアイドル状態です。a100-spotも空いていますが、 料金は $1.89/hr です。rtx4090で開始し、train.logに記録します。
| あなたの指示 | エージェントによる検索方法 |
|---|---|
| 「今、空いているのは?」 | すべてのマシンを確認し、空いているものを一覧表示します |
| 「24 GB カードを搭載したマシンを探して」 | 名前ではなく、マシンのスペック(NVIDIA または AMD、VRAM、コア数、RAM)で照合します |
| 「Linux マシンでテストを実行して」 | Linux を実行しているマシンを見つけ、結果を持ち帰ります |
| 「何にお金がかかっている?」 | 有料レンタルのアイドル状態を検出し、時間あたりの料金を表示します |
| 「GPU を使っているのは誰?」 | すべてのカード上の全ジョブについて、ユーザー、VRAM 使用量、経過時間、コマンドを表示します |
| 「Llama 3 はすでにどこかで提供されている?」 | すべてのモデルサーバーのモデルと、接続先の URL または SSH トンネルを表示します |
| 「torch 2.5 と CUDA 12 があるマシンは?」 | 各マシンの CUDA または ROCm、Python 環境、パッケージのバージョンを表示します |
| 「データセットの保存先にデータセットをダウンロードして」 | そのマシンがデータセットの保存先として指定しているフォルダーと、残りの空き容量を確認します |
キーやパスワードが会話に出ることはなく、取り消せない操作は必ずあなたの許可を待ちます。
fleet をインストールするのは、使用する場所だけです。 追加するマシンに必要なのは SSH だけです。
そのマシンでもエージェントを実行する場合に限り、fleet をインストールしてください。どこでも同じように動作し、
参加や同期は不要です。その環境では、fleet ls --discover で SSH 設定と tailnet にあるマシンを一覧表示できます。
手動で追加したマシンは、dotfiles と一緒に共有できる 1 つのファイルに保存されます。
コマンドを実行できないアプリの場合は?
デスクトップアプリやエディターには、ワンクリックで fleet を追加できます。fleet は MCP サーバーとして動作します。
| アプリ | インストール |
|---|---|
| Claude Desktop | 最新リリースから fleet.mcpb を開きます |
| Cursor | |
| VS Code |
Claude Code、Codex、Copilot CLI、Gemini CLI 向けのプラグインのほか、OpenCode、Amp、 Windsurf、Cline、Zed、Qwen Code、Goose、Kiro、Hermes など、合計 35 以上のエージェントに対応しています。 すべてのエージェント →
安全性を重視した設計
- マシンへのインストールは不要です。 fleet は 1 つの SSH 接続を使い、1 つのスクリプトでマシンを調査します。 Linux、macOS、Windows に対応します。NAS や借りたばかりのマシンでも、そのまま使えます。そこに作成されるわずかな ファイルについては、fleet による変更点に記載しています。
- キーの共有も、アクセス管理も行いません。 fleet は、SSH 設定、キーとエージェント、Tailscale SSH、レンタルプロバイダーのキーなど、
あなたが使う方法そのままで接続し、キーをどこにも書き込みません。誰がどこにアクセスできるかは、これまでどおりあなたが決める場所で管理します。
マシンに接続できない場合は、
fleet doctorが対処法を示します。fleet が勝手に変更することはありません。 - パスワードは使用しません。 fleet がパスワードを求めたり保存したりすることはなく、エージェントが認証情報を見ることもありません。 GPU ジョブのコマンドラインに含まれるシークレットは、誰かに表示される前に伏せられます。
- エージェントは推測せず、確認します。 どのマシンを指しているか尋ねること、取り消せないコマンドはあなたに任せること、 他の人が使用中の GPU で作業を始めないことが指示されています。
- 外部への通信はありません。 fleet は自身のインストールと更新を除き、あなたのマシンとだけ通信します。 アカウント、テレメトリー、更新確認はありません。問題を見つけた場合は、SECURITY.mdで非公開で報告する方法をご確認ください。
コマンドラインを使いたいですか?
エージェントが実行する操作はすべて、通常の fleet コマンドです。fleet を自分でインストールするには、作業元のマシンで次のコマンドを実行してください(エージェントに依頼したときも、同じコマンドが実行されます)。
curl -LsSf https://raw.githubusercontent.com/sinolion/fleet/main/install.sh | sh
Windows:powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/sinolion/fleet/main/install.ps1 | iex"
次に、自分で操作します。
fleet ls # every machine, with what is free right now
fleet ls --tag cuda --tag vram-24g # by capability: NVIDIA, a card of 24 GB or more
fleet ls --tag rocm # every AMD machine
fleet top # live view, like htop for the whole fleet
fleet show gpu-box # one machine in detail: jobs, software, models, folders
fleet ps # every job on every GPU, and which GPUs are idle
fleet models # every model being served, and how to reach it
fleet edit gpu-box --path models=/data/models # where that machine keeps its models
fleet ssh gpu-box -- nvidia-smi # run something there
fleet add "ssh [email protected]" # add a machine
fleet ls --discover # machines in your ssh config and on your tailnet
fleet doctor nas # why a machine will not let you in, and the fix
マシンがモデル、データセット、メディアをどこに保存しているかは、マシン自体の machine.yaml に記録されます(fleet edit NAME --path models=/data/models)。そのマシンを確認する人は誰でも同じ情報を参照でき、フォルダーのサイズと空き容量も各プローブの結果に含まれます。
vast.ai、RunPod、AutoDLのレンタルでは、料金(fleet edit a100 --cost 1.89)、フリートの消費額、レンタルがアイドル状態のままのときのアラートが表示されます。Tailscale、ZeroTier、WireGuardを使っていますか?fleet が必要とするのは、ルーティング可能なアドレスだけです。
fleet の比較
fleet は、すでに所有しているマシンを対象としています。新しいマシンを起動するツールを補完します。
ssh + nvidia-smi | nvitop / gpustat | all-smi / gpuwho | SkyPilot / dstack | fleet | |
|---|---|---|---|---|---|
| すべてのマシンを1つの画面で表示 | ✗ | ✗ 1台のみ | ✓ | ✓ 管理対象のみ | ✓ |
| コーディングエージェント向け(スキル / MCP) | ✗ | ✗ | ✗ | 一部対応 | ✓ |
| 対象マシンへのインストール不要 | ✓ | ✗ | gpuwho ✓、all-smi ✗ | ✗ | ✓ |
| ジョブ、提供中のモデル、ソフトウェア、データフォルダー | ✗ | ジョブ、1台のみ | ジョブ | ✗ | ✓ |
| NVIDIA、AMD、AppleのGPU | NVIDIA | NVIDIA | all-smi ✓ | ✓ | ✓ |
| 新しいクラウドVMを起動 | ✗ | ✗ | ✗ | ✓ | ✗ |
| 履歴、アラート通知 | ✗ | ✗ | all-smi ✓ | 一部対応 | ✗ 要求時にアラート |
別のツールを使う場合。 必要に応じて最安価格でGPUをレンタルするには、SkyPilotまたはdstackを使ってください。マシンを起動・停止できますが、fleetにはその機能がありません。大規模なクラスターで数週間にわたるメトリクス収集やページングを行うには、PrometheusとGrafanaを組み合わせたDCGMを使ってください。さまざまな種類のアクセラレーター(Gaudi、NPU)をライブダッシュボードで確認するには、all-smiを使ってください。fleet は、すでに所有しているマシンと、エージェントがそれらを利用できるようにするためのツールです。
Tailscale、Ansible、~/.ssh/config だけでは不十分な理由。 これらは fleet の代わりではなく、fleet と併用してください。Tailscaleはマシン同士を接続し、fleet はその上で問題なく動作しますが、どのマシンに空きGPUがあるかをエージェントに伝えることはできません。Ansibleは、作成したプレイブックに合わせてマシンを変更しますが、現在どのマシンが使用中かは把握できません。~/.ssh/config はホストに名前を付け、fleet はそこからホスト情報を読み取ります。fleet はその間をつなぎ、何を所有しているか、どこに空きがあるか、何が実行・インストールされているかを、あなたの手を借りずにエージェントが利用できる形式で示します。
FAQ
セットアップ
すべてのマシンにfleetをインストールする必要がありますか?
いいえ。インストールするのは、fleetを使うマシン、つまり作業元のマシンと、エージェントも実行するその他のマシンだけです。GPUサーバー、レンタルマシン、NASなど、利用するだけのマシンには、SSHがあれば十分です。
Tailscaleは必要ですか?
いいえ。fleet は SSH でマシンに接続できる手段なら何でも使います。LAN、VPN、踏み台ホスト、レンタルサーバーの公開ポートなどです。Tailscale を使っている場合は、`fleet ls --discover` で tailnet 上のマシンを自動検出でき、どこに誰がログインできるかは Tailscale SSH が管理します。fleet は接続するだけです。[マシンへの接続](docs/guides/reaching-machines.md)をご覧ください。2 台のマシンで fleet を実行しています。何か共有されますか?
共有する必要はありません。それぞれのマシンは、自分の SSH で接続できるマシンを確認します。また、マシンのコスト、タグ、モデルの保存場所など、そのマシン自身についての情報はそのマシン上に保存されるため、どちらからも同じ情報を読み取れます。手動で追加したマシンは 1 つのファイル、machines.yaml(保存場所は fleet paths で確認できます)に記録されます。このファイルをコピーするか、dotfiles に含めておいてください。
1 台のマシンで Claude Code と Codex(その他のツール)を使っています。問題ありませんか?
はい。それが通常の使い方です。fleet はマシンごとに一度インストールすればよく、コマンドもマシンの一覧も 1 つです。各エージェントには fleet を指す小さなスキルまたは MCP エントリーだけを用意するため、Claude Code、Codex、Gemini CLI、デスクトップアプリのすべてで同じマシンを確認でき、同時に使用できます。後から新しいエージェントをインストールした場合は、fleet を使えるエージェントに fleet setup を実行するよう頼んでください。
エージェントが実際に受け取るものは何ですか?
コマンドを実行できるエージェント(Claude Code、Codex、Gemini CLI、Copilot CLI、OpenCode、…)には、fleet コマンドを説明するテキストであるスキルが提供されます。マシンが必要なタスクを実行するまでは、費用はかかりません。コマンドを実行できないアプリ(Claude Desktop、Cursor、VS Code、…)には、同じコマンドを実行する MCP サーバーが提供されます。エージェントをご覧ください。インストール後、新しいセッションを開始してエージェントに読み込ませてください。
安全性
fleet はパスワードを保存しますか?エージェントに鍵が見えますか?
どちらもありません。fleet 自身の鍵はなく、パスワードを扱うこともありません。自分で実行するのと同じように ssh を実行します。パスワード認証のみのマシンの場合は、ターミナルで ssh-copy-id を実行するよう案内します。パスワードは一度だけ、ssh 自体に入力します。エージェントは fleet ssh NAME を実行しますが、鍵もパスワードも見ることはありません。ただし、fleet show に表示されるマシンのアドレスは確認できる場合があります。
fleet は追加したマシンに何を残しますか?
ほとんど何も残しません。fleet edit が書き込むメモファイル(machine.yaml:タグ、コスト、メモ、フォルダー、宣言済みサーバー)、ソフトウェアのバージョンとフォルダーサイズの小さなキャッシュ(~/.cache/fleet)だけです。authorized_keys には何も書き込みません。プログラムもサービスもインストールしません。
fleet が変更する内容に全項目が記載されています。
エージェントが元に戻せない操作をすることはありますか?
そのような操作をしないよう指示されています。マシンの削除はユーザー自身が行う必要があり、MCP 経由でアプリから実行することもできません。どのマシンか、どのユーザーかなど、依頼が曖昧な場合、エージェントは推測せずに確認します。
マシン
fleet が報告するディスク容量が正しくありません。
コンテナーや GPU レンタルなど、一部のシステムでは、容量が別のボリュームにあるのに / が小さなオーバーレイとして表示されます。監視するパスを fleet に指定してください。「gpu-box では /workspace を監視して」と伝えるか、fleet edit gpu-box --disk-path /workspace を実行します。
ディスクをご覧ください。
レンタルサーバーの IP アドレスまたはポートが変わりました。
名前、タグ、コスト、履歴はそのままに、接続先を更新してください。「gpu-box の接続先を ssh -p 40123 [email protected] に変更して」と伝えるか、fleet edit gpu-box --ssh "ssh -p 40123 [email protected]" を実行します。
マシンが異なる NAT の背後にある、または異なる拠点にあります。
fleet は接続性を解決するものではなく、現在利用できる経路を使います。fleet を実行するマシンから、SSH 経由で各マシンに到達できる必要があります。マシン同士が互いに到達できる必要はありません。異なる NAT の背後にあるマシンの場合は、Tailscale や ZeroTier などのメッシュネットワークに接続し、メッシュアドレスで追加してください。 [マシンへの接続](docs/guides/reaching-machines.md)をご覧ください。Windows に対応していますか?
はい、どちらの方法でも使えます。Windows マシンは OpenSSH Server だけでターゲットとして動作し、fleet も Windows 上で実行できます。 Windowsをご覧ください。
バックグラウンドで実行され続けるものはありますか?
いいえ。fleet は、あなたまたはエージェントが使用しているときだけ実行されます。fleet が調べるマシンでは、指定したフォルダーのサイズを把握してプローブを待たせないよう、ときどき du がバックグラウンドで実行されることがあります。
fleet 0.5 を使っていました。何が変わりましたか?
fleet はアクセス管理を行わなくなりました。中央管理機能も招待も、独自の鍵もありません。アップグレード後、マシンを再度追加してください。 0.5 からのアップグレードには、0.5 がマシンに残したものと、その削除方法が記載されています。
fleet を削除するにはどうすればよいですか?
fleet uninstall を実行してください(ファイルも削除するには --purge を指定します)。エージェントから fleet が削除され、最後の手順として uv tool uninstall agents-fleet が表示されます。
fleet の削除をご覧ください。
詳細情報
- はじめに — 10 分で最初の fleet を作成します
- ガイド — マシンの追加、接続方法、各マシンにあるもの、Windows
- すべてのエージェント — 35 以上のエージェント向けのインストールコマンドと設定
- コマンドリファレンス — すべてのコマンドとオプション
- fleet の仕組み — 内部で何が起きるかを順を追って説明します
- 設計 — マシンごとに 1 つのコア、エージェントごとに 1 つのスキル、その他には MCP
- すべてのドキュメント。ウェブサイトでもご覧いただけます:agents-fleet.dev
ステータス: v0.6。テストスイートは Linux、macOS、Windows で実行され、すべてのコマンドは CI で各 OS の実機を使って最初から最後までテストされます。エージェントが実行するようにスクリプトから実行し、実際に使うときと同じようにターミナルからも実行します。
Issue やプルリクエストを歓迎します。CONTRIBUTING.mdをご覧ください。fleet によって GPU の稼働時間を 1 時間節約できたなら、⭐を付けて、ほかの人にも見つけてもらいましょう。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。