news 2026/9/17 11:31:12

gh-aw Playwright与Web搜索能力:让Agent会查资料会点网页

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
gh-aw Playwright与Web搜索能力:让Agent会查资料会点网页

gh-aw Playwright与Web搜索能力:让Agent会查资料会点网页

【免费下载链接】gh-awGitHub Agentic Workflows项目地址: https://gitcode.com/GitHub_Trending/gha/gh-aw

gh-aw 是一款把 AI Agent 跑在 GitHub Actions 上的开源工具(GitHub Agentic Workflows)。除了写代码,它还内置了Playwright 浏览器自动化和 **Web 搜索(web-search)**两类能力,让你的 Agent 真正"会查资料、会点网页":能上网搜索资料、抓取页面内容、模拟点击和填写表单,把调研、监控、自动填表这类活儿都交给 Agent 完成。本文是面向新手的完整指南,讲清楚这两项能力是什么、怎么开启、有什么注意事项。

两项能力分别能做什么?

🔍Web 搜索(web-search)

Agent 在执行任务时可以主动发起互联网搜索,获取最新资料。适合"调研竞品"、"查某个库的最新版本"、"收集某事件的实时信息"这类场景。

🖱️Playwright 浏览器自动化

官方 Schema 中的定义是:"Playwright CLI browser automation tool for web scraping, testing, and UI interactions",即支持网页抓取、自动化测试和 UI 交互。Agent 可以像人一样打开浏览器、点击按钮、读取页面,甚至完成需要登录态才能看到的操作。

这两个工具都可以和工作流里的web-fetchbashgithub等工具组合使用,配置入口统一在 main_workflow_schema.json 的tools段中。

上面这张截图来自 gh-aw 官方的"每日仓库报告"示例:Agent 自动收集了提交、Issue、PR 等数据,生成结构化的每日简报——这类"主动查资料 + 汇总输出"正是 Web 搜索能力的典型收益。

最快开启方法:在工作流 frontmatter 里加两行

在 gh-aw 工作流文件(Markdown + frontmatter)的tools段中声明即可,无需写任何代码:

  • Web 搜索web-search:字段声明为null或空对象即启用默认配置(见 main_workflow_schema.json 中web-searchoneOf定义)。
  • Playwrightplaywright:字段支持version(锁定@playwright/clinpm 包版本,例如0.1.18)和browsers(指定要下载的浏览器)两个可选参数,完整结构定义在 tools_types.go 的PlaywrightToolConfig中:
tools: web-search: playwright: version: 0.1.18 browsers: [chromium]

Playwright 支持MCP 模式CLI 模式两种运行方式:CLI 模式下 Agent 直接调用playwright-cli命令(编译器会自动为其配置 Bash 白名单),配置解析逻辑可参考 tools_parser.go 中的parsePlaywrightTool函数。

引擎兼容性:不是所有引擎都支持 Web 搜索

⚠️ 这是新手最容易踩的坑:web-search 依赖引擎的原生支持

  • Codex:内置 Web 搜索支持(codex_engine.go 中声明WebSearch: true)。未启用该工具时,编译器反而会注入-c web_search="disabled"显式关闭,避免 Agent 越权上网。
  • Copilot:CLI 形态没有内置搜索支持,启用时编译器会输出警告并提示替代方案。
  • Claudeweb-search属于其标准工具集,会正常映射为引擎的 WebSearch 能力(claude_tools.go)。

校验逻辑集中在 agent_validation.go 的validateWebSearchSupport():当工作流声明了web-search但当前引擎不支持时,编译阶段就会给出明确警告,而不是等到运行时才发现查不了资料。

如上图所示,启用联网能力后 Agent 的输出质量会明显提升:它先搜索/抓取一手信息,再把结果沉淀成摘要、Issue 更新等 GitHub 资产。

网络安全:Agent 能访问哪些域名?

gh-aw 默认在沙箱中运行 Agent,联网工具同样受网络白名单约束。Playwright 初始化时需要从 CDN 下载浏览器,因此编译器会自动放行cdn.playwright.devplaywright.download.prss.microsoft.com两个域名(见 pkg/workflow/README.md 中PlaywrightDomains的说明)。

如果你还希望 Agent 访问其他站点,需要按官方网络配置指南额外声明允许的域名,参考:

  • 网络配置指南:network-configuration.md
  • MCP 与工具挂载说明:mcps.md

此外,若你之前用旧的@playwright/mcp命令挂载方式,仓库提供了自动迁移工具(codemod),可将配置改写为推荐的 CLI 模式,入口在 codemod_playwright_cli_mode.go,配合gh-aw fix即可批量升级存量工作流。

常见使用场景清单

场景用到的能力说明
每日竞品/行业动态简报web-search定时触发,搜索后汇总成 Issue
自动抓取无 API 的站点数据playwright浏览器渲染后提取结构化数据
前端 UI 回归巡检playwright模拟点击、截图对比
需要登录态的页面监控playwright配合凭据配置访问内页
调研文档/版本变更web-search + web-fetch搜索定位链接,再抓取正文

小结

在 gh-aw 中给 Agent 加上web-searchplaywright两个工具,只需要在 frontmatter 里加两行声明,编译器会自动处理引擎适配、浏览器下载域名放行和 CLI 白名单等所有细节。建议开启前先确认所用引擎支持 web-search,并按 network-configuration.md 规划好域名白名单,就能安全地让 Agent 开始"查资料、点网页"了。

【免费下载链接】gh-awGitHub Agentic Workflows项目地址: https://gitcode.com/GitHub_Trending/gha/gh-aw

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 11:28:18

OCA认证模拟题15解析:SQL查询过滤与连接考点复盘

简介:OCA认证分类模拟题15是一份面向Oracle认证助理(OCA)备考者的配套练习文档,聚焦数据库升级、数据泵(Data Pump)迁移、空间管理、组件兼容性等核心模块,适合正在系统准备OCA考试,…

作者头像 李华
网站建设 2026/9/17 11:22:06

进口编码器停产后怎么替代?机械电气协议参数四层匹配与三条路径

周三凌晨两点,产线维护群里弹出一条消息:三号机送料轴报编码器故障,换上去的备用件开始跳数。翻出原件型号去官网一查,停产已经五年,最后一批库存也被同行扫走了。这种场面在设备圈太常见了——编码器这种看着不起眼的…

作者头像 李华
网站建设 2026/9/17 11:20:52

ZeroClaw执行机制解析:WASM沙箱、DynamicExec与lced协同原理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/17 11:20:50

DMA完成通知机制:从MSI-X、完成队列到高性能轮询

1. "我干完了"这句话,硬件到底是用什么方式说出来的写驱动或者调 AI 推理服务的时候,最容易被忽略的一环,恰恰是数据搬完之后那句"我干完了"。DMA 把一块 buffer 从网卡搬到内存、从 SSD 搬到主机、从主机搬到 GPU 显存&…

作者头像 李华
网站建设 2026/9/17 11:17:32

制造业知识图谱实战:从工业相机丢帧到语义互联

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华