
图片:@ClaudeDevs (X)(视频截图)
摘要
- Anthropic 于 10 月 7 日在 Claude 的 Python 和 TypeScript SDK 中以测试版形式加入浏览器使用与计算机使用工具的类。
- 开发者继承类并为每个工具编写一个方法,SDK 负责调用路由、策略检查、审批回调和生成结果块。
- SDK 不包含浏览器、桌面、驱动或 URL 策略,文档建议的六个安全步骤中,SDK 直接执行的只有三个。
Anthropic 在面向 Claude 的 Python 和 TypeScript SDK 中内置了计算机使用和浏览器使用工具集。公司于 10 月 7 日通过 Claude 平台发布说明和官方开发者 X 账号宣布,两款 SDK 均以测试版形式加入了浏览器使用工具和计算机使用工具的类。开发者只需继承类并为每个工具编写一个方法,SDK 就会把 Claude 的调用发送到对应的方法,并负责策略检查、审批回调和结果块的生成。过去开发者需要手写的智能体循环,如今由 SDK 代为运行。
Anthropic 开发者账号在 X 帖子中解释说:"API 会告诉你 Claude 想点击或输入什么。"它还表示:"以前你必须自己编写循环,把点击和按键映射成命令,而现在 SDK 会运行循环并把动作发送给驱动。"这里的驱动是指开发者自己编写的子类,也就是实际操控浏览器或桌面的代码。根据官方文档,SDK 中不包含浏览器、桌面、现成的驱动或 URL 策略。
新类的名称为 BetaAbstractBrowserToolset20260801 和 BetaAbstractComputerToolset20260801。名称末尾的日期指向 8 月发布的 API 工具集版本。Anthropic 于 8 月 19 日将计算机使用工具以 computer_toolset_20260801 结束测试,并新推出用于操控应用所托管浏览器的 browser_toolset_20260801。METAL 此前曾报道 Anthropic 正式推出了 Claude 计算机使用和浏览器工具。9 月 22 日发布的 Opus 5.5 在 Claude API 和 Google Cloud 上进行计算机使用时只接受新工具集,旧的 computer_20251124 工具会返回 400 错误。此次的 SDK 类是建立在该 API 之上的执行层。
起点是示例代码。Claude quickstarts 仓库以 Python 和 TypeScript 提供了两个示例:浏览器示例通过 Chrome DevTools 协议(CDP)操控 Chromium,桌面示例通过 VNC 操控屏幕。文档写明两者都不是生产代码。开发者未实现的成员工具会以禁用状态发送给 API,如果 Claude 仍然调用,SDK 会返回错误,运行继续。工具运行器不会关闭工具集,因此一个实例可以处理多次运行。
计算机工具集由截图、点击、输入、缩放等 17 个工具组成。如果类实现了 type、key 或 hold_key,必须传入审批回调(confirm)或关闭这些工具,构造函数才会通过。Claude 发送的坐标是开发者返回的截图中的像素位置,SDK 既不读取也不调整图像大小。如果屏幕与截图尺寸不同,坐标换算由驱动负责。
浏览器工具集的设置项更多。其构造函数接收用于开关成员的 configs、决定每次调用是否批准的 confirm、在导航前检查地址的 url_policy、限定上传路径的 file_policy,以及设定工具条目字段的 tool_configs,并通过状态报告方法把打开的标签页、下载等变化告知 Claude。根据合作伙伴文档,浏览器动作共有 31 个,默认启用 27 个。在页面内运行脚本的 javascript_exec 和文件上传默认关闭,开启这两项却不传入审批回调会引发配置错误。
安全设计大多留给开发者。文档建议,在非一次性浏览器上运行驱动之前先完成六个步骤:用 URL 策略拦截任务不需要的地址、在驱动层拦截请求、在容器上设置出站(egress)策略、限制上传和下载、对会产生实际后果的动作进行审批,以及为每个会话使用专用容器或虚拟机进行隔离。其中 SDK 直接执行的只有第 1、4、5 步。如果给 url_policy 传入 None,SDK 会拒绝所有地址导航;文档还建议封锁包括云元数据地址 169.254.169.254 在内的私有地址段。

运行方式也可以调整。在工具运行器中开启 stream 和 run_tools_eagerly 后,浏览器或计算机调用可以在 Claude 的响应仍在流式输出时提前开始。审批和策略检查仍会先执行,但调用一旦开始,即使响应在 max_tokens 处被截断也无法撤回。同一工具集的调用按 Claude 写出的顺序一次执行一个,一旦有调用失败,同一轮中其余调用不再执行。驱动抛出 ToolError 时,Claude 会读取该消息并继续运行,而属于配置错误的 ToolsetUsageError 会让运行停止。
外部企业也推出了集成。官方文档介绍,Browser Use、Browserbase、Daytona 和 E2B 已发布与 SDK 工具集的集成。Browser Use 集成需要 0.13.11 及以上版本和 Python 3.11 及以上,可选择其自有云浏览器、本地 Chromium 或已启动的 CDP 浏览器。其文档中的示例让 Claude Opus 5.5 读取 Hacker News 前三条帖子,并把标题和地址保存为 Markdown 和 JSON 文件。

METAL 查看的 60 秒演示视频用 Haiku 5.5 模型运行了三个场景。在 3D 查看器中,它两次放大设备底部,读出序列号 NX2-7K4-1185,填入输入框并保存。在地图界面中,它通过滚动和拖动找到港口标记并点击。在客户关系管理(CRM)界面中,浏览器工具集的 read_page 为每个输入框附上引用编号,form_input 在不使用坐标或按键的情况下把手写卡片内容填入各栏。视频中还有因引用过期导致点击失败、触发 ToolError 后用 find 重新找到按钮的画面。视频标注称,处理三张手写卡片共调用 67 次、耗时 46 秒,没有错别字。
从工程角度看,这次变化转移的是责任所在,而不只是减少代码量。把状态映射为命令的重复工作已交给 SDK,剩下的是划定驱动能触及的网络、文件和键盘输入的边界。发布帖下的一位开发者回复也指出,把循环放进 SDK 后,"工程瓶颈会从状态映射转向沙箱隔离"。既然文档本身写明审批回调只看工具名称和输入而不看屏幕,那么识别付款、发送消息之类的点击也取决于开发者的设计。构建智能体的团队首先要决定的不是模型,而是让驱动把手伸到多远。





评论