lizard sandbox

ターミナルから Sandboxes を作成・管理します。エイリアス: lizard sb。

使い方

lizard sandbox create [flags]
lizard sandbox list [flags]
lizard sandbox exec <id> -- <command>
lizard sandbox ssh <id>
lizard sandbox rm <id> [flags]

すべての sandbox はプロジェクトに属します。現在のディレクトリにリンクされたプロジェクト、または -p で指定したプロジェクトです。

サブコマンド

lizard sandbox create

sandbox を作成し、その ID を表示します。

フラグ説明
-t, --template <name>テンプレート(既定値 base)。有効なテンプレート: base、interpreter、codex、desktop、opencode、pi、prime、claude。サーバーがリージョンの一覧と照合します
-s, --size <size>small、medium(既定値)、large のいずれか
--timeout <ms>有効期間(ミリ秒)。既定値は 300000(5 分)で、0 を指定すると期限がなくなります
--region <code>sandbox を作成するリージョン
--snapshot <id>保存済みのスナップショットから起動します。--size とは併用できません
--volume <name-or-id>Persistent Volume を接続します
--with-token [key]sandbox 内で lizard が動作するように、liz_ API キーを sandbox にインストールします。値を省略すると、実行中の liz_ キーを再利用します。ブラウザでログインした場合、そのキーはありません
-p, --project <id>プロジェクト(既定はリンク済みのプロジェクト)

Lizard は sandbox の稼働中、アイドル時間も含めてサイズごとの定額で秒単位の課金をします。料金にはローカルディスクと、アカウントごとに直近 30 日間で 2 TB までの送信トラフィックが含まれます。一時停止が完了すると計算料金は止まりますが、Persistent Volumes のストレージには、接続の有無にかかわらずボリューム料金が引き続きかかります。

サイズvCPUメモリディスク料金
small24 GiB5 GB$0.0162/h
medium48 GiB20 GB$0.0324/h
large816 GiB50 GB$0.0648/h

--with-token でインストールしたキーは、sandbox 内のあらゆるものから読み取れます。1 つのワークスペースまたはプロジェクトにスコープを限定したキーを使ってください: lizard keys create sandbox-key -w my-team。

トライアルまたは Pro プランが始まるまで、create は Checkout へのリンク付きで HTTP 402 を返します。lizard billing start を実行してください。トライアル中は同時に 5 個、最初の有料の請求書の後は 100 個の sandbox を実行できます。一時停止中の sandbox は数えません。制限を参照してください。

lizard sandbox list

リンク済みのプロジェクト内の sandbox を一覧表示します(エイリアス ls)。

フラグ説明
-p, --project <id>代わりにこのプロジェクトを一覧表示します
--allすべてのワークスペースにまたがるすべての sandbox を一覧表示します

lizard sandbox rm <id>

sandbox を削除します(エイリアス delete)。

フラグ説明
-y, --yes確認を省略します

lizard sandbox timeout <id> <ms>

現在時点から数えた新しい有効期間をミリ秒で設定します(最小 1000)。アイドル時間のタイマーではありません。コマンドを実行してもリセットされません。

lizard sandbox exec <id> -- <command>

sandbox 内で sh -c を通して 1 つのコマンドを実行し、その出力をストリーミングして、そのコマンドの終了コードで終了します。

lizard sandbox ssh <id>

実行中の sandbox で対話型シェルを開きます(エイリアス shell)。Lizard のログインを使うため、SSH キーを設定する必要はありません。スコープを限定した API キーでは、そのスコープ内の sandbox にだけ接続できます。Ctrl-C、矢印キー、タブ補完は sandbox に送られます。終了するには exit と入力するか、Ctrl-D を押してください。

対話型の端末が必要です。スクリプトでは lizard sandbox exec を使ってください。SSH プロトコルではないため、SSH クライアント、scp、ポートフォワーディングは使えません。

lizard sandbox expose <id> <port>

sandbox 内のポートに HTTPS URL を割り当てます。ポートは非公開です。リクエストには sandbox のアクセストークンが必要で、X-Lizard-Access-Token ヘッダーで送るか、表示される URL にすでに含まれている lizard_token クエリパラメーターとして渡します。トークンのないリクエストには HTTP 401 が返ります。--json を付けると、結果に hostname と accessToken も含まれます。

lizard sandbox unexpose <id> <port> は URL を削除します。

lizard sandbox desktop <id>

-t desktop で作成した sandbox のグラフィカルなデスクトップを起動し、ブラウザ用の URL と閲覧専用の URL を表示します。どちらのリンクもパスワードと同じように扱ってください。

フラグ説明
--view-only閲覧専用の URL だけを表示するか開きます
--resolution <WxH>画面サイズ。640x480 から 3840x2160 まで
--openブラウザでデスクトップを開きます
--statusデスクトップを起動せずに、その状態と URL を表示します
--stopデスクトップを停止し、その URL を削除します

lizard sandbox vnc <id>

-t desktop で作成した sandbox のデスクトップに VNC アプリ(macOS の画面共有、TigerVNC、RealVNC)を接続します。デスクトップには公開された VNC ポートがないため、CLI が localhost で待ち受け、各接続を安全な WebSocket 経由で sandbox に中継します。必要に応じてデスクトップを起動し、アドレスと VNC パスワードを表示して、Ctrl-C で止めるまで動作し続けます。

フラグ説明
--port <port>ローカルポート(既定値 5900。使用中の場合は次の空いているポート)
--view-only閲覧専用のパスワードを使います。画面は見られますが、操作はできません
--openVNC アプリでアドレスを開きます(vnc://、macOS では画面共有)

一時停止、再開、スナップショット

コマンド動作
lizard sandbox pause <id>メモリとプロセスを保存して sandbox を一時停止します。完了すると計算料金は止まりますが、Persistent Volumes のストレージ料金は別途かかります
lizard sandbox resume <id>一時停止中の sandbox を、保存したメモリとファイルで再び起動します
lizard sandbox snapshot <id> --name <name>実行中の sandbox をそのプロジェクトのプライベートなスナップショットとして保存し、待機中のコピーを用意しておきます(--warm、1〜10、既定値 5)
lizard sandbox restore <snapshot-id>スナップショットから新しい sandbox を起動します(--timeout <ms>、既定値 300000)
lizard sandbox snapshotsプロジェクトのスナップショットを一覧表示します(別のプロジェクトには -p)
lizard sandbox snapshot-pause <snapshot-id>スナップショットの待機中のコピーを解放し、保存した状態は残します
lizard sandbox snapshot-resume <snapshot-id>一時停止したスナップショットの待機中のコピーを補充します
lizard sandbox snapshot-warm <snapshot-id> <count>待機させておくコピーの数を変更します(1〜10)
lizard sandbox snapshot-rm <snapshot-id>スナップショットを削除します(エイリアス snapshot-delete。-y で確認を省略)

pause、resume、snapshot は処理が終わるまで待機します。キューに入った時点で戻るには --no-wait を渡してください。各手順で何が保持されるかは、一時停止、再開、スナップショットを参照してください。

lizard sandbox files

コマンド動作
lizard sandbox files ls <id> [path]ディレクトリを一覧表示します(既定値 /)
lizard sandbox files cat <id> <path>ファイルの内容を表示します
lizard sandbox files put <id> <local> <remote>ローカルファイルをアップロードします
lizard sandbox files get <id> <remote> <local>ファイルをダウンロードします
lizard sandbox files rm <id> <path>ファイルまたはディレクトリを削除します

コーディングエージェント

自分の認証情報を使って、sandbox 内でコーディングエージェントを実行します。先に lizard agents で認証情報を接続してください。sandbox はエージェント用のテンプレート(codex、claude、opencode、pi、prime)から作成します。base テンプレートには Node.js がないため、エージェントを実行できません。

lizard sandbox prompt <id> <prompt...> はプロンプトを送信し、エージェントの動作をストリーミング表示します。

フラグ説明
--agent <name>codex(既定値)、claude、pi、opencode、prime のいずれか
-c, --conversation <id>この会話を続けます
--new新しい会話を始めます
-m, --model <model>使用するモデル
--effort <level>推論の強さ: minimal、low、medium、high、xhigh のいずれか
--cwd <dir>sandbox 内の作業ディレクトリ(既定値 /workspace)
-v, --verboseコマンドの出力も表示します
--no-waitプロンプトが受け付けられた時点で戻ります

Ctrl-C で表示を止めても、エージェントは作業を続けます。lizard sandbox interrupt <id> [-c <conversation>] は実行中のターンを停止します。lizard sandbox conversations <id> は会話を新しい順に一覧表示します。

例

sandbox を作成してコマンドを実行する

lizard sandbox create --size small --timeout 600000
lizard sandbox exec sb_abc123 -- python3 -c "print(1 + 1)"

シェルを開く

lizard sandbox ssh sb_abc123

Persistent Volume を接続する

lizard volume create agent-workdir --size 10
lizard sandbox create --volume agent-workdir

ポートで配信する

lizard sandbox exec sb_abc123 -- sh -c "nohup python3 -m http.server 3000 --bind 0.0.0.0 >/tmp/http.log 2>&1 &"
lizard sandbox expose sb_abc123 3000

VNC アプリからデスクトップを使う

lizard sandbox create -t desktop
lizard sandbox vnc sb_abc123 --open

sandbox で Codex を実行する

lizard agents login chatgpt
lizard sandbox create -t codex
lizard sandbox prompt sb_abc123 "add a health check endpoint and test it"

sandbox を保存して復元する

lizard sandbox snapshot sb_abc123 --name my-app
lizard sandbox restore <snapshot-id>   # ID from `lizard sandbox snapshots`

関連項目

更新日