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

# 更新日志

> 我们 JavaScript/TypeScript 包的更新与改进日志

<Callout icon="rss" color="#4F46E5" iconType="regular">
  **订阅**：我们的更新日志包含一个 [RSS 订阅源](https://docs.langchain.com/oss/javascript/releases/changelog/rss.xml)，可与 [Slack](https://slack.com/help/articles/218688467-Add-RSS-feeds-to-Slack)、[电子邮件](https://zapier.com/apps/email/integrations/rss/1441/send-new-rss-feed-entries-via-email)、Discord 机器人（如 [Readybot](https://readybot.io/) 或 [RSS Feeds to Discord Bot](https://rss.app/en/bots/rssfeeds-discord-bot)）以及其他订阅工具集成。
</Callout>

<Update label="2026年3月24日" tags={["deepagents"]} rss={{ title: "2026年3月24日 - deepagents" }}>
  ## `deepagents` v1.9.0-alpha.0

  `deepagents` v1.9.0 的 Alpha 版本发布。

  * **[异步子代理](/oss/javascript/deepagents/async-subagents)**：Deep Agents 可以启动非阻塞的后台任务，因此用户可以在子代理并发工作时继续与代理交互。子代理需要 [LangSmith 部署](/langsmith/deployment)。

  * **[后端](/oss/javascript/deepagents/backends)协议 v2**：我们引入了新的 v2 后端协议（`BackendProtocolV2`），对 Deep Agents 后端接口进行了向后兼容的更改。主要变更：
    * **结构化结果类型**：所有方法现在返回结构化的 `Result` 对象（例如 `ReadResult`、`LsResult`、`GrepResult`、`GlobResult`），通过 `error` 字段进行一致的错误处理，而不是返回原始值或抛出异常。
    * **多模态文件支持**：`read()` 返回一个带有 `.content` 字段的 `ReadResult`，而不是纯字符串。对于二进制文件（图像、PDF、音频、视频），完整的原始 `Uint8Array` 内容通过 `readRaw()` 返回，使代理能够原生处理多模态文件。
    * **简化的方法名称**：`lsInfo` -> `ls`，`grepRaw` -> `grep`，`globInfo` -> `glob`。
    * **向后兼容**：现有的 v1 后端可以使用 `adaptBackendProtocol` 适配到 v2 接口。v1 接口（`BackendProtocolV1`、`SandboxBackendProtocolV1`）已弃用，但为兼容性保留。
</Update>

<Update label="2026年1月14日" tags={["langgraph"]} rss={{ title: "2026年1月14日 - langgraph" }}>
  ## v1.1.0

  ### `@langchain/langgraph`

  推出 **StateSchema** - 一种更清晰、与库无关的方式来定义图状态，可与任何符合 [Standard Schema](https://github.com/standard-schema/standard-schema) 的验证库配合使用。

  ### 标准 JSON Schema 支持

  LangGraph 现在支持 [Standard JSON Schema](https://standardschema.dev/json-schema)，这是一个由 Zod 4、Valibot、ArkType 和其他模式库实现的开放规范。这意味着您可以使用首选的验证库而无需锁定：

  ```typescript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  import { z } from "zod"; // 或 valibot, arktype 等
  import { StateSchema, ReducedValue, MessagesValue } from "@langchain/langgraph";

  const AgentState = new StateSchema({
    messages: MessagesValue,
    currentStep: z.string(),
    count: z.number().default(0),
    history: new ReducedValue(
      z.array(z.string()).default(() => []),
      {
        inputSchema: z.string(),
        reducer: (current, next) => [...current, next],
      }
    ),
  });

  // 类型安全的状态和更新类型
  type State = typeof AgentState.State;
  type Update = typeof AgentState.Update;

  const graph = new StateGraph(AgentState)
    .addNode("agent", (state) => ({ count: state.count + 1 }))
    .addEdge(START, "agent")
    .addEdge("agent", END)
    .compile();
  ```

  ### 新的状态值原语

  * **ReducedValue**：定义带有自定义归约器的字段，用于累积值。支持独立的输入和输出模式，以实现类型安全的归约器输入。
  * **UntrackedValue**：定义在执行期间存在但永远不会被检查点的临时状态 - 适用于数据库连接、缓存或仅运行时配置。
  * **MessagesValue**：一个预构建的 `ReducedValue`，用于聊天消息，带有标准的消息归约器。

  ### 类型辅助导出

  用于在图构建器外部为函数添加类型的新导出类型工具：

  * `GraphNode<Schema, Nodes?, Config?>` - 为节点函数添加完整推断的类型
  * `ConditionalEdgeRouter<Schema, Nodes?>` - 为条件边路由器添加类型

  ```typescript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  // 为独立节点函数添加类型
  const myNode: GraphNode<typeof AgentState> = (state, config) => {
    return { count: state.count + 1 };
  };

  // 直接使用模式类型辅助工具
  const processState = (state: typeof AgentState.State) => {
    console.log(state.count);
  };
  ```

  现有的 `Annotation` 和基于 zod 的 API 继续正常工作 - `StateSchema` 是为那些偏好模式优先定义的人提供的额外选项。

  <Card title="了解更多关于 StateSchema 的信息" icon="book" href="/oss/javascript/langgraph/graph-api#schema">
    查看使用 StateSchema、ReducedValue 和 UntrackedValue 定义图状态的完整文档。
  </Card>

  <Card title="了解类型工具" icon="code" href="/oss/javascript/langgraph/graph-api#type-utilities">
    使用 GraphNode 和 ConditionalEdgeRouter 为图构建器外部的函数添加类型。
  </Card>
</Update>

<Update label="2025年12月12日" tags={["langchain", "@langchain/openai", "@langchain/anthropic", "@langchain/ollama", "@langchain/community", "@langchain/xai", "@langchain/tavily", "@langchain/mongodb", "@langchain/mcp-adapters", "@langchain/google-common", "@langchain/core"]} rss={{ title: "2025年12月12日 - langchain" }}>
  ## v1.2.0

  ### `langchain`

  * [结构化输出](/oss/javascript/langchain/structured-output)：在使用 `providerStrategy` 进行结构化输出时，增加了手动设置 `strict` 模式的能力。

  ### `@langchain/openai`

  * **新的提供商内置工具：** 支持由提供商在服务器端执行的文件搜索、网络搜索、代码解释器、图像生成、计算机使用、Shell 和 MCP 连接器工具。参见 [服务器端工具使用](/oss/javascript/langchain/tools#server-side-tool-use) 和 [OpenAI](/oss/javascript/integrations/chat/openai) 聊天集成。
  * **内容审核：** `ChatOpenAI` 上新的 `moderateContent` 选项，用于检测和处理不安全内容。
  * 对于 GPT-5.2 Pro 模型，优先使用 responses API。

  ## v1.3.0

  ### `@langchain/anthropic`

  * **新的提供商内置工具：** 支持由提供商在服务器端执行的文本编辑器、网络获取、计算机使用、工具搜索和 MCP 工具集工具。参见 [服务器端工具使用](/oss/javascript/langchain/tools#server-side-tool-use) 和 [Anthropic](/oss/javascript/integrations/chat/anthropic) 聊天集成。
  * 公开了 `ChatAnthropicInput` 类型以提高类型安全性。

  ## v1.1.0

  ### `@langchain/ollama`

  * **原生结构化输出：** 通过 `withStructuredOutput` 添加了对原生结构化输出的支持。
  * 支持自定义 `baseUrl` 配置。

  ## v1.0.0

  ### `@langchain/community`

  * Jira 文档加载器已更新为使用 v3 API。
  * LanceDB：添加了 `similaritySearch()` 和 `similaritySearchWithScore()` 支持。
  * Elasticsearch 混合搜索支持。
  * 新的 `GoogleCalendarDeleteTool`。
  * 针对 LlamaCppEmbeddings、PrismaVectorStore、IBM WatsonX 的各种错误修复和安全改进。

  ### 其他包

  * **@langchain/xai：** 原生实时搜索支持。
  * **@langchain/tavily：** 添加了 Tavily 的研究端点。
  * **@langchain/mongodb：** 新的 MongoDB LLM 缓存。
  * **@langchain/mcp-adapters：** 添加了 `onConnectionError` 选项。
  * **@langchain/google-common：** `withStructuredOutput` 中的 `jsonSchema` 方法支持。
  * **@langchain/core：** 安全修复，Mermaid 图中更好的子图嵌套，用于运行 ID 的 UUID7。
</Update>

<Update label="2025年11月25日" tags={["langchain"]} rss={{ title: "2025年11月25日 - langchain" }}>
  ## v1.1.0

  * [模型配置文件](/oss/javascript/langchain/models#model-profiles)：聊天模型现在通过 `.profile` getter 公开支持的功能和能力。这些数据源自 [models.dev](https://models.dev)，一个提供模型能力数据的开源项目。
  * [模型重试中间件](/oss/javascript/langchain/middleware/built-in#model-retry)：用于自动重试失败模型调用的新中间件，具有可配置的指数退避，提高了代理的可靠性。
  * [内容审核中间件](/oss/javascript/langchain/middleware/built-in#provider-specific-middleware)：OpenAI 内容审核中间件，用于检测和处理代理交互中的不安全内容。支持检查用户输入、模型输出和工具结果。
  * [摘要中间件](/oss/javascript/langchain/middleware/built-in#summarization)：已更新，支持使用模型配置文件进行上下文感知的摘要，实现灵活的触发点。
  * [结构化输出](/oss/javascript/langchain/structured-output)：`ProviderStrategy` 支持（原生结构化输出）现在可以从模型配置文件推断。
  * [`SystemMessage` 用于 `createAgent`](/oss/javascript/langchain/middleware/custom#dynamic-prompt)：支持将 `SystemMessage` 实例直接传递给 `createAgent` 的 `systemPrompt` 参数，以及用于扩展系统消息的新 `concat` 方法。支持缓存控制和结构化内容块等高级功能。
  * [动态系统提示中间件](/oss/javascript/langchain/agents#dynamic-system-prompt)：`dynamicSystemPromptMiddleware` 的返回值现在是纯累加的。当返回 [`SystemMessage`](https://reference.langchain.com/javascript/langchain-core/messages/SystemMessage) 或 `string` 时，它们会与现有的系统消息合并，而不是替换它们，使得组合多个修改提示的中间件更容易。
  * **兼容性改进：** 修复了结构化输出和工具模式中 Zod v4 验证错误的错误处理，确保详细错误消息正确显示。
</Update>

<Update label="2025年10月20日" tags={["langchain", "langgraph"]} rss={{ title: "2025年10月20日 - langchain" }}>
  ## v1.0.0

  ### `langchain`

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

  ### `langgraph`

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

  <Callout icon="speakerphone" color="#4F46E5" iconType="regular">
    如果您遇到任何问题或有反馈，请 [提交 issue](https://github.com/langchain-ai/docs/issues/new?template=01-langchain.yml)，以便我们改进。要查看 v0.x 文档，请 [访问归档内容](https://github.com/langchain-ai/langchainjs/tree/v0.3/docs/core_docs/docs)。
  </Callout>
</Update>

***

<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/javascript/releases/changelog.mdx) 或 [提交 issue](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
