@sveltejs/adapter-cloudflare 为 Cloudflare Workers 构建。该应用支持流式聊天界面、子代理详情视图、线程历史记录,以及在 /api/threads/... 下提供的 Agent Streaming Protocol。无需单独的后端进程。
源代码位于部署示例集中的 js-sveltekit。
部署到 Cloudflare
1
安装并构建
2
配置密钥
3
部署
svelte.config.js 使用 adapter-cloudflare()。wrangler.jsonc 将 Wrangler 指向 .svelte-kit/cloudflare/_worker.js,并从 .svelte-kit/cloudflare 提供资源,这与 SvelteKit Cloudflare 适配器文档中的配置一致。构建脚本会将 ThreadSession Durable Object 导出追加到生成的 Worker 入口文件中,因为 Durable Object 类必须由 Worker 模块导出。
启用 nodejs_compat 和 nodejs_compat_populate_process_env,是因为 LangChain 运行时和追踪集成需要兼容 Node 的 API 以及环境变量访问能力。
如需启用 LangSmith 追踪,可将 .env.example 中的变量添加为 Worker 密钥或变量。
必需的 API 端点
应用在/api/threads/... 下提供 Agent Streaming Protocol。SvelteKit 路由处理程序位于 src/routes/api/threads/。
最低要求(流式聊天)
可选功能(侧边栏)
Cloudflare 后端设计
生产环境持久化
开箱即用时,代理使用内存中的MemorySaver 检查点保存器(src/lib/server/agent/index.ts)。每个线程的 SSE 重放/会话日志存储在 Durable Object 中,因此流式客户端可以重新连接到同一个协调点,而不是进程本地的映射。
检查点保存器仍然是隔离环境本地的演示状态。Cloudflare 隔离环境是临时的,并且可能水平扩展,因此已保存检查点的对话状态在重新部署、冷启动或不同隔离环境之间不会持久化。
在生产环境中:
- 换用持久化检查点保存器(例如通过 Hyperdrive 使用 Postgres,或使用基于 Durable Object 的自定义存储)。
- 如果客户端需要在 Durable Object 从内存中被逐出后重新连接,请持久化长期的重放数据/历史记录。
本地开发
项目结构
项目结构
项目结构
src/lib/server/agent/— 深度代理(createDeepAgent),包含researcher和math-whiz子代理及模拟工具。src/lib/server/durable-objects/thread-session.ts— 用于 SSE 重放的每线程 Durable Object 事件日志。src/lib/server/protocol/— Agent Streaming Protocol 辅助工具:基于检查点保存器的状态/历史记录、运行发布、序列化和注册表。src/routes/api/threads/— 处理协议端点的 SvelteKit 路由处理程序。src/lib/chat/threads-client.ts— 浏览器线程初始化和侧边栏辅助工具。src/lib/components/— 使用@langchain/svelte构建的 Svelte 聊天界面。svelte.config.js— 配置了@sveltejs/adapter-cloudflare的 SvelteKit。scripts/export-durable-objects.mjs— 构建后修补脚本,用于从生成的 Worker 入口文件重新导出 Durable Object 类。wrangler.jsonc— Cloudflare Workers Static Assets 和 Durable Object 配置。
另请参阅
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

