Skip to main content
Claude Code 是 Anthropic 官方的 Claude CLI 工具。配置 Playwright MCP 服务器后,它可以操控真实浏览器完成 Web 任务,并通过 browseruse-bench 以非交互模式(-p)进行基准测试。

工作原理

与基于 SDK 的 Agent 不同,Claude Code 以外部子进程方式运行:
Agent 从 Claude Code 进程流式读取 JSON 事件,从 browser_take_screenshot 工具结果中提取截图,并将结构化日志写入 api_logs/

前置条件

1. 安装 Claude Code
2. 登录认证
3. 添加 Playwright MCP(用户级别) 使用 user scope,确保 Claude Code 在作为子进程调用时、无论工作目录在哪都能加载 MCP 服务器:
验证服务器已连接:

配置

在根目录 config.yamlagents.claude-code 下配置:
active_model 设置为默认使用的模型配置名,也可在运行时切换:

配置参数说明

默认 System Prompt

若未设置 system_prompt,Agent 使用内置提示词,涵盖三个方面:
  1. 工具限制 — Claude 只能使用 mcp__playwright__* 工具;Bash、WebFetch、Skill、Agent 等内置工具被明确禁止。
  2. 任务完成规则 — 若页面(如搜索结果)中已有足够信息,立即给出答案,不再点击进入子页;遇到验证码或访问限制时,最多重试一次后回退到已收集的数据。
  3. 截图规则 — 调用 browser_take_screenshot 时仅传 {"type": "png"},不指定 filename,确保图像以 base64 内联方式返回并被结果解析器捕获。
如需覆盖,在 config.yamlagents.claude-code.defaults 下设置 system_prompt

使用示例

基础运行

运行全部任务

评估

输出目录结构

每个任务完成后写入以下文件:
截图从流式输出中的 browser_take_screenshot 工具结果提取。该工具必须在不指定 filename 参数的情况下调用,图像才能以内联 base64 方式返回并被解析器捕获;默认 system prompt 已强制执行此规则。Playwright MCP 的操作超时时间设置为 30 秒(高于默认 5 秒),以应对加载外部字体较慢的页面。

支持的 Benchmarks

  • ✅ LexBench-Browser
  • ✅ Online-Mind2Web
  • ✅ BrowseComp

常见问题

“Executable ‘claude’ not found” Claude Code 未安装或不在 $PATH 中。执行 npm install -g @anthropic-ai/claude-code 并用 claude --version 验证。 MCP 工具权限被拒绝 Agent 运行时会自动添加 --dangerously-skip-permissions(非交互模式必需)以及与配置匹配的 --allowedTools。若工具仍被拒,用 claude mcp list 确认 MCP 服务器名称,并检查配置中的 allowed_tools 前缀是否匹配(如 mcp__playwright*)。 结果中没有截图 确认 Playwright MCP 服务器已连接(claude mcp list)。默认 system prompt 会指示 Claude Code 调用 browser_take_screenshot 且不传 filename 参数——若使用自定义 system_prompt,请保持相同规则以确保图像内联返回并被解析器捕获。若截图仍然失败,检查 stdout.txt 中是否有 TimeoutError: browserBackend.callTool——这表明页面加载外部资源较慢,可通过在 playwright_mcp_args 中增大 --timeout-action 值来解决。 stream-json requires —verbose 错误 Agent 已自动添加该标志。若手动运行 claude 时遇到此错误,请加上 --verbose

相关链接