跳转到内容
搜索文档

Dynamic Workers Starter

最后更新 查看 MarkdownAgent 设置

一个用于部署 Worker 的入门模板 (starter template),该 Worker 用于加载和运行 Dynamic Workers

Deploy to Workers

它的作用

此模板演示了如何使用 Worker Loader API 在运行时执行代码。主机 Worker 暴露了一个 /api/run 端点,该端点接受来自前端的代码,将其加载到沙箱化的 Dynamic Worker 中,并返回结果。

对需要执行一段代码以完成操作的 AI agents 使用此模式。

配置

在您的 Wrangler 文件中添加一个 worker_loaders 绑定:

{
	"worker_loaders": [
		{
			"binding": "LOADER"
		}
	]
}
[[worker_loaders]]
binding = "LOADER"

加载并执行 Dynamic Worker

在此示例中:

  • 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

这篇文档对您有帮助吗?