> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# LangSmith Studio

在本地使用 LangChain 构建代理时，能够可视化代理内部的运行情况、实时交互并调试出现的问题非常有帮助。**LangSmith Studio** 是一个免费的可视化界面，用于在本地机器上开发和测试您的 LangChain 代理。

Studio 连接到您本地运行的代理，向您展示代理执行的每一步：发送给模型的提示、工具调用及其结果，以及最终输出。您可以测试不同的输入、检查中间状态，并在无需额外代码或部署的情况下迭代代理的行为。

本页介绍如何将 Studio 与您的本地 LangChain 代理进行设置。

## 前提条件

开始之前，请确保您已具备以下条件：

* **一个 LangSmith 账户**：在 [smith.langchain.com](https://smith.langchain.com) 注册（免费）或登录。
* **一个 LangSmith API 密钥**：按照 [创建 API 密钥](/langsmith/create-account-api-key) 指南操作。
* 如果您不希望数据被[追踪](/langsmith/observability-concepts#traces)到 LangSmith，请在应用程序的 `.env` 文件中设置 `LANGSMITH_TRACING=false`。禁用追踪后，数据不会离开您的本地服务器。

## 设置本地代理服务器

### 1. 安装 LangGraph CLI

[LangGraph CLI](/langsmith/cli) 提供了一个本地开发服务器（也称为[代理服务器](/langsmith/agent-server)），用于将您的代理连接到 Studio。

```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
npx @langchain/langgraph-cli
```

### 2. 准备您的代理

如果您已经有一个 LangChain 代理，可以直接使用它。此示例使用一个简单的电子邮件代理：

```typescript title="agent.ts" theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
import { createAgent } from "@langchain/agents";

function sendEmail(to: string, subject: string, body: string): string {
  const email = {
    to,
    subject,
    body,
  };
  // ... 电子邮件发送逻辑

  return `Email sent to ${to}`;
}

const agent = createAgent({
  model: "gpt-5.4",
  tools: [sendEmail],
  systemPrompt: "You are an email assistant. Always use the send_email tool.",
});
```

### 3. 环境变量

Studio 需要 LangSmith API 密钥来连接您的本地代理。在项目根目录创建一个 `.env` 文件，并添加您从 [LangSmith](https://smith.langchain.com/settings) 获取的 API 密钥。

<Warning>
  确保您的 `.env` 文件未提交到版本控制系统（如 Git）。
</Warning>

```bash .env theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
LANGSMITH_API_KEY=lsv2...
```

### 4. 创建 LangGraph 配置文件

LangGraph CLI 使用配置文件来定位您的代理并管理依赖项。在您的应用目录中创建一个 `langgraph.json` 文件：

```json title="langgraph.json" theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  "dependencies": ["."],
  "graphs": {
    "agent": "./src/agent.ts:agent"
  },
  "env": ".env"
}
```

[`createAgent`](https://reference.langchain.com/javascript/langchain/index/createAgent) 函数会自动返回一个编译后的 LangGraph 图，这正是配置文件中 `graphs` 键所期望的。

<Info>
  有关配置文件 JSON 对象中每个键的详细说明，请参阅 [LangGraph 配置文件参考](/langsmith/cli#configuration-file)。
</Info>

此时，项目结构将如下所示：

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
my-app/
├── src
│   └── agent.ts
├── .env
└── langgraph.json
```

### 5. 安装依赖项

```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
yarn install
```

### 6. 在 Studio 中查看您的代理

启动开发服务器，将您的代理连接到 Studio：

```shell theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
npx @langchain/langgraph-cli dev
```

<Warning>
  Safari 会阻止对 Studio 的 `localhost` 连接。要解决此问题，请使用 `--tunnel` 运行上述命令，通过安全隧道访问 Studio。
</Warning>

服务器运行后，您的代理既可以通过 API 在 `http://127.0.0.1:2024` 访问，也可以通过 Studio UI 在 `https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024` 访问：

<Frame>
  <img src="https://mintcdn.com/other-405835d4/OK5MqsMUbC46CTiR/oss/images/studio_create-agent.png?fit=max&auto=format&n=OK5MqsMUbC46CTiR&q=85&s=166baba069ba2c99093fdc8f450ed84d" alt="Studio UI 中的代理视图" width="2836" height="1752" data-path="oss/images/studio_create-agent.png" />
</Frame>

Studio 连接到您的本地代理后，您可以快速迭代代理的行为。运行测试输入，检查完整的执行跟踪，包括提示、工具参数、返回值以及令牌/延迟指标。当出现问题时，Studio 会捕获异常及其周围状态，帮助您理解发生了什么。

开发服务器支持热重载——在代码中更改提示或工具签名，Studio 会立即反映这些更改。从任何步骤重新运行对话线程以测试您的更改，无需从头开始。此工作流程可扩展到从简单的单工具代理到复杂的多节点图。

有关如何运行 Studio 的更多信息，请参阅 [LangSmith 文档](/langsmith/home) 中的以下指南：

* [运行应用程序](/langsmith/use-studio#run-application)
* [管理助手](/langsmith/use-studio#manage-assistants)
* [管理线程](/langsmith/use-studio#manage-threads)
* [迭代提示](/langsmith/observability-studio)
* [调试 LangSmith 跟踪](/langsmith/observability-studio#debug-langsmith-traces)
* [将节点添加到数据集](/langsmith/observability-studio#add-node-to-dataset)

## 视频指南

<Frame>
  <iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/Mi1gSlHwZLM?si=zA47TNuTC5aH0ahd" title="Studio" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
</Frame>

<Tip>
  有关已部署代理的更多信息，请参阅 [部署](/oss/javascript/langchain/deploy)。
</Tip>

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档](/use-these-docs)通过 MCP 连接到 Claude、VSCode 等，以获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/oss/langchain/studio.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
