关于 web-search
web-search 是供 Agent 使用的命令行技能,可搜索网页、抓取页面并提取为 Markdown 上下文。持久运行的本地浏览器守护进程可复用浏览器会话。
主要功能
- 01通过本地浏览器搜索网页
- 02抓取指定搜索结果
- 03提取页面为 Markdown
- 04管理持久浏览器守护进程
适用场景
- 01为 Agent 回答收集网页来源
- 02从搜索结果中抓取指定页面
- 03按需提取完整页面文本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ogulcancelik/ agent-skills --skill web-search安装后在 Claude Code 中输入/web-search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreLICENSEpackage.jsonREADME.mdweb-search.jslib/bot-protection.jsbrowser-bin.jscdp.jsdaemon-client.jsdaemon.jsdebug-dump.jsextract.jsfetch.jsfingerprint.jshttp-fetch.jssearch-cache.jssearch.jstest/bot-protection.test.jsbrowser-bin.test.jsdaemon-client.test.jsextract.test.jsfingerprint.test.jssearch-cache.test.jssearch-ddg.test.jssearch-google.test.js详细介绍
网页搜索
使用捆绑的 CLI,通过本地浏览器搜索、访问结果,并将页面提取为干净的 Markdown,供 Agent 获取上下文。持久化的浏览器守护进程可减少触发机器人检测的失败,并避免重复启动浏览器的开销。
入口是 {baseDir}/web-search.js,其中 {baseDir} 是包含此 SKILL.md 的绝对目录。始终调用该绝对路径。切勿在调用方的项目目录中运行 ./web-search.js。
设置
如果缺少依赖项,请在技能目录中运行 bun install。
CLI 会自动检测 Chromium 系列浏览器。使用 WEB_SEARCH_BROWSER_BIN 或 --browser-bin <path> 覆盖检测结果。
搜索和抓取
{baseDir}/web-search.js "query"
{baseDir}/web-search.js "query" -n 10
{baseDir}/web-search.js --from <result-set-id> --fetch 1,3,5
{baseDir}/web-search.js --url https://example.com
{baseDir}/web-search.js --url https://example.com --full
每次搜索都会输出一个结果集 ID。抓取编号结果时,始终使用 --from 传入该 ID;结果集会在 10 分钟后过期。仅在需要完整页面文本时使用 --full。
浏览器守护进程
默认情况下,直接调用会使用本地守护进程,以保持浏览器会话处于预热状态。
{baseDir}/web-search.js --daemon status
{baseDir}/web-search.js --daemon start
{baseDir}/web-search.js --daemon stop
{baseDir}/web-search.js --daemon restart
{baseDir}/web-search.js --no-daemon --url https://example.com
故障排除
将单个页面被拦截视为该网站的常见故障。重试一次、使用其他结果,或先尝试直接 URL,再更改浏览器状态。
如果多次尝试都出现超时、守护进程错误或拦截:
- 检查
{baseDir}/web-search.js --daemon status。 - 运行
{baseDir}/web-search.js --daemon restart并重试。 - 如果仍被拦截,请检查状态输出中的
health.profileDir。停止守护进程,仅删除该隐藏的技能配置目录,然后重新启动守护进程。此操作会重置过期的 Cookie 和浏览器存储,但不会影响用户的常规浏览器配置。
单次被拦截后切勿清除配置。对于持续性故障,重置配置是最后手段。
报告
使用实际搜索或抓取过的 URL 作为来源。根据网页内容作答时,请引用这些 URL。
评论
支持 Markdown