Skip to content

更新日志 (Changelog) ​

JavaScript/TypeScript 核心软件包更新与改进记录

订阅:我们的更新日志包含一个 RSS Feed,可与 Slack、邮件以及 Discord 机器人等订阅工具集成。

2026 年 10 月 22 日

@langchain/core v1.3.0 ​

在事件流式传输中,工具调用参数现在以 tool-call-delta 事件进行流式传输。每个事件仅携带参数的最新增量部分,类似于针对文本的 text-delta。早前版本发送的 block-delta 事件会重复发送迄今为止生成的所有参数。

升级顺序:客户端必须先于服务端升级 ​

低于以下版本的客户端无法处理 tool-call-delta。例如,旧版 @langchain/react 可能会停止更新 useMessages 视图。由于 Agent Server 会对事件进行透传,服务端所安装的包版本决定了客户端收到的事件格式。

  1. 在所有读取流的客户端中,将 @langchain/react、@langchain/vue、@langchain/svelte 或 @langchain/angular 升级至 1.2.6 或更高版本。
  2. 将服务端上的 @langchain/core 升级至 1.3.0 或更高版本。同时升级服务端使用的以下各提供商包,因为较早版本仍然会发送 block-delta:
    • @langchain/openai 升级至 1.7.0 或更高版本
    • @langchain/anthropic 升级至 1.6.0 或更高版本
    • @langchain/aws 升级至 1.5.0 或更高版本
    • @langchain/xai 升级至 1.5.0 或更高版本

升级 langchain、deepagents 或某个提供商包可能会自动拉入 @langchain/core 1.3.0。若要暂缓服务端升级直至所有客户端更新完毕,请在服务端的 package.json 中将 @langchain/core 锁定为 <1.3.0。步骤 2 中的提供商版本需要依赖 @langchain/core 1.3.0,因此在版本锁定时无法安装它们。

2026 年 10 月 15 日

langchain v1.5.18 ​

humanInTheLoopMiddleware 现在支持按单次工具调用进行暂停。设置 interruptMode: "per_call" 后,每个受控调用都会触发自身的中断,你可以通过中断 ID 进行针对性回答。批处理模式(Batched mode)仍为默认模式。

typescript
humanInTheLoopMiddleware({ interruptOn: {...}, interruptMode: "per_call" });

功能特性 ​

  • 类型化回答:每个中断都携带一个 response_schema,列出该调用允许的所有决策选项,以便客户端根据 Schema 动态渲染表单。参见读取响应 Schema。
  • 保存前校验:LangGraph 会在保存之前拒绝不合规的回答,以便你进行修正并再次回答同一个中断。参见纠正不合规的回答。
  • 编辑限定于目标工具:edit 操作无法偷换工具,且其传入参数会根据工具自身的 Schema 进行严格校验。
  • 全局支持 respond:interruptOn: { tool: true } 现在在两种模式下均支持所有决策类型(包含 respond),与 Python 版行为完全对齐。

建议在新构建的智能体中使用单次调用模式(per-call mode)。LangChain 计划在下一个主版本中将其设为默认模式。参见针对单次工具调用暂停以及人在回路总览。

2026 年 3 月 24 日

deepagents v1.9.0-alpha.0 ​

deepagents v1.9.0 Alpha 预览版发布。

  • 异步子智能体 (Async subagents):Deep Agents 支持启动非阻塞的后台任务,在子智能体并发执行的同时,用户可以继续与主智能体交互。子智能体功能需要配合 LangSmith 部署。
  • 后端协议 v2 (Backend protocol v2):我们推出了全新的 v2 后端协议(BackendProtocolV2),对 Deep Agents 后端接口进行了向后兼容的改进。关键变更:
    • 结构化结果类型:所有方法现在统一返回结构化的 Result 对象(例如 ReadResult、LsResult、GrepResult、GlobResult),并通过 error 字段进行一致的错误处理,而不是直接返回原始值或抛出未捕获异常。
    • 多模态文件支持:read() 返回包含 .content 字段的 ReadResult,而不再是单纯的字符串。针对二进制文件(图片、PDF、音频、视频),通过 readRaw() 返回完整的原始 Uint8Array 内容,使智能体能够原生处理多模态文件。
    • 简化方法名称:lsInfo -> ls,grepRaw -> grep,globInfo -> glob。
    • 向后兼容:现有的 v1 后端可以使用 adaptBackendProtocol 平滑适配到 v2 接口。v1 接口(BackendProtocolV1、SandboxBackendProtocolV1)已被标记弃用但仍完整保留以兼容旧代码。

2026 年 1 月 14 日

v1.1.0 ​

@langchain/langgraph ​

隆重推出 StateSchema——一种更清晰、与验证库无关的图状态定义方式,可与任何兼容 Standard Schema 的验证库无缝配合。

Standard JSON Schema 支持 ​

LangGraph 现已支持 Standard JSON Schema,这是由 Zod 4、Valibot、ArkType 等模式库实现的开放规范。这意味着你可以使用偏好的验证库而不会被框架锁死:

typescript
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();

新的状态值原语 (State Value Primitives) ​

  • ReducedValue:使用自定义 Reducer 定义用于累加值的字段。支持分离的输入和输出 Schema,以保证 Reducer 输入的类型安全性。
  • UntrackedValue:定义在执行期间存在但永远不会被检查点持久化的瞬态状态——适用于数据库连接、缓存或纯运行时配置。
  • MessagesValue:为聊天消息预置的 ReducedValue,内置标准消息 Reducer。

类型辅助工具导出 (Type helper exports) ​

用于在图构建器外部对函数进行类型标注的全新导出类型工具:

  • GraphNode<Schema, Nodes?, Config?> - 具备完整类型推导的节点函数类型
  • ConditionalEdgeRouter<Schema, Nodes?> - 条件边路由函数类型
typescript
// 对独立的节点函数进行类型标注
const myNode: GraphNode<typeof AgentState> = (state, config) => {
  return { count: state.count + 1 };
};

// 直接使用 Schema 类型辅助函数
const processState = (state: typeof AgentState.State) => {
  console.log(state.count);
};

既有的 Annotation 和基于 zod 的 API 保持不变继续工作——StateSchema 是为偏好 Schema 优先定义的开发者提供的额外选项。

了解有关 StateSchema 的更多信息

查阅有关使用 StateSchema、ReducedValue 和 UntrackedValue 定义图状态的完整文档。

2025 年 12 月 12 日

v1.2.0 ​

langchain ​

  • 结构化输出:在使用 providerStrategy 进行结构化输出时,新增了手动设置 strict 模式的能力。

@langchain/openai ​

  • 全新的提供商内置工具:支持由提供商在服务端执行的文件搜索、网络搜索、代码解释器、图像生成、电脑操作(computer use)、Shell 以及 MCP 连接器工具。参见服务端工具使用与 OpenAI 集成。
  • 内容安全审核:ChatOpenAI 上新增 moderateContent 选项,用于检测并处理不安全内容。
  • 针对 GPT-5.2 Pro 模型优先采用 Responses API。

v1.3.0 ​

@langchain/anthropic ​

  • 全新的提供商内置工具:支持由提供商在服务端执行的文本编辑器、网页抓取、电脑操作、工具检索以及 MCP 工具集工具。参见服务端工具使用与 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:原生实时搜索(Live Search)支持。
  • @langchain/tavily:添加 Tavily 研究端点支持。
  • @langchain/mongodb:新增 MongoDB LLM 缓存。
  • @langchain/mcp-adapters:新增 onConnectionError 选项。
  • @langchain/google-common:在 withStructuredOutput 中支持 jsonSchema 方法。
  • @langchain/core:安全修复、Mermaid 图中更优秀的子图嵌套展示、运行 ID 改用 UUID7。

2025 年 11 月 25 日

v1.1.0 ​

  • 模型配置文件 (Model profiles):聊天模型现在通过 .profile getter 暴露受支持的功能与特性。这些数据源自 models.dev 开源项目。
  • 模型重试中间件:新增中间件,支持使用可配置的指数退避自动重试失败的模型调用,从而提升智能体的可靠性。
  • 内容审查中间件:OpenAI 内容安全审查中间件,用于检测和处理智能体交互中的不安全内容。支持检查用户输入、模型输出和工具结果。
  • 上下文摘要中间件:更新以支持使用模型 Profile 实现灵活的触发点,以实现上下文感知摘要。
  • 结构化输出:现在可以从模型 Profile 中自动推导 ProviderStrategy 原生结构化输出支持。
  • createAgent 支持 SystemMessage:支持将 SystemMessage 实例直接传递给 createAgent 的 systemPrompt 参数,并新增用于扩展系统消息的 concat 方法。支持缓存控制和结构化内容块等高级功能。
  • 动态系统提示词中间件:dynamicSystemPromptMiddleware 的返回值现在纯粹为增量追加。当返回 SystemMessage 或 string 时,它们会与现有系统消息合并而不是直接替换,从而更轻松地组合多个修改提示词的中间件。
  • 兼容性改进:修复了结构化输出和工具模式中针对 Zod v4 验证错误的处理,确保能够正确显示详细的错误信息。

2025 年 10 月 20 日

v1.0.0 ​

langchain ​

langgraph ​