sandbox_environments

アカウントの環境(自分の dev や staging)を一覧します。コネクタ経由でボックスから届くプライベートアドレス、各接続がオンラインか、ボックスが設定を受け取れるサービス、そして各環境をすでに使っているボックス。

入力 出力
なし 環境ごとの name、externalBaseUrl、reachable(ボックスから接続できる host:port)、connectorOnline(少なくとも 1 つの接続が接続中)、connections[{name, online, sessions, lastSeenAt, connectorVersion, rttMs, reachable}]、services[{name, envFile, shellFile, keysCount, keys, notable, notableMore, source, deployedImage, syncedAt}]、activeBoxes[{id, name, goal, status, agent, lastUsedAt, background}]
sandbox_environments {}
  • 環境はアカウント自身の dev や staging です。このツールは読み取り専用で、環境を作成・変更する MCP ツールはありません。自分のトークンで REST を呼びます(環境):POST /v1/environments、POST /v1/environments/{env}/connections、PUT /v1/environments/{env}/connections/{id}/endpoints、.env を本文にした PUT /v1/environments/{env}/services/{name}(AWS ECS からなら POST .../services/import)。その name を sandbox_start に environment として渡すと、変更したサービスだけをボックスで動かし、残りはその環境につなぎます。
  • reachable:その環境で起動したボックスが、人のネットワーク内のコネクタ経由で、いつものホスト名で届くプライベートな host:port。
  • connectorOnline は、少なくとも 1 つの接続が接続中なら true です。connections[] にはネットワークごとのコネクタ(online、sessions、lastSeenAt、connectorVersion)と、それを通るアドレス(reachable)が並びます。rttMs は ParallelSandbox とそのコネクタの往復時間で、オンラインの間ハートビートごと(約 15 秒)に測ります。ボックスがそこを通して開く接続はどれも最低これだけ余分にかかるので、コネクタ経由で測った時間は互いの比として比べ、人のネットワーク内で測った秒数とは比べないでください。
  • services[]:ボックスが設定を受け取れるサービス。ファイルは /work/.sbx/env/<service>.env(envFile)と .sh(shellFile)です。keys はすべての設定の名前(keysCount はその数)、notable はまず見るべきものを最大 15 個選んだものです(残りの数は notableMore):
    • connection:値が環境そのもの(そのアドレスのどれか、または externalBaseUrl のホスト。host に入ります)を指す設定。データベースの URL など、これを通した書き込みは環境の本物のデータを変えます。サービスのデータベース変数が DATABASE_URL でないとき、どれなのかがここでわかります。
    • mode:サービスの動き方を切り替える設定(SERVER_MODE、NODE_ENV、STAGE、*_BYPASS、SKIP_AUTH、DEBUG)。値が単純な語で、ボックスがもともとマスクしないものなら value が付きます。dev の値は認証やチェックを切っていることがあり、その経路のテストが間違った理由で通ることがあります。関係するときは上書きしてください(-e SERVER_MODE=production)。
    • permission:管理者リスト、allowlist、許可するオリジン。dev には本番とは別のリストがあるので、ボックスから管理者用エンドポイントを呼ぶと 403 になることがあります。値は env ファイルで確かめます。
    • source は aws-ecs か dotenv です。AWS ECS から取り込んだサービスでは、deployedImage が取り込んだとき(syncedAt)にその ECS サービスが動かしていたイメージで、タグが dev の動かしているコミットであることがよくあります。dev がブランチより遅れていたり進んでいたりするときは、そのコミットの上に変更を載せてビルドします。POST /v1/environments/{env}/services/{name}/sync でタスク定義を読み直します。
  • activeBoxes[]:この環境で起動した、アカウントの稼働中のボックス。name、goal、status、agent(その会話がまだ使っているか)、background(background: true で最近起動したコマンド。もう終わっているかもしれません)が付きます。dev は共有の本物のデータです。結果が合わないときは、別のボックスが同じデータを変えていないか確かめてください。ParallelSandbox の外から dev に書き込むプログラムはここに出ません。
  • externalBaseUrl:変更しない HTTP サービスの場所。その環境で起動したボックスは、自分で渡さない限りこれを使います。
  • テストを環境のデータベースに向けないでください。psbx-testdb up <名前> がボックス内に自分専用のまっさらな Postgres を起動します(--redis なら Redis。チーム構成)。dev のデータを読むには、ボックスで psbx-ro-psql <サービス> を使います。そのサービスのデータベース設定を使い、読み取り専用のトランザクションで接続します(環境)。
  • アドレスはパブリックなホストでもかまいません。ボックスからそこへの接続はコネクタ経由で人自身のネットワークから出ていくので、人のサービスから外部サイトに届くかを確かめられます。ボックス自身の通信は別のアドレスから出ていきます(その他の事実)。
  • 読むだけで、ボックスは要りません。環境の設定方法と各フィールドの意味は環境にあります。

すべてのツールとトピックはツールリファレンスに並んでいます。