以编程方式使用文档

deepagents v1.9.0-alpha.0

的 Alpha 版本 deepagents v1.9.0.

  • - **异步子代理**:深度代理可以启动非阻塞后台任务,让用户在子代理并发工作时继续与代理交互。需要 LangSmith 部署 用于子代理。
  • - **后端 协议 v2**:我们引入了一个新的 v2 后端协议(BackendProtocolV2),该协议对深度代理后端接口进行了向后兼容的更改。主要变化:
  • 结构化结果类型:所有方法现在都返回结构化 Result 对象(例如, ReadResult, LsResult, GrepResult, GlobResult),并通过 error 字段提供一致的错误处理,而不是返回原始值或抛出异常。
  • 多模态文件支持: read() 返回一个 ReadResult ,其中包含 .content 字段而不是纯字符串。对于二进制文件(图像、PDF、音频、视频),完整的原始 Uint8Array 内容通过 readRaw()返回,使代理能够原生处理多模态文件。
  • 简化的方法名称: lsInfo -> ls, grepRaw -> grep, globInfo -> glob.
  • 向后兼容:现有 v1 后端可使用 adaptBackendProtocol适配 v2 接口。v1 接口(BackendProtocolV1, SandboxBackendProtocolV1)已弃用但为保持兼容性而保留。

v1.1.0

@langchain/langgraph

引入 **StateSchema** ——一种更清晰、与库无关的方式来定义图状态,可与任何 标准 Schema兼容的验证库配合使用。

标准 JSON Schema 支持

LangGraph 现在支持 标准 JSON Schema,这是一个由 Zod 4、Valibot、ArkType 和其他 schema 库实现的开源规范。这意味着您可以使用您喜欢的验证库而不会被锁定:

    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-safe state and update types
    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**:定义具有自定义归约器的字段以累积值。支持为类型安全的归约器输入提供单独的输入和输出 schema。
  • * **UntrackedValue**:定义在执行期间存在但从不进行checkpoint的瞬态状态——适用于数据库连接、缓存或仅运行时配置。
  • * **MessagesValue**:一个预构建的 ReducedValue 用于聊天消息的标准消息 reducer。

类型辅助导出

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

  • * GraphNode<Schema, Nodes?, Config?> - 具有完全推断的节点函数类型
  • * ConditionalEdgeRouter<Schema, Nodes?> - 条件边路由器的类型
    // Type standalone node functions
    const myNode: GraphNode<typeof AgentState> = (state, config) => {
      return { count: state.count + 1 };
    };

    // Use schema type helpers directly
    const processState = (state: typeof AgentState.State) => {
      console.log(state.count);
    };
    

现有的 Annotation 和基于 zod 的 API 继续不变地工作 - StateSchema 是喜欢 schema-first 定义的人的额外选项。

Learn more about StateSchema

请参阅完整文档,了解如何使用 StateSchema、ReducedValue 和 UntrackedValue 定义图状态。

Learn about type utilities

使用 GraphNode 和 ConditionalEdgeRouter 为图构建器外部的函数添加类型。

## v1.2.0 ### langchain * 结构化输出:添加了手动设置 strict 模式的选项 providerStrategy 用于结构化输出。

### @langchain/openai * **新的提供商内置工具:** 支持文件搜索、网络搜索、代码解释器、图像生成、计算机使用、shell 和 MCP 连接器工具,这些工具由提供商在服务端执行。请参阅 服务端工具使用OpenAI 聊天集成。 * **内容审核:** 新增 moderateContent 上的选项 ChatOpenAI 用于检测和处理不安全内容。 * 为 GPT-5.2 Pro 模型推荐 responses API。

## v1.3.0 ### @langchain/anthropic * **新的提供商内置工具:** 支持文本编辑器、网络获取、计算机使用、工具搜索和 MCP 工具集工具,这些工具由提供商在服务端执行。请参阅 服务端工具使用Anthropic 聊天集成。 * 暴露了 ChatAnthropicInput 类型以提高类型安全性。

## v1.1.0 ### @langchain/ollama * **原生结构化输出:** 添加了通过 withStructuredOutput. * 支持原生结构化输出 baseUrl configuration.

## v1.0.0 ### @langchain/community * Jira 文档加载器已更新为使用 v3 API。 * LanceDB:添加了 similaritySearch()similaritySearchWithScore() support. * Elasticsearch 混合搜索支持。 * 新的 GoogleCalendarDeleteTool. * 修复了 LlamaCppEmbeddings、PrismaVectorStore、IBM WatsonX 的多个 bug,并进行了安全改进。

### 其他包 * **@langchain/xai:** 原生 Live Search 支持。 * **@langchain/tavily:** 添加了 Tavily 的研究端点。 * **@langchain/mongodb:** 新的 MongoDB LLM 缓存。 * **@langchain/mcp-adapters:** 在 onConnectionError option. * **@langchain/google-common:** jsonSchema 中添加了 withStructuredOutput. * **@langchain/core:** 方法支持。安全修复、Mermaid 图中更好的子图嵌套、运行 ID 使用 UUID7。

v1.1.0

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

v1.0.0

### langchain * 发布说明 * 迁移指南

### langgraph * 发布说明 * 迁移指南