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