ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Claude Code 装上“眼睛”:用 Browserbase Skills 让 AI 浏览网页的配置与验证

Claude Code 装上“眼睛”:用 Browserbase Skills 让 AI 浏览网页的配置与验证 1. 为什么 Claude Code 需要一双“眼睛”Claude Code 在终端里能读代码、改文件、跑命令但它默认看不到网页。你让它查一份在线文档、核对某个页面的接口字段、或者确认前端渲染后的真实 DOM它只能给你“建议”没法亲自打开页面看一眼。这个短板在真实开发里很要命很多问题不在代码里而在页面渲染结果、动态加载的数据、或者某个按钮点下去之后的跳转。Browserbase Skills 这类工具集解决的正是这件事。它把无头浏览器封装成 Claude 能调用的函数让模型可以打开页面、点击元素、输入文本、执行 JavaScript并且每次操作后拿到截图和页面文本摘要形成“操作—观察—再决策”的闭环。对需要让 AI 读取在线文档、抓取页面信息、验证前端行为的开发者来说这相当于给 Claude Code 装上了一双能看网页的眼睛。我试过的场景很具体让 Claude Code 打开一个文档站找到某个配置项说明再把关键字段摘出来写进本地注释。整个过程不需要我手动复制粘贴Claude 自己规划步骤、执行、返回结果。下面从接入配置讲到验证动作你可以直接跟着做。2. TaoToken 前置统一 Key 与 API 通道在配置 Browserbase Skills 之前先把模型调用通道理顺。Claude Code 本身需要访问 Anthropic 兼容接口而 Browserbase Skills 作为工具集挂在 Claude Agent 上模型请求同样走这条通道。用 TaoToken 的好处是一个 Key 覆盖模型对话和后续可能的编码计划不用在多个平台之间来回切换配置。你需要先拿到 API Key。打开控制台创建https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite创建完成后进入 API Keys 页面复制 Keyhttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewriteAPI 基础地址统一用https://taotoken.net/api注意这个地址不加 UTM 参数直接作为 base_url 使用。Key 建议放在环境变量里不要硬编码进 settings.json 提交到仓库。Linux/macOS 下可以这样export TAOTOKEN_API_KEYsk-你的KeyWindows PowerShell$env:TAOTOKEN_API_KEYsk-你的Key如果你后续要做长期编码任务或者 Agent 工作流可以了解 Coding Plan它把模型调用额度打包得更适合持续跑任务https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite接入文档在这里配置项含义和兼容格式都能查到https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite这一步做完你手里应该有一个可用的 Key 和一个 base_url。接下来把它写进 Claude Code 的配置。3. 可复制配置settings.json 骨架与 Skills 挂载Claude Code 的配置入口是项目级或用户级的settings.json。下面给一份可直接改的骨架重点是把模型通道指向 TaoToken同时把 Browserbase Skills 作为工具集注册进去。先安装 Skills 包npm install browserbase/skills然后在项目根目录创建或编辑.claude/settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的Key }, tools: { browserbase: { enabled: true, package: browserbase/skills, options: { headless: true, timeout: 30000, renderWait: 2000, screenshotOnAction: true, maxTextLength: 5000 } } }, permissions: { allow: [ browser_open, browser_click, browser_type, browser_screenshot, browser_eval ] } }几个参数值得说明。timeout是页面加载超时默认 30 秒renderWait是加载完成后额外等待渲染的时间给动态页面留出执行 JavaScript 的窗口screenshotOnAction打开后每次操作返回截图方便模型判断结果但会消耗更多 Token复杂任务可以只在关键步骤开。maxTextLength控制返回的页面文本长度取document.body.innerText的前 N 个字符。如果你用的是用户级配置路径在~/.claude/settings.json结构一样。项目级配置优先级更高适合不同项目用不同工具集。权限列表里我只放了浏览相关的五个动作。生产环境建议再收紧比如禁止browser_eval执行任意脚本或者限制可访问的域名白名单。Browserbase Skills 支持在 options 里加allowedDomains数组把 AI 能打开的站点限定在你信任的范围内。配置写完后Claude Code 启动时会读取这个文件。你可以用/config命令确认当前生效的 base_url 和工具集状态。4. 验证请求跑一次网页浏览任务配置对不对跑一个真实任务就知道。下面这个验证动作覆盖了打开页面、定位元素、提取文本三个环节能确认模型通道和浏览器工具都正常工作。在 Claude Code 里输入这样的指令打开 https://taotoken.net/doc 找到关于 API 基础地址的说明段落 把 base_url 的值提取出来并告诉我页面上是否有代码示例。Claude 会自主规划先调用browser_open打开页面等待渲染然后根据截图和文本摘要定位到相关段落可能再调用browser_eval提取具体文本最后返回结果。你会在终端看到类似这样的过程输出[browser_open] urlhttps://taotoken.net/doc status200 [browser_screenshot] captured 1280x720 [browser_eval] scriptdocument.querySelector(code).innerText result: https://taotoken.net/api如果一切正常Claude 会告诉你 base_url 是https://taotoken.net/api并且页面上有代码示例。这说明三件事都通了模型请求走的是 TaoToken 通道Browserbase Skills 成功挂载浏览器实例能正常打开并解析页面。再做一个稍微复杂点的验证测试交互能力打开 https://taotoken.net/api-keys 截图当前页面 然后找到创建 Key 的按钮位置告诉我按钮上的文字。这个任务会触发browser_click或至少browser_screenshot加元素定位。如果 Claude 能描述出按钮文字和大致位置说明视觉反馈循环在工作——它确实“看到”了页面而不是靠猜。验证模型对话本身是否正常可以单独开一个会话测试https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite5. 本篇常见错排查配置过程中最容易卡在几个地方我按出现频率排一下。报错一ANTHROPIC_BASE_URL未生效请求仍走默认地址。检查 settings.json 的层级。Claude Code 读取配置有优先级项目级.claude/settings.json 用户级~/.claude/settings.json 环境变量。如果你在 shell 里 export 了旧的 base_url它会覆盖文件配置。用echo $ANTHROPIC_BASE_URL确认当前值不一致就 unset 掉再重启 Claude Code。报错二browser_open超时或返回空页面。先确认browserbase/skills装在了项目 node_modules 下而不是全局。然后检查timeout和renderWait是否太短。有些文档站首屏是骨架屏真实内容靠 JavaScript 异步加载30 秒超时加 2 秒渲染等待通常够用但网络慢的时候可以调到 45000 和 3000。如果页面需要登录Browserbase Skills 支持storageState复用会话把登录后的 Cookie 存成 JSON 传进去避免每次重新认证。报错三截图返回但 Claude 说“看不到内容”。这通常是 Token 超限。截图是 Base64 编码一张 1280x720 的图占不少上下文。如果你同时开了screenshotOnAction和较大的maxTextLength多轮操作后上下文窗口会被撑满。解决办法只在关键步骤开截图或者把maxTextLength降到 2000让模型主要靠文本摘要判断。报错四点击元素失败选择器找不到。Browserbase Skills 用 CSS 选择器定位元素但动态页面的 class 名可能是哈希值每次渲染都变。更稳的做法是让 Claude 先截图根据视觉位置推断元素再用browser_eval执行document.querySelector试探。如果页面大量使用 Canvas 或 WebGL截图分析效果有限这种情况建议直接找页面背后的 API 接口而不是硬点界面。报错五权限被拒工具调用返回 permission denied。检查 settings.json 的permissions.allow列表里有没有对应的工具名。工具名要和 Skills 包注册的一致大小写敏感。如果你加了allowedDomains白名单确认目标域名在列表里子域名要单独加或者用通配符。6. 把通道和工具固定下来配置跑通之后建议把 settings.json 里的 Key 换成环境变量引用避免明文留在文件里。Claude Code 支持${VAR}语法{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: ${TAOTOKEN_API_KEY} } }这样团队协作时每个人用自己的 Key配置文件可以安全提交。Browserbase Skills 的浏览器实例建议设一个空闲超时任务结束后自动关闭不然多个会话并行时会占资源。长期跑编码或 Agent 任务的话Coding Plan 的额度模型比按次调用更划算接入方式在文档里有说明。最后留一个实用习惯每次让 Claude 浏览网页前在指令里明确目标页面和要提取的字段。比如“打开 X 页面找到 Y 表格的第三列把值列出来”比“看看这个页面”有效得多。视觉反馈循环虽然能自愈但清晰的指令能减少无效操作省 Token 也省时间。
返回列表