以下页面提供了在 JavaScript 框架和托管平台上运行 LangChain 代理的生产级参考实现。部署手册代码库中的每个示例都是 部署手册代码库 是一个全栈聊天应用,具备流式 UI、子代理和对话历史记录,部署在不同的平台上,使用相同的 代理流式协议.
当你需要发布代理支持的产品时,请使用这些指南:复制与你托管环境相匹配的技术栈,换入你自己的工具和模型,并在超越单实例时升级持久化方案。
示例
LangSmith + Vite
代理图在 LangSmith 部署上运行;Vite + React UI 从代理服务器 API 流式传输。
Next.js
App Router 路由处理器在以下位置实现协议 /api/threads/...。一键部署到 Vercel。
SvelteKit
SvelteKit 服务端路由运行在 Cloudflare Workers 上,配合 @langchain/svelte 和每个线程的 Durable Objects 用于 SSE 重放。
Nuxt
Nitro 路由处理器和 @langchain/vue 可组合项在单个可部署的 Nuxt 4 应用中。
Cloudflare Workers
Vite + React SPA 和 Hono API 运行在一个 Worker 上,使用 Workers Assets 和 Durable Objects。
Deno Deploy
Deno.serve + Hono 从一个入口点同时提供协议 API 和由 Vite 构建的 React SPA。
代理部署包含哪些内容
每个示例都遵循相同的结构。框架和托管方式会变化,但职责不会。
代理运行时
代理本身,通常是一个 LangGraph 图或 deepagents 协调器,包含工具、可选的子代理和中间件。它使用 **检查点器** 编译,以便对话状态在多次交互中保持。示例从内存中的 MemorySaver 开始以简化设置;生产部署会替换为 Redis(@langchain/langgraph-checkpoint-redis)、Postgres(@langchain/langgraph-checkpoint-postgres)或 SQLite(@langchain/langgraph-checkpoint-sqlite),或平台特定的存储。
协议服务器
HTTP 路由处理器实现 代理流式协议 在 /api/threads/....
最小配置(流式聊天)
这三个端点足以运行一个单线程流式聊天,配合 HttpAgentServerAdapter:
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /api/threads/:threadId/commands | 接收命令(run.start、…)并启动运行 |
POST | /api/threads/:threadId/stream | 运行的 SSE 协议事件流 |
GET / POST | /api/threads/:threadId/state | 读取并引导检查点的线程状态 |
线程侧边栏(所有示例)
每个示例也实现了用于线程历史侧边栏的端点:
| 方法 | 路径 | 用途 |
|---|---|---|
GET | /api/threads | 列出检查点已知的所有线程 |
DELETE | /api/threads/:threadId | 删除线程的会话和检查点 |
POST | /api/threads/:threadId/history | 分页检查点历史 |
会话和运行管理
服务端逻辑跟踪活动运行,将命令桥接到代理,并通过 SSE 广播实时事件。注册表或会话存储允许客户端重新连接到进行中的流。在无服务器或多实例主机上,这一层必须与检查点共享或共存。
聊天前端
通过以下方式连接到协议的浏览器 UI HttpAgentServerAdapter,来自 @langchain/react, @langchain/vue, @langchain/svelte, or @langchain/angular。客户端初始化线程状态,提交消息,消费 SSE 流,并渲染 token、工具调用、推理和子代理活动。
这些绑定不附带任何组件。类似这样的 Hook useStream 返回纯响应式状态(消息、工具调用、加载标志、线程元数据),你可以将其连接到任何你喜欢的视觉层。有关适配器模式和权衡,请参阅 前端集成概述.
另请参阅
- - LangSmith 部署概述
- - 代理服务器
- - 配置检查点
- - 前端概述