js-nuxt。
部署
- Vercel
- Netlify
- Node
1
导入仓库
点击下面的 Deploy with Vercel,或手动导入 
langchain-ai/deployment-cookbook。2
配置项目
在项目设置中将 Root Directory 设置为
js-nuxt,并添加 OPENAI_API_KEY。3
部署
部署项目。Nuxt 会自动检测 Vercel,并为 Agent Streaming Protocol API 构建 Nitro 服务器路由。
必需的 API 端点
应用通过/api/threads/... 暴露 Agent Streaming Protocol。Nitro 路由处理器位于 server/api/threads/。
最低要求(流式聊天)
以下三个端点足以运行基于@langchain/vue 的 HttpAgentServerAdapter 的单线程流式聊天:
客户端通过
GET /state 初始化线程(如果返回 404,则使用 POST /state),因此在发送第一条消息之前进行 hydration 时不会出现 404。
可选功能(线程侧边栏)
此示例还实现了线程历史记录侧边栏所需的端点。如果你的界面不需要多线程管理,可以省略这些端点:请求流程
- 初始化线程状态(
GET/POST /state)。 - 提交时,SDK 向
/commands发送run.start,并接收一个run_id。 - SDK 订阅
/stream(SSE),以接收重放的协议事件和实时协议事件。 - 子代理(
task)运行时会发出命名空间事件,这些事件会以stream.subagents的形式提供。
Nitro 后端设计
Agent 的检查点保存器是线程的唯一事实来源。客户端没有缓存:侧边栏始终从服务器获取,重启服务器会清除所有线程。
生产环境持久化
开箱即用时,agent 使用内存中的MemorySaver 检查点保存器(server/agent/index.ts)和进程本地的会话映射(server/utils/runtime.ts)。这适用于本地开发和单实例服务器,但在无服务器或多实例主机上,会话状态在冷启动或副本之间不会持久保存。
在生产环境中,请替换为持久化检查点保存器:
替换
server/agent/index.ts 中的 MemorySaver,并将新的检查点保存器传递给 createDeepAgent。Nitro 路由处理器和 server/utils/threads.ts 辅助函数无需更改。
你还需要在 server/utils/runtime.ts 中使用共享的会话/重放存储,以确保 SSE 重连能够跨无服务器调用正常工作。
更多信息请参阅检查点保存器库和添加记忆/持久化。
本地开发
项目结构
Project structure
Project structure
server/agent/— deep agent(createDeepAgent),包含researcher和math-whiz子代理、模拟工具以及stripReasoningReplay中间件。server/utils/— 协议服务器逻辑:session.ts(SSE 运行)、threads.ts(由检查点保存器支持的状态)、serialize.ts、runtime.ts。server/api/threads/— 上述协议端点对应的 Nitro 路由处理器。app/components/— Vue 聊天界面(ChatApp、Chat、ThreadHistory、SubagentList、MessageReasoning等),使用@langchain/vue。app/utils/threads.ts— 由服务器驱动的线程辅助函数和 LangGraph SDK 初始化逻辑。
Backend details
Backend details
server/agent/index.ts— 协调器通过 Responses API 使用推理模型;使用工具的子代理采用 chat-completions(以避免通过检查点保存器重放推理项)。server/agent/middleware.ts— 根据content+tool_calls重新构建之前的 assistant 消息,确保过期的推理 ID 永远不会被重放到 Responses API。server/utils/session.ts—LocalThreadSession会缓存协议事件,并通过matchesSubscription将匹配的帧分发到 SSE。server/api/threads/index.get.ts—GET /api/threads,由检查点保存器支持的线程列表。server/api/threads/[threadId]/…— 处理commands、stream、state(GET/POST)、history和DELETE的处理器。
Frontend details
Frontend details
app/components/ChatThread.vue— 构建HttpAgentServerAdapter,并调用provideStream({ transport, threadId })。app/components/Chat.vue— 包含消息视图、消息编辑器以及每个子代理的详情视图(带面包屑)。app/components/SubagentList.vue/SubagentDetail.vue— 内嵌的子代理卡片和限定范围的子代理聊天(将useMessages绑定到命名空间)。app/components/MessageReasoning.vue— 用于显示推理摘要的可折叠 “Thinking” 块。
另请参阅
- 框架和平台概览
- Agent Streaming Protocol
react-custom-backend— 用于自定义协议服务器的原始 Vite + Hono 参考实现@langchain/vue—useStream、provideStream和选择器 composables- 前端概览
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

