autodl
autodl-cli
非公式。 このプロジェクトはAutoDLとは提携、承認、またはスポンサー関係にありません。 「AutoDL」は、このツールが通信するプラットフォームを識別するためにのみ使用されています。
コマンドラインからAutoDLのGPUインスタンスを管理 — そして、あなたのコーディングエージェントにもそれをさせましょう。
AutoDLの公式オープンAPI上に構築されているため、開発者トークンは無期限に有効で、Webコンソールが再設計されても壊れません。
なぜ
AIエージェントがタスクの途中でGPUボックスを必要とするとき、それを取得する方法がありません。AutoDLのインスタンスはWebコンソールをクリックして作成されるからです。これにより、エージェントには3つの入り口があり、すべて同じコアに支えられています:
エントリーポイント | 対象 | 方法 |
CLI | 人間 |
|
MCPサーバー | Claude Code、Cursor、Cline、… |
|
SDK | Nodeプログラム |
|
すべてのコマンドは安定したスキーマと文書化された終了コードを持つ--jsonを話すため、エージェントは散文を解析せずに結果に基づいて分岐できます。
Related MCP server: lab-ops
インストール
npm install -g @minatoaqukin/autodl-cli # then: autodl <command>
npx @minatoaqukin/autodl-cli <command> # or without installingNode.js 22+が必要です。
ダッシュボード
autodl tui # or just `autodl` in an interactive terminalトークンがまだないマシンでは、ログイン画面が開き、2つの選択肢が提供されます — トークンを設定するか、終了するか。トークンを貼り付けると、保存前にAPIに対して検証され、ダッシュボードに移動します。設定後、autodlは直接入ります。
インスタンスのライブテーブル:ステータス、GPU、リージョン、各インスタンスが電源オンになってからの時間とそのおおよそのコスト、および残りのTTL。キー:↑↓移動、Enter詳細、s開始、x停止、cSSHコマンドをクリップボードにコピー、Ctrl+D解放、gGPU在庫、n新規インスタンス、r更新、q終了。解放は単一キーではなくCtrl+Dにあります。インスタンスを完全に消去するためです。
ターミナルを埋め、ヘッダーにアカウントIDと残高を表示します。cでコピーすると、SSHコマンドのみがクリップボードに置かれます — ルートパスワードは決してコピーされません。どのプロセスでも読み取れるためです。クリップボードヘルパーが存在しない場合(SSHセッション、コンテナ)、OSC 52にフォールバックし、その旨を表示します。ターミナルが確認しないためです。
ターミナルの代替画面で実行されるため、既存のコンテンツの下にスクロールするのではなく、固定されたキャンバスを所有し、終了するとプロンプトとスクロールバックはそのまま復元されます。
これは、AutoDLが電源状態に基づいて課金するためです。高価な間違いは間違ったコマンドではなく、誰も停止を忘れたインスタンスです。これを開いたままにしておくと、それが見えるようになります。
2つの意図的な正直さの制約があります。レートは実行中のインスタンスのスナップショットからのみ知ることができるため、停止したインスタンスは経過時間と金額なしを表示します — 数字をでっち上げるよりは何も表示しない方がましです。また、レートがまだ読み込み中の間は、合計がその旨を表示し、静かに過小報告することはありません。
TUIはパイプ、CI、または--json下では決して実行されません:存在しないターミナルを乗っ取る代わりに、コード2と説明で終了します。対話型ターミナル外での裸のautodlは、以前とまったく同じようにヘルプを表示します。
セットアップ
公式APIには、本人確認済みのアカウント(個人または企業の実名認証)からの開発者トークンが必要です。AutoDLコンソール → 設定 → 開発者トークンから取得します。
autodl login # verifies the token, then saves it with 0600 permissions
autodl account # balance, vouchers, lifetime spendトークンの優先順位:--token › AUTODL_TOKEN › ~/.config/autodl-cli/config.json。
クイックスタート
# Rent a GPU that shuts itself off after two hours, and wait until it's ready
autodl create --gpu 4090 --ttl 2h --wait
# Work with it
autodl ls
autodl ssh pro-76419909953e # interactive login
autodl exec pro-76419909953e "nvidia-smi" # one-off command, remote exit code
autodl push pro-76419909953e ./src /root/work # SFTP upload
autodl pull pro-76419909953e /root/work/out . # SFTP download
# Stop paying
autodl stop pro-76419909953e
autodl rm pro-76419909953e --yes # irreversible: wipes all dataまたは、1つの動詞で全部を行います:
autodl run "python train.py" \
--gpu 4090 --sync ./ --pull /root/autodl-cli/checkpoints --ttl 4hこれにより、インスタンスを作成し、待機し、コードをアップロードし、コマンドの出力をストリーミングし、結果をダウンロードし、インスタンスの電源をオフにします — Ctrl-C時も含みます。
エージェントから使用する
Claude Code
claude mcp add autodl -- npx -y @minatoaqukin/autodl-cli mcpCursor / Cline / 任意のMCPクライアント
{
"mcpServers": {
"autodl": {
"command": "npx",
"args": ["-y", "@minatoaqukin/autodl-cli", "mcp"],
"env": { "AUTODL_TOKEN": "your-token" }
}
}
}公開されるツール:autodl_account_info、autodl_list_instances、autodl_get_instance、autodl_create_instance、autodl_power_on、autodl_power_off、autodl_release_instance、autodl_exec、autodl_upload、autodl_download、autodl_run、autodl_list_gpu_specs、autodl_list_images、autodl_save_image、autodl_sweep_expired。さらにautodl://instancesリソース。
MCPのデフォルトはCLIよりも意図的に厳格です。誰も見ていないためです:2時間のTTLが適用され、より長い時間を要求しない限り、解放には明示的なconfirm: trueが必要で、パスワードは要求されない限り伏せ字で返されます。
シェル / CI
autodl ls --json | jq -r '.data[] | select(.status=="running") | .uuid'Gitプロジェクトのデプロイ
# Rent a box, clone, auto-install dependencies, run it, then stop the instance
autodl deploy owner/repo --gpu 4090 --start "python train.py" --ttl 4h
# Long-running service: background it and keep the instance up
autodl deploy owner/repo --gpu 4090 --start "python app.py" --detach
# Come back later — powers the same box on and `git pull`s, no rebuild
autodl deploy owner/repo --instance pro-76419909953e --start "python train.py"deployはrunと1つの意図的な点で異なります:最後にインスタンスを停止し、解放しません。停止したインスタンスはディスクを保持するため、次のデプロイは既に構築した環境を再利用します。--on-finish releaseでオプトアウトできます。
コードは/root/autodl-tmp/<repo> — データディスクに配置されます。AutoDLのシステムディスクは固定30GBで、保存されたイメージにも含まれます。データディスクは別で、より高速で拡張可能です。知っておくべきトレードオフ:データディスクの内容はイメージを保存するときに含まれません。そのため、環境はシステムディスクに、コードはここに置いてください。
依存関係はこの順序で自動検出され、最初にヒットしたものが優先されます — environment.yml → requirements.txt → pyproject.toml → package-lock.json/package.json。--setup "<cmd>"で上書き、--no-setupでスキップできます。
リモートコマンドはログインシェルを通じて実行されます。AutoDLイメージはpython、pip、condaを/root/miniconda3/binに保持しており、これはログインプロファイルを介してのみPATHに到達します — プレーンな非対話型ssh host "pip install ..."は127で終了します。これはautodl execにも適用されるため、手動でautodl sshで入ったときと同じように動作します。
GitHubまたはHuggingFaceからのクローンは、AutoDLの学術プロキシ(source /etc/network_turbo)を自動的に有効にします。Giteeは国内向けでスキップされます。--no-accelで無効化できます。AutoDLはプロキシが「学術用であり、安定性は保証されない」と述べています。
プライベートリポジトリ:--git-token、または環境内のGIT_TOKEN / GITHUB_TOKEN。トークンはログ行、エラーメッセージ、--json出力、またはチェックアウトの保存されたgitリモートには決して到達しません。
GPU在庫の確認
autodl stock --gpu 4090 # where are the free cards
autodl stock # everything, everywhereこの表を注意深く読んでください — 数字は見た目ほど権威的ではありません。 これらはAutoDLの弾力性デプロイメント在庫エンドポイントからのもので、存在する唯一の容量APIであり、Proインスタンスの可用性を追跡しません。2026-08-23に測定:westDC3で140台のアイドルRTX 4090Dを報告しましたが、そこでのProインスタンス作成は*「在庫なし」*と応答しました — そしてリージョン制約なしの同一リクエストは成功し、beijingDC2に着地しました。
2つの結果がツールに組み込まれています:
インスタンスの作成は、それ自体でリージョンを絞り込むことはありません。
data_center_listを省略すると、AutoDLに最も広い選択肢が与えられ、経験的に最も成功します。Proインスタンスを受け入れるリージョンは2つだけです:
westDC3(西北B区)とbeijingDC2(北京B区)。在庫表の他の9つは弾力性デプロイメント専用です。--regionに渡すと、AutoDLの不透明な「リクエストパラメータエラー」で後で失敗する代わりに、事前に拒否されます。可建Pro列はどちらかを示します。
コストガード
AutoDLは純粋に電源状態に基づいて課金します。 1時間前にトレーニングを終了したインスタンスは、100%使用率のインスタンスとまったく同じコストがかかります。これは、無人エージェントが実際のお金を無駄にする最も簡単な方法であるため、保護はオプションではなく組み込まれています。
3つのレイヤー:
インスタンス内。
--ttl 2hは、ボックス自体にsleep && shutdownを切り離して武装させます。このCLIが強制終了されたり、ラップトップがスリープしたり、ネットワークが切断されたりしても発火します。これは実際にあなたの財布を保護するレイヤーです。ローカル台帳。 すべてのコマンドは、TTLを過ぎたインスタンスを日和見的にスイープして電源をオフにします。レイヤー1ができないケースをキャッチします — 静かに失敗した
start_command、または新しいタイマーなしの手動電源オン。アイドル検出。
autodl guard idle <id>はSSH経由でGPU使用率をサンプリングし、持続的な低迷後にシャットダウンします。
autodl guard ttl pro-xxx 2h # arm/re-arm on a running instance
autodl guard cancel pro-xxx # disarm
autodl guard list # what this machine is tracking
autodl guard sweep # reclaim everything past its TTL now
autodl guard idle pro-xxx --threshold 5 --samples 6 --interval 1m残高ゲートは、ウォレットが--min-balance(デフォルト¥5)未満の場合、インスタンスの作成を拒否します。AutoDLは残高がゼロになった瞬間にインスタンスを回収しません — データを保護するために保持します — そのため、低残高はクリーンな失敗ではなく、スタックした使用不可能なインスタンスになります。
エージェント契約
マイナーバージョン間で安定。破壊的な変更にはメジャーが必要です。
--jsonモードのstdoutは純粋なJSONです。 進行状況、プロンプト、警告はすべてstderrに送られるため、autodl ... --json | jqは常に安全です。
// success
{ "ok": true, "data": { /* ... */ } }
// failure
{ "ok": false, "error": { "code": "NO_STOCK", "message": "…", "hint": "…", "requestId": "…" } }終了 | 意味 | エラーコード |
0 | 成功 | — |
1 | 一般的な失敗 |
|
2 | 不正な引数 |
|
3 | トークンが欠落または無効 |
|
4 | リソースが見つからない |
|
5 | 予算不足 / ガードでブロック |
|
6 | GPU在庫なし |
|
7 | タイムアウト |
|
8 | SSH失敗 |
|
autodl execとautodl runは代わりにリモートコマンドの終了コードで終了するため、autodl exec box "make test" && deployは期待どおりに動作します。
コマンド
コマンド | 機能 |
| トークン管理 |
| 残高、バウチャー、生涯支出 |
| インスタンス一覧 |
| 詳細、ライブSSH情報、リソース使用状況 |
| 従量課金のProインスタンスを作成 |
| 電源オン / オフ / 解放 |
| 対話型ログイン(追加フラグは |
| コマンドを実行、出力をストリーミング、終了コードを伝播 |
| SFTP転送、再帰的、無視ファイルを尊重 |
| 作成 → 同期 → 実行 → 取得 → 電源オフ |
| 作成 → クローン → 依存関係インストール → 開始 → データを保持して停止 |
| リージョンごとのライブGPU在庫 |
| コストガード |
| プライベートイメージ管理 |
| カタログ参照 |
| 対話型ダッシュボード(裸の |
| MCPサーバーとして実行 |
グローバルフラグ:--json、--yes、--token、--base-url、--lang zh|en、--verbose、--no-color、--no-sweep。
push と pull は .git、node_modules、__pycache__、.venv などをスキップし、次に .autodlignore があればそれを適用し、なければ .gitignore にフォールバックします。
SDK
import {
AutoDLClient,
createInstance,
execCommand,
powerOffInstance,
waitForRunning,
} from "@minatoaqukin/autodl-cli";
const client = new AutoDLClient({ token: process.env.AUTODL_TOKEN! });
const uuid = await createInstance(client, {
gpuSpec: "v-48g",
gpuNum: 1,
imageUuid: "base-image-l2t43iu6uk",
cudaFrom: 118,
});
await waitForRunning(client, uuid);
const { stdout } = await execCommand(client, uuid, "nvidia-smi");
console.log(stdout);
await powerOffInstance(client, uuid);パッケージルートから再エクスポートされるものはすべて公開APIです。価格は元(number)として届き、タイムスタンプはISO文字列、Goの sql.NullTime の形は string | null にフラット化されます。
公式APIではできないこと
これらはAutoDLの制限であり、このツールの制限ではありません。事前に知っておくと混乱が大幅に減ります:
従量課金のみ。 日次・週次・月次のプランはなく、更新エンドポイントもありません。
Proインスタンスのみ。
autodl gpusの7つのスペック — より安価な標準インスタンスはオープンAPIからは利用できません。Proの在庫照会は利用不可。 唯一の容量エンドポイントは弾力性デプロイの在庫を報告しますが、これはProの空き状況と明らかに一致しません(上記参照)。作成は実質的に盲目的な試行であり、容量がない場合は終了コード6となり、別のスペックを試すことになります。
Proインスタンスを受け入れるリージョンは2つだけ:
westDC3とbeijingDC2。CPUのみでの起動はまだ不可。 AutoDL自身の表現は意図的に暫定的です:
payloadは"gpu:有卡开机, 暂不支持API以无卡模式开机"と文書化されています — まだサポートされていないのであって、「決して」ではありません。2026-08-24に実機で確認済み:cpu、no_gpu、nogpu、cpu_only、cpu-only、noneはすべてServerError | 不支持的启动模式を返し、空のpayloadは受け入れられますがGPUが接続された状態で起動します(start_mode: "gpu")。当面はWebコンソールで ¥0.1/hr 無卡模式 を使用してください。このツールはAPIが対応した時点で公開します。本人確認が必要 です。APIが応答する前に本人確認が必須です。
存在しない操作: 名前変更、予約シャットダウン、リサイズ、マイグレーション、システムリセット。
SSH認証情報は電源サイクルのたびに変わる可能性があります — ポートとrootパスワードの両方。AutoDLはインスタンスを別のマシンに再スケジュールすることがあります。常に起こるわけではありません(実際の停止/起動で両方が同一に保たれるのを観測済み)。だからこそキャッシュは危険です:古い値が十分な頻度で機能するため、機能しなくなるまでバグが隠れてしまいます。このツールは接続のたびに再読み込みするので、考える必要はありません。
runningはsshdが準備完了であることを意味しません。 作成直後のインスタンスは接続を受け付ける前にrunningを報告します。ここでの接続試行は連続して行うのではなく、間隔を空けて行われます。非対話型SSHセッションにはPATHがほとんどありません。 python、pip、condaはありません — これらは
/root/miniconda3/binにあり、ログインプロファイルを通じてのみ利用可能になります。そのため、ここでのすべてのリモートコマンドはbash -lcの下で実行されます。リリースにはシャットダウンの完了が必要 であり、すでに停止中のインスタンスに対する2回目の
power_offはエラーです。どちらも内部的に処理されます。
知っておく価値があること:15日間連続でシャットダウンされたままのインスタンスはリリースされ、データは消去されます。
2026-08-23にライブAPIで検証済み:4090Dでの完全なライフサイクル(作成 → SSH実行 → SFTP往復 → 停止 → 起動 → 再実行 → リリース)、合計コスト ¥0.10。
GPUスペック、リージョン、ベースイメージのテーブルは、APIがカタログエンドポイントを公開していないため組み込まれています。AutoDLがこれらを変更した場合は、issueを開いてください。
開発
npm install
npm run build
npm test # 325 tests, no network access, no cost
npm run lint
npm run typecheck実際のエンドツーエンドテストは実際のGPUをレンタルし、実際の費用がかかるため、オプトインです:
AUTODL_E2E=1 AUTODL_TOKEN=<token> npm run test:e2e失敗した場合でも、常に afterAll でインスタンスの電源をオフにします。リリースも行うには AUTODL_E2E_RELEASE=1 を追加します。
コントリビューション
IssueとPRを歓迎します — CONTRIBUTING.md を参照してください。特に価値があるもの:静的カタログの修正、およびまだマッピングしていない実際のAPIエラーコード(AutoDLはこれらを文書化していません)。
ライセンス
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceManages AutoDL GPU cloud instances, including lifecycle management, SSH operations, file transfer, and GPU monitoring.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that converts SSH operations on training servers into AI-callable tools for GPU monitoring, job submission, file transfer, and more.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables management of AutoDL GPU resources including instance lifecycle, balance queries, elastic deployments, and notifications through typed MCP tools.2MIT
- FlicenseAqualityBmaintenanceMCP server that wraps the Vast.ai REST API to enable LLM agents to search GPU marketplace, rent machines, manage instance lifecycle, run commands, and inspect billing.201
Related MCP Connectors
Massed Compute MCP — GPU inventory, VM lifecycle, billing, SSH keys, and setup recipes.
Provision and manage a VPS for AI agents over MCP: register, order, get root, control the server.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Minato-Aqukin/AutoDL-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server