サンドボックスを使うべき場合
アプリエディターで構築したアプリのコードには、次の方法で作業できます:
サンドボックスと GitHub インテグレーションは最も重なります。どちらも独自のツールで作業できるからです。違いは、作業中にコードがどこにあるかです。GitHub インテグレーションでは、ローカルクローンで開発し、
main にマージされると変更が Base44 に反映されます。サンドボックスでは、アプリのコードをその場で作業します。ダウンロードは不要で、Web ベースのアシスタントが使用でき、すべての変更が加えられ次第、アプリエディターのライブプレビューに表示されます。
接続方法
サンドボックスには次の方法でアクセスできます:- CLI: 自分のマシンで動作するコーディングエージェントやスクリプト用。ローカルプロジェクトは不要です。セットアップについては、CLI でローカルエージェントを接続する を参照してください。
- MCP サーバー: CLI を実行できない Web ベースのアシスタントを含め、MCP 経由で接続する AI アシスタント用。セットアップについては、MCP 経由でエージェントを接続する を参照してください。
- App Management API: 以下にリストされているエンドポイントを使用する独自のインテグレーション用。
コネクタはサンドボックスファイルシステムを経由しないため、上記の表にはありません。この方法で作業しているアプリでコネクタをセットアップするには、代わりに
connectors initiate を使用してください。サンドボックスやローカルプロジェクトなしで、同じアプリ ID を直接ターゲットにします。
ブランチ
サンドボックスコマンドは、指定しない限りアプリのmain ブランチをターゲットにします。別の ブランチ で作業するには、branches list を実行して正確な名前を見つけ、各サンドボックスコマンドに --branch <name> を渡します。すると、読み取りと編集はそのブランチにのみ適用されます。
変更は自動的に保存される
sandbox write または sandbox edit の呼び出しは、コマンドが戻る前に、同じリクエストの一部として変更をコミットします。したがって、別途の保存、デプロイ、プッシュ手順はありません。rm や mv のように sandbox run を通じて行われたファイル変更は、短いデバウンスウィンドウが閉じた後、数秒後にコミットされます。デバウンスされたコミットが完了する前に再度書き込みや編集を行うと、新しい呼び出しはそれを待機し、コミット完了を時間内に確認できない場合は COMMIT_FLUSH_PENDING で失敗します。
構造化リソースも同じように同期します。ローカルプロジェクトでは、ファイルを追加した後 entities push や functions deploy を実行します。サンドボックスでは、base44/functions/send-email/entry.ts を作成するだけでその関数が追加されます。
編集と公開
サンドボックスを介した編集は公開と同じではありません。編集はすぐにアプリのコードの一部となり、アプリエディターとそのライブプレビューに表示されます。アプリの公開サイトに反映するには、アプリエディターで行った変更と同じ公開手順が必要です。チェックポイント
チェックポイントは、アプリのバージョン履歴内の復元ポイントで、特定のコミットに紐づいています。sandbox checkpoint で作成して既知の良好な状態をマークし、後の変更に問題があればアプリエディターから復元します。チェックポイントを取る前に保留中の変更がコミットされるため、常に最新のコードがキャプチャされます。
アプリエディターと並行して作業する
コーディングエージェントと Base44 アプリエディターは、同じアプリで同時に作業できます。取得すべきロックも、解放すべきセッションもありません。両側からの変更は同じ場所に反映されるため、同じプロジェクトを編集する同僚がいるように扱ってください。起動と停止
サンドボックスはストレージだけでなく、実行中のプロセスです。しばらくアイドル状態が続くとダウンし、次のコマンドで再び起動します。どちらの場合もコードには影響しません。コミットされた変更は git に保存され、再起動されたサンドボックスは常に最新のコミットから開始します。サンドボックスが実行されていない場合、最初のコマンドで起動するため、その呼び出しは後続の呼び出しよりも時間がかかる可能性が高いです。権限
サンドボックスへのアクセスを制御する 2 つの独立したチェックがあります。1 つはアプリ自体にアクセスできるかどうか、もう 1 つは現在のセッションに書き込みアクセスが付与されているかどうかです。アプリアクセス
ワークスペース管理者として、またはこの特定のアプリのコラボレーターとして、アプリ自体への管理者アクセスが必要です。アクセスは呼び出しごとにチェックされるため、ワークスペースロールの変更はすぐに反映されます。 通常のワークスペースビューアーはサンドボックスにまったくアクセスできません。唯一の例外は、ワークスペースがロールベースアクセスに移行する前のレガシーなアプリごとの Editor ロールも持っているビューアーです。この組み合わせでは、サンドボックスから読み取ることはできますが、何も変更できません。Superagents はサンドボックスコマンドをサポートしていません。セッションのスコープ
アプリアクセスに加えて、サンドボックスの読み取りと変更には、セッションに対する異なる権限が必要です:
セッションの権限は作成時に固定され、後から拡大することはできません。CLI は
base44 login 中に sandbox:write を要求し、MCP 経由では OAuth 同意ステップで付与します。既存のセッションを更新しても追加されません。
そのため、読み取りコマンドは動作するが変更コマンドが NOT_AUTHORIZED で失敗する場合、sandbox:write を持たないセッションを使っています。base44 login を再実行するか、MCP サーバーに再接続してサンドボックスアクセスを承認し、それを持つセッションを開始してください。
制限とガードレール
ファイルコマンドはアプリのルート内に制限されます。絶対パスやルートを超えるパスはPATH_OUTSIDE_SANDBOX で拒否されます。.agents と .git ディレクトリはファイルコマンドから到達できず、アプリのシークレットとリポジトリの資格情報を保持しているため、PROTECTED_PATH で失敗します。唯一の例外は .agents/skills で、読み書きが可能です。
機能全体で、アプリごとに 1 分あたり 120 の読み取りリクエスト、60 の変更リクエスト、30 の実行コマンドに制限されています。いずれかを超えると RATE_LIMITED で失敗します。各コマンドのリファレンスページでは、sandbox read が受け入れるパスの数や sandbox write が許可するファイルのサイズなど、サイズと数の制限を扱っています。
関連情報
- Bring your own agent: 独自の AI コーディングエージェントをアプリのサンドボックスに接続する
- CLI 概要: Base44 CLI のインストールと使用
- Base44 MCP サーバー: AI アシスタントを Base44 アカウントに接続する
- GitHub インテグレーション: 代わりに、リポジトリと双方向同期でローカル開発する
- Project structure: Base44 プロジェクトファイルの構成方法
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。