> ## 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.

# LangGraph v1 迁移指南

本指南概述了 LangGraph v1 中的变更以及如何从之前的版本进行迁移。有关新功能的概览，请参阅[发布说明](/oss/javascript/releases/langgraph-v1)。

要升级，请运行：

<CodeGroup>
  ```bash npm theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  npm install @langchain/langgraph@latest @langchain/core@latest
  ```

  ```bash pnpm theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  pnpm add @langchain/langgraph@latest @langchain/core@latest
  ```

  ```bash yarn theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  yarn add @langchain/langgraph@latest @langchain/core@latest
  ```

  ```bash bun theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  bun add @langchain/langgraph@latest @langchain/core@latest
  ```
</CodeGroup>

## 变更摘要

| 领域                           | 变更内容                                                 |
| ---------------------------- | ---------------------------------------------------- |
| React 预构建                    | `createReactAgent` 已弃用；请使用 LangChain 的 `createAgent` |
| 中断                           | 通过 `interrupts` 配置支持类型化中断                            |
| `toLangGraphEventStream` 已移除 | 使用 `graph.stream` 并指定所需的 `encoding` 格式               |
| `useStream`                  | 支持自定义传输方式                                            |

***

## 弃用：`createReactAgent` → `createAgent`

LangGraph v1 弃用了 `createReactAgent` 预构建。请使用 LangChain 的 `createAgent`，它运行在 LangGraph 之上，并添加了灵活的中间件系统。

详情请参阅 LangChain v1 文档：

* [发布说明](/oss/javascript/releases/langchain-v1#createagent)
* [迁移指南](/oss/javascript/migrate/langchain-v1#createagent)

<CodeGroup>
  ```typescript v1 (new) theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  import { createAgent } from "langchain";

  const agent = createAgent({
    model,
    tools,
    systemPrompt: "You are a helpful assistant.", // [!code highlight]
  });
  ```

  ```typescript v0 (old) theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  import { createReactAgent } from "@langchain/langgraph/prebuilts";

  const agent = createReactAgent({
    model,
    tools,
    prompt: "You are a helpful assistant.", // [!code highlight]
  });
  ```
</CodeGroup>

***

## 类型化中断

现在可以在图构建时定义中断类型，以严格类型化传递给中断和从中断接收的值。

<CodeGroup>
  ```typescript v1 (new) theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  import { StateGraph, interrupt } from "@langchain/langgraph";
  import * as z from "zod";

  const State = z.object({ foo: z.string() });

  const graphConfig = {
    interrupts: {
      approve: interrupt<{ reason: string }, { messages: string[] }>(),
    },
  }

  const graph = new StateGraph(State, graphConfig)
    .addNode("node", async (state, runtime) => {
      const value = runtime.interrupt.approve({ reason: "review" }); // [!code highlight]
      return { foo: value };
    })
    .compile();
  ```

  ```typescript v0 (old) theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  import { StateGraph } from "@langchain/langgraph";

  const graph = new StateGraph(State)
    .addNode("node", async (state, runtime) => {
      const value = runtime.interrupt.approve({ reason: "review" }); // [!code highlight]
      return state;
    })
    .compile();
  ```
</CodeGroup>

要了解更多，请参阅[中断](/oss/javascript/langgraph/interrupts)。

***

## 事件流编码

底层的 `toLangGraphEventStream` 辅助函数已移除。流式响应由 SDK 处理；当使用底层客户端时，通过传递给 `graph.stream` 的 `encoding` 选项选择传输格式。

<CodeGroup>
  ```typescript v1 (new) theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  const stream = await graph.stream(input, {
    encoding: "text/event-stream",
    streamMode: ["values", "messages"],
  });

  return new Response(stream, {
    headers: { "Content-Type": "text/event-stream" }, // [!code highlight]
  });
  ```

  ```typescript v0 (old) theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  return toLangGraphEventStreamResponse({
    stream: graph.streamEvents(input, {
      version: "v2",
      streamMode: ["values", "messages"],
    }),
  });
  ```
</CodeGroup>

***

## 破坏性变更

### 不再支持 Node 18

所有 LangGraph 包现在要求 **Node.js 20 或更高版本**。Node.js 18 已于 2025 年 3 月[停止支持](https://nodejs.org/en/about/releases/)。

### 新的构建输出

所有 langgraph 包的构建现在使用基于打包器的方法，而不是使用原始的 TypeScript 输出。如果您之前从 `dist/` 目录导入文件（不推荐），您需要更新导入以使用新的模块系统。

***

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

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