Skip to main content
チャットウィンドウ内で BRICKS アプリケーションを実行します。パネル内のシミュレータータブはコンパイル済みプロジェクトを組み込みウェブビューとして実行し、ファイルの変更を自動的に反映し、BRICKS CLI の Chrome DevTools Protocol (CDP) エンドポイントを公開します。
エディタタブに未保存の編集があるあいだ、シミュレーターは保存するまでその未保存の編集をライブで反映します。

シミュレーターを開く

どちらかのパネル+(新しいタブ)メニューからシミュレータータブを追加するか、入力バーのシミュレーターボタン——シミュレーターの実行中はパルスアイコンに切り替わる再生アイコン——をクリックします。タブはバックグラウンドでプロジェクトのコンパイルを開始します。 タブが開くと、CTORはプロジェクトの型チェック(bun typecheck)とコンパイル(bricks ctor compile)を実行し、application.json のステージ(productionbeta、または development)を使用してアプリケーションを組み込みウェブビューに読み込みます。
シミュレーターには bun のインストールと PATH での利用可能性が必要です。

ペインコントロール

タブのツールバーには以下のボタンがあります: シミュレーターを閉じるには、パネル内のそのタブにある × を(ポップアウトウィンドウでは Close ボタンを)クリックします。これによりバックエンドが停止します。

シミュレーターメニュー

ボタンでシミュレーターペインのメニューを開きます。次の項目が並びます:

シミュレートされるハードウェアとモデル

デバイスの権限、API キー、大きなモデルのダウンロードなしで実行できるよう、シミュレーターはハードウェア Brick とモデル Generator に軽量なフォールバックを代用します:
  • Camera — 実際のカメラ映像の代わりに模擬の 3D canvas を表示します。
  • Maps — 無料の OpenStreetMap タイルを表示するため、地図の API キーは不要です。
  • Thermal Printer — 模擬のオンスクリーンレシートを表示します。常に模擬です。
  • LLMRerankerSpeech-to-TextText-to-SpeechVector Store の Generator — 小さなローカルのスタンドインモデルを実行します。
BRICKS Buttress にオフロードされる Generator は、シミュレーターでは無効になります。 左下のステータスバブルに、有効な模擬項目が Simulator Settings リンクとともに一覧表示されます。そのリンクまたはシミュレーターメニューから Simulator Settings を開くと、どの部分を模擬で動かすかを制御できます。パネルはトグルを BricksGenerators のセクションに分けています——Brick や Generator のチェックを外すとその実際の実装が使われ、Apply をクリックします。適用するとシミュレーターがリロードされます。 模擬されたサーマルプリンタの出力は、プロジェクトディレクトリのターミナルから確認できます:
印刷履歴はメモリ内に保持され——プリンタごとに最大 10 件——シミュレーターのリロード時にクリアされます。

ネットワークセキュリティ

デフォルトでは、シミュレーターは安全でない http://ws:// のリクエストをブロックします。安全な https://wss:// のリクエストは許可されます。安全でない接続しか提供しないホストに対してテストするには、プロジェクトレベルの allowedInsecureHosts 設定にそのホストを追加してホワイトリストに登録します。

シミュレーターの DevTools をドッキング

タブのツールバーで DevTools をクリックすると、シミュレーター自身の Chrome DevTools インスペクタをタブ下部のサイズ変更可能なパネルとしてドッキングできます。仕切りをドラッグして高さを調整し、もう一度 DevTools をクリックすると非表示になります。 このインスペクタはシミュレーターのローカル CDP サーバーに接続するため、認証情報は不要です。ローカルデバイスパネルから開いたデバイスが前面のプロジェクトのシミュレーターである場合、その DevTools はこのドックに入ります。それ以外のデバイスは、それぞれの DevTools タブとして開きます。

パネルでのレイアウト

シミュレーターは、差分、エディター、ファイル、ブラウザ、DevTools タブとパネルを共有します——右パネルと下部パネルのどちらでも同様です。パネルごとに一度に表示されるタブは 1 つだけです——タブバーで切り替えるか、右パネルでは Cmd+1..9 でも切り替えられます。パネルの端のハンドルをドラッグして、チャットエリアに対するサイズを調整します。

ライブ再コンパイル

ペインはプロジェクトの変更を監視します:
  • subspaces/ 下のファイルを保存すると、bun compile 経由のデバウンスされた再ビルドがトリガーされます。
  • .bricks/build/application-config.json の変更は、完全なリロードなしに実行中のウェブビューにプッシュされます。

ポップアウトウィンドウ

ポップアウトをクリックすると、シミュレーターが独自のフレームレスなアプリ内ウィンドウに分離されます。新しいウィンドウはバックエンドセッションを維持します — チャット側のペインを閉じたり、セッションを切り替えたり、プロジェクトを切り替えても、ポップアウトされたシミュレーターは停止しません。ポップアウトウィンドウ自体を閉じるとセッションが解放されます。

エージェント駆動のシミュレーター

エージェントはスクリーンショットの取得と BRICKS Automation テストの実行にシミュレータータブと同じシミュレーターランタイムを使用するため、エージェントが見るものはタブの表示と一致します。スクリーンショットが必要なときにタブが開いていない場合は、チャットの上にタブを被せず、バックグラウンドでシミュレーターを起動します。入力バーのシミュレーターボタン——パルスアイコン表示——が シミュレーターはバックグラウンドで実行中 というツールチップでこれを示します。クリックするとシミュレータータブが前面に出ます。 ビジョン対応モデルにはスクリーンショットがインラインで渡され、画像ファイルはプロジェクトにも書き出されるため、非対応モデルでもパスを参照できます。フォールバック画像認識モデルを設定すると、CTOR は各スクリーンショットもテキストとして説明するため、ビジョン非対応のモデルでもその内容に基づいて操作できます。

インタラクションを自動化として記録

実行中のシミュレーターを操作すると、CTOR は各ステップを記録します。シミュレーターペインのメニュー( ボタン)を開き、Record Events as Automations をクリックすると、その記録を BRICKS Automation(E2E テスト)に変換できます。 CTOR はテストを黙って書き上げるのではなく、その自動化の作成を依頼するリクエストをチャット入力に事前入力します — 描画モード が結果を入力バーに渡すのと同じように、内容を確認してから送信します。リクエストには記録の内容がエージェント向けに記述されます。
  • 実際のタイミング — 各ステップが実行された実際の時刻と、前のステップからの間隔が付与されるため、エージェントは一律の遅延ではなくステップ間の現実的なタイミングを再現できます。
  • 名前付きの項目 — 各ステップが参照する Subspace、Brick、Generator、Canvas は、エディタ上のエイリアス(なければタイトル)に解決されるため、リクエストは不透明な id ではなくプロジェクト内の名前で読めます。
  • Brick Sketch の描画 — 描画は、それが生成するインポート可能な状態として、ひとまとまりの描画ごとに 1 ステップで記録されます。そのため、再生時はストロークごとのノイズの多いステップではなく、描画結果を再現します。
送信前にリクエストを編集して、ステップを削除したり並べ替えたりできます。エージェントは bricks-ctor の形式で自動化を記述し、シミュレーターでコンパイルして実行し、テストが通ることを確認します。

複数プロジェクトの同時実行

開いている各プロジェクトはそれぞれ独立したシミュレーターライフサイクルを保持するため、あるプロジェクトで起動したシミュレーターは、別のプロジェクトを操作中も実行し続けます。表示されるシミュレーターペインは常に 1 つ(前面のプロジェクト)ですが、背景のシミュレーターはエージェントによるスクリーンショット取得、CDP インスペクション、ポップアウトウィンドウのために稼働し続けます。

描画モード

ペインヘッダーの Draw をクリックすると、実行中のシミュレーターの上に注釈キャンバスがオーバーレイされます。ペインの下部にツールバーが表示され、次のツールを使えます: パレットから線の色を選び、スライダーで線の太さを設定します。UndoRedo で編集をたどれます。Cmd/Ctrl+Z で元に戻し、Cmd/Ctrl+Shift+Z(または Cmd/Ctrl+Y)でやり直します。Clear はすべてを消去します。 シミュレーターコンテンツの上に直接注釈を付け — ずれている要素を囲んだり、対象範囲をマークしたり、ちょっとしたメモを残したり — した上で、Save をクリックするとストロークがシミュレーターのスクリーンショットに合成され、その単一画像がチャット入力に添付されます。 描画モードはインラインペインとポップアウトシミュレーターウィンドウの両方で利用できます。ポップアウトウィンドウから保存した画像は、自動的にメインウィンドウのチャット入力へ転送されます。 Save は画像添付を生成するため、選択中のチャットモデルがビジョンに対応していない場合は Draw ボタンが無効になります — ただしフォールバック画像認識モデルを設定している場合は、注釈付きのスクリーンショットがテキストとして説明されるため有効のままです。

CDPと bricks devtools

シミュレーターの実行中、CTORはCDPサーバーを起動し、プロジェクトディレクトリの .bricks/devtools.json に探索情報を書き込みます。BRICKS CLI はこのファイルを読み取り、ターミナルから実行中のシミュレーターを検査します。 プロジェクトディレクトリ内から:
完全なサブコマンドリスト(brickinputnetworkruntimescreenshotstorage)は bricks devtools --help で確認できます。 ペインを閉じると探索ファイルが削除されます。

セッションの切り替え

別のチャットセッションに切り替えたとき、シミュレーターペインが他のプロジェクトやセッションに属している場合は自動的に非表示になりますが、基盤のシミュレーターは停止しません。ペインを所有するプロジェクトとセッションに戻ると再び表示されます。シミュレーターの実行が不要になったら、ペインの Close ボタンで明示的に停止してください。