js-langsmith。
你要部署的内容
LangSmith Deployment 会在 LangSmith 托管的 Agent Server 上运行 LangGraph 图。在此示例中:agent/包含深度代理图、子代理、中间件和工具。langgraph.json告诉 LangGraph CLI 要提供和部署哪个图。src/包含 React 聊天界面。- UI 通过 LangGraph SDK 和
@langchain/react与 Agent Server API 通信。
researcher使用本地的search_web工具。math-whiz使用本地的calculator工具。
各部分如何协同工作
在本地开发期间,pnpm run dev 会同时启动 LangGraph 开发服务器和 Vite 应用。在生产环境中,LangSmith 托管代理,静态托管服务提供构建后的 Vite UI。
前置条件
- 一个具有部署权限的 LangSmith API 密钥。
- 用于代理模型的 OpenAI API 密钥。
pnpm。
在本地运行
1
Install dependencies
2
Create your environment file
.env 并设置:LANGSMITH_API_KEY 和 VITE_AGENT_API_URL 留空。只有在部署,或针对远程 LangSmith 部署测试 UI 时,才需要设置 LANGSMITH_API_KEY。3
Start the agent and UI
4
Open the chat
打开 http://localhost:5173。尝试使用两个子代理的提示:当
VITE_AGENT_API_URL 为空时,Vite 应用会使用位于 /api/langgraph 的本地代理,将请求转发到 LangGraph 开发服务器,从而避免 CORS 问题。将代理部署到 LangSmith
1
Confirm your environment
你的 也可以设置部署名称:如果未设置
.env 必须包含:LANGSMITH_DEPLOYMENT_NAME,部署名称默认为目录名称。2
Deploy the agent to LangSmith
langgraphjs deploy。CLI 使用 langgraph.json,从 agent/index.ts 部署 agent 图。3
Copy the deployment API URL
部署完成后,在 LangSmith 中打开该部署并复制其 API URL。它应类似于:只使用根 URL。不要添加任何 API 路径后缀。
4
Test the UI against the remote deployment
在 然后运行 UI:浏览器客户端在与远程部署通信时会复用
.env 中设置 VITE_AGENT_API_URL:LANGSMITH_API_KEY。部署前端
代理和 UI 分别部署。在pnpm run deploy 成功后,将 Vite 构建产物(dist/)托管到任意静态平台,并让它指向你的 LangSmith 部署 URL。
- Vercel
- Netlify
- Cloudflare Pages
1
Import the repository
点击下方的 Deploy with Vercel,或手动导入 
langchain-ai/deployment-cookbook。2
Configure the project
- 将 Root Directory 设置为
js-langsmith。 - 使用默认的 Vite 构建配置。构建输出目录为
dist/。 - 设置以下环境变量:
VITE_AGENT_API_URL:LangSmith 部署的根 URL。LANGSMITH_API_KEY:演示客户端使用的 LangSmith API 密钥。
故障排除
pnpm run dev能够启动,但 UI 无法连接:本地开发时将VITE_AGENT_API_URL留空,然后重新运行pnpm run dev。- 代理在本地无法回答:确认
.env中已设置OPENAI_API_KEY。 pnpm run deploy因身份验证错误失败:确认LANGSMITH_API_KEY具有部署权限。- 远程 UI 无法连接:确认
VITE_AGENT_API_URL是部署根 URL,且没有路径后缀。 - 重启本地开发服务后线程消失:本地
langgraph dev使用内存中的MemorySaver;LangSmith Deployment 在生产环境中提供持久化存储。 - 修改了
agent/中的文件,但生产环境没有变化:再次运行pnpm run deploy。
了解项目
Agent files
Agent files
LangSmith 后端位于
agent/ 中:agent/index.ts 导出 LangGraph 在本地提供服务并由 LangSmith 部署的图。本地 MemorySaver 检查点保存器仅由 langgraph dev 使用。在生产环境中,LangSmith Deployment 会将其替换为基于 Postgres 的持久化存储,无需修改代码。LangGraph config
LangGraph config
langgraph.json 将 CLI 指向该图:agent。前端在进行流式传输时会将该 ID 用作助手 ID。Chat UI
Chat UI
src/ 中的 React 应用提供流式聊天、线程历史记录、子代理渲染以及工具调用渲染功能。前端使用:client.threads.search()获取线程侧边栏。client.threads.create()和client.threads.delete()管理对话。- 使用
assistantId: "agent"的StreamProvider实现流式聊天。
Local commands
Local commands
运行两个本地进程:分别运行:构建并预览前端:
CI/CD
CI/CD
当
js-langsmith/agent/ 或共享配置文件中的文件发生变化时,代理会通过 GitHub Actions 部署:- 工作流:
.github/workflows/deploy-langsmith-agent.yml - 操作:使用
langgraphjs deploy将代理部署到 LangSmith。 - 必需的密钥:
LANGSMITH_API_KEY。 - 可选变量:
LANGSMITH_DEPLOYMENT_NAME。
另请参阅
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

