拓冰建站拓冰建站
首页 / 资讯中心 / 正文

strands TypeScript SDK v0.1.6 变更解读:task-augmented MCP 工具支持与运行时 Model 导出

人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python TypeScript - any model, any cloud.项目地址https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdk点击查看免费下载本文基于开源仓库 harness-sdk 中 TypeScript SDK 的 v0.1.6 发布记录深度解读该版本的两项核心能力为 MCP 工具引入 task-augmented任务增强执行配置以及将Model从类型导出升级为运行时值导出。读完本文你将理解TasksConfig的轮询参数设计、task-augmented 执行在 SDK 中的演进状态以及值导出Model对运行时类型判断与扩展带来的实际价值同时掌握该版本围绕工程基建所做的一揽子改进。版本概览v0.1.6 改了什么v0.1.6 发布于 2026-01-21是 strands TypeScript SDKstrands-agents/sdk早期版本中的一个功能迭代版本。从发布记录看该版本包含 1 项面向 MCP 集成能力的特性feature与 5 项工程类改进other全部为非破坏性变更breaking: false现有用户升级不会遭遇 API 兼容性断裂。变更类型涉及领域内容摘要对应 PRfeatmcp新增 task-augmented MCP 工具支持#357other—测试覆盖多个 Node 版本#353other—更新 production-minor 依赖组3 项#405otheragent新增 PR review agent#409other—更新 production-minor 依赖组2 项#410other—使用 devtools strands 命令#408other—将Model从类型导出改为值导出#387其中#357task-augmented MCP tools由新贡献者 LucaButBoring 提交#353与#387分别由新贡献者 SumiyaE、mangelino 提交三者共同构成该版本的三位首次贡献者阵容。核心特性task-augmented MCP 工具支持PR #357 为 SDK 的 MCP 客户端引入了task-augmented任务增强工具执行支持这是 v0.1.6 最具技术分量的变更。它解决的是 MCP 工具调用场景下的一个现实问题当某个 MCP server 上的工具需要长时间执行例如触发一个异步任务、等待外部系统完成计算时简单的同步callTool难以优雅地表达创建任务—轮询进度—等待完成的完整生命周期。task-augmented 执行正是为此设计的执行模式。TasksConfig任务增强执行的配置入口在当前仓库源码中这一特性以TasksConfig接口的形式保留在 strands-ts/src/mcp/client.ts并通过McpClientOptions.tasksConfig字段挂载到客户端配置上/** * Configuration for MCP task-augmented tool execution. */ export interface TasksConfig { /** Time-to-live in milliseconds for task polling. */ ttl?: number /** Maximum time in milliseconds to wait for task completion during polling. */ pollTimeout?: number }TasksConfig包含两个核心参数语义清晰ttl任务存活时间任务轮询的生命周期上限单位毫秒。用于限定一个任务在轮询体系中存续的最大时长超时的任务将被视为失效pollTimeout轮询超时等待任务完成的最大时间单位毫秒。即客户端在任务轮询阶段愿意阻塞等待的最长时间超过该阈值即放弃等待。两者分别从任务本身的生命周期与单次等待的上限两个维度约束任务执行的边界防止长时间运行的任务拖垮 Agent 的调用流程。默认值与常量定义同一文件中还保留了 task 轮询相关的默认常量直接对应上述配置项的默认语义/** Default TTL for task polling in milliseconds (60 seconds). */ public static readonly DEFAULT_TTL 60000 /** Default poll timeout for task completion in milliseconds (5 minutes). */ public static readonly DEFAULT_POLL_TIMEOUT 300000默认TTL 为 60 秒60000ms默认轮询超时为 5 分钟300000ms。McpClient构造函数会在收到tasksConfig时将其保存见 client.ts 的this._tasksConfig args.tasksConfig为后续的 task 执行流程提供配置上下文。声明式配置入口McpServerConfig.tasksConfigtask-augmented 配置不仅支持编程方式传入还能以声明式形式写在 MCP server 配置中。在 strands-ts/src/mcp/config.ts 中McpServerConfig同样提供了tasksConfig字段允许在配置文件或配置对象里为某个 MCP server 条目直接声明任务增强执行参数与command/url、prefix、toolFilters等既有配置项并列。这意味着一份 MCP server 配置文件可以在加载阶段就把任务增强策略固化下来无需在业务代码中二次装配。当前仓库中的演进状态临时不可用重要提示需要特别说明的是在当前仓库代码中task-augmented 执行正处于临时不可用状态SDK 团队正在基于 MCP tasks 扩展protocol extension重建任务支持对应 harness-sdk issue #1659因此在重建完成前构造告警当McpClient以tasksConfig构造时构造函数会通过 logger 输出警告明确提示tasksConfig is set but task-augmented execution is temporarily unavailable并告知后续callTool将抛出异常见 client.ts调用抛错callTool方法在检测到_tasksConfig存在时直接抛出错误错误信息包含Unset tasksConfig to call tools now的处置建议见 client.ts常量闲置DEFAULT_TTL与DEFAULT_POLL_TIMEOUT的文档注释中明确标注Unused while task support is rebuilt见 client.ts。也就是说v0.1.6 引入了 task-augmented MCP tools 的设计与配置模型TasksConfig、TTL/轮询超时语义、声明式配置入口而当前主干代码正处于将该能力迁移到官方 MCP tasks 扩展的过渡期。如果你当前直接使用最新源码请不要设置tasksConfig否则所有 MCP 工具调用都会抛错未设置时callTool走常规路径先惰性连接、校验参数为 JSON 对象、注入 OpenTelemetry 追踪上下文再以服务端工具名直接调用见 client.ts。运行时能力增强Model 从类型导出升级为值导出v0.1.6 的另一项值得关注的变更是 PR #387将Model从类型导出type export改为值导出value export。源码层面的实现证据在当前仓库中Model是定义于 strands-ts/src/models/model.ts 的抽象基类export abstract class ModelT extends BaseModelConfig BaseModelConfig { abstract updateConfig(modelConfig: T): void abstract getConfig(): T get modelId(): string | undefined { return this.getConfig().modelId } get stateful(): boolean { return false } abstract stream(messages: Message[], options?: StreamOptions): AsyncIterableModelStreamEvent async countTokens(messages: Message[], options?: CountTokensOptions): Promisenumber { return estimateTokensHeuristic(messages, options) } // ... }而在 SDK 的统一入口 strands-ts/src/index.ts 中它以值导出的形式对外暴露export { Model } from ./models/model.js值导出带来什么从 TS 语义看值导出意味着Model不再仅仅是编译期类型而是作为运行时真实存在的类对象被导出。从源码结构可以推断这一变化带来的实际收益包括instanceof运行时判断第三方代码可以基于Model抽象类对任意 model provider 实例做运行时类型归属判断例如provider instanceof Model这在类型擦除后的 JavaScript 运行时依然成立类扩展与装饰作为值导出的类可以在运行时被extends继承、被装饰器包装或被工厂函数实例化为模型路由如 strands-ts/src/models/routing/router.ts 的ModelRouter等需要以类为单位的插件机制提供运行时入口跨模块一致性统一从入口重新导出使import { Model } from strands-agents/sdk既能用于类型标注也能用于运行时逻辑避免类型只能编译期用的割裂体验。需要强调的是这是一个非破坏性变更对于只把Model当作类型使用的既有代码升级后行为完全不变新增的运行时能力属于纯增量收益。工程基建改进多版本测试、PR review Agent 与依赖治理v0.1.6 的其余变更集中在工程流程与依赖治理同样值得了解多 Node 版本测试#353PR #353 将测试矩阵扩展到多个 Node 版本。对于 SDK 类库而言这是保证跨运行时兼容性的基础投入——不同 Node 大版本在异步 I/O、fetch、Web Streams 等 API 上的行为差异很可能影响 MCP streamable-http 传输与 Agent 流式输出的实际表现。多版本 CI 测试能提前暴露这类兼容性问题也解释了为何该版本后续可以放心地合并依赖升级。PR review Agent#409PR #409 为仓库引入了一个PR review agent。这是用 Agent 构建 Agent 基础设施的实践SDK 团队使用自家strands能力构建自动化代码评审流程对提交的 Pull Request 进行审查。从仓库定位看这与本项目生产级 AI Agent SDK的自我演进定位一致也侧面验证了 Agent harness 在真实工程流程中的可用性。依赖治理与开发工具链#405、#410、#408#405 与 #410两次production-minor依赖组批量升级分别包含 3 项与 2 项更新。production-minor语义化分组表明这些升级仅包含 minor/patch 级别、不影响主版本 API 的依赖变更属于常规依赖维护#408将开发流程切换到devtools strands命令统一了开发工具链的入口属于内部工程效率优化。新贡献者阵容v0.1.6 迎来了三位新贡献者他们的贡献领域恰好覆盖了本版本的三个技术方向LucaButBoring提交 #357实现 task-augmented MCP tools 特性SumiyaE提交 #353建立多 Node 版本测试矩阵mangelino提交 #387完成Model的值导出改造。升级与使用建议综合以上分析针对 v0.1.6 及当前主干代码给出三条实操建议暂不启用tasksConfig由于 task 支持正基于 MCP tasks 扩展重建#1659当前设置tasksConfig会导致callTool抛错。若你的代码依赖 task-augmented 执行请持续关注后续版本对该扩展的落地普通 MCP 工具调用不受影响可直接使用loadServers或手工构造McpClient接入。利用Model值导出做运行时逻辑升级后可以放心地在运行时使用instanceof Model、扩展Model基类或将其作为值传递用于模型路由、provider 分类与装饰器场景纯类型用法无需任何改动。跟随依赖升级本版本的依赖升级均为 production-minor 级别风险低建议常规节奏跟进以保持在多 Node 版本测试矩阵覆盖下的兼容性基线。如果你希望进一步深入这些特性可以继续阅读仓库中的相关实现MCP 客户端实现、MCP server 配置声明、Model 抽象基类 以及 SDK 统一导出入口以及对应测试 client.test.ts。赞分享人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python TypeScript - any model, any cloud.项目地址https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdk点击查看免费下载相关推荐Strands Agents TypeScript SDK 1.0.0-rc.1 变更解读顶层 telemetry 导出移除与 OpenTelemetry 配置入口收敛Strands Agents TypeScript SDK 1.0.0 rc.1 变更解读顶层 telemetry 导出移除与 OpenTelemetry 配人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务从 v1.1.0 看 strands-agents/sdk 的 TypeScript Agent 运行时演进钩子、MCP 与上下文管理从 v1.1.0 看 strands agents/sdk 的 TypeScript Agent 运行时演进钩子、MCP 与上下文管理 本文以 TypeSc人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务Strands Python SDK 中工具调用方法变更详解Strands Python SDK 中工具调用方法变更详解 背景介绍 Strands Python SDK 是一个用于构建智能代理的开发框架在最新版本中引入人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务上一篇5分钟上手pyheatmagic从安装到生成第一张Python代码热力图下一篇React-Countdown实战10个高级倒计时场景完全解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门