SuperAPI AI 工具集

controlling-chrome-with-surfcli

测试与质量

查看项目

更新于 10-16 03:59

技能介绍

用途

surf 用于通过 CLI 或 Unix socket 控制 Chrome 浏览器,适用于浏览器自动化、测试、调试、截图、表单填写和页面检查等场景。

主要能力

  • 核心操作:导航、点击(按 ref 或坐标)、输入文本、截图、按键、悬停、拖拽。
  • 页面检查:读取无障碍树与元素 ref、获取纯文本、查看页面状态(弹窗、加载、滚动)。
  • 语义化定位:按 ARIA 角色、文本内容或表单标签查找并操作元素。
  • 标签页与窗口管理:新建、切换、关闭、重载标签页,命名标签页与标签组,创建隔离窗口。
  • 输入方法:CDP 真实事件(默认)与 JS DOM 操作(适用于 contenteditable)。
  • 等待机制:等待时间、元素、网络空闲、URL 模式、DOM 稳定、页面加载。
  • 对话框处理:获取、接受、拒绝对话框,支持 prompt 文本输入。
  • 设备与网络模拟:网络限速(slow-3g、fast-3g、4g、offline)、CPU 限速、19 种设备预设、自定义视口、触摸模拟、地理位置。
  • 表单自动化:批量填充、复选框、下拉选择(按值/标签/索引)、文件上传。
  • iframe 处理:列出、切换、返回主框架、在框架内执行 JS。
  • 网络检查:请求列表、实时流、请求详情、响应体、生成 curl、来源统计、导出。
  • 控制台与 JS:获取控制台消息、实时流、执行 JavaScript。
  • 性能:指标快照、启动/停止 trace。
  • 截图:自动保存、指定输出、元素截图、整页截图、仅返回 base64。
  • 缩放、Cookie 与存储、历史与书签管理。
  • 健康检查与冒烟测试:对 URL 进行健康检查与多 URL 冒烟测试(可截图)。
  • 工作流:以单条命令执行多步骤自动化,支持内联管道命令与命名 JSON 工作流,含参数、循环、步骤输出、自动等待、dry-run 等。
  • 错误诊断:失败时自动截图与控制台捕获。
  • Socket API:通过 Unix socket 进行程序化访问。

AI 助手(无需 API Key)

通过浏览器已登录会话查询 AI 模型,需在 Chrome 中登录对应服务。

  • ChatGPT:查询、带页面上下文、指定模型、附件文件。
  • Gemini:查询、带页面上下文、附件、生成图像、编辑图像、YouTube 摘要、指定模型(gemini-3-pro 默认、gemini-2.5-pro、gemini-2.5-flash)、宽高比。
  • Perplexity:查询、带页面上下文、研究模式(Pro)、模型选择(Pro)。
  • Grok(通过 x.com,需登录 X.com):搜索 X 帖子、分析用户、带页面上下文、DeepSearch、模型选择(auto、fast、expert、thinking 默认)。
  • Grok 验证与排障:--validate 检查 UI 与可用模型,--save-models 保存发现的模型。

使用方式

通过 surf 命令调用,如 surf navigate、surf page.read、surf click、surf type、surf screenshot 等。支持 --help、--help-full、--find、--help-topic 获取帮助。常用选项包括 --tab-id、--window-id、--json、--auto-capture、--timeout。工作流可用 surf do 执行内联或命名工作流,命名工作流保存于 ~/.surf/workflows/ 或 ./.surf/workflows/。

适用场景

浏览器自动化测试、页面调试、截图、表单填写、网络与性能分析、多步骤流程自动化、通过已登录会话调用 AI 服务、冒烟测试与健康检查。

限制

  • AI 工具需在 Chrome 中登录对应服务,无需 API Key。
  • 首次 CDP 操作较慢(约 5-8 秒),后续调用较快。
  • 思考型模型(ChatGPT o1、Grok thinking)可能需 45-60 秒以上。
  • 服务 UI 变化可能导致模型选择失败或元素找不到,需检查 surf-cli 更新或运行验证命令。
  • 现代编辑器(ChatGPT、Claude、Notion)需使用 --method js。
  • 与 iframe 交互前需先 frame.switch。
  • 具体收费、价格、平台支持范围等资料暂未提供。