Dynamic Workers を読み込んで実行する Worker をデプロイするための スターターテンプレート ↗ です。
このテンプレートは、Worker Loader API を使って実行時にコードを実行する方法を示します。ホスト Worker は /api/run エンドポイントを公開し、フロントエンドから受け取ったコードをサンドボックス化された Dynamic Worker に読み込み、結果を返します。
アクション完了のためにコード断片の実行が必要な AI エージェントでは、このパターンを使います。
Wrangler ファイルに worker_loaders バインディングを追加します。
{
"worker_loaders": [
{
"binding": "LOADER"
}
]
}[[worker_loaders]]
binding = "LOADER"この例では、次を行います。
env.LOADER.load()が一回限りの動的 isolate を作成しますglobalOutbound: nullが Dynamic Worker からの外向きネットワークアクセスをすべて遮断します
export default {
async fetch(request, env) {
const { code } = await request.json();
const worker = env.LOADER.load({
compatibilityDate: "2026-05-01",
mainModule: "worker.js",
modules: {
"worker.js": code,
},
// Block all outbound network access
globalOutbound: null,
});
const result = await worker.getEntrypoint().fetch(request);
return result;
},
};export default {
async fetch(request, env): Promise<Response> {
const { code } = await request.json();
const worker = env.LOADER.load({
compatibilityDate: "2026-05-01",
mainModule: "worker.js",
modules: {
"worker.js": code,
},
// Block all outbound network access
globalOutbound: null,
});
const result = await worker.getEntrypoint().fetch(request);
return result;
},
} satisfies ExportedHandler;npm install
npm run dev