关于 browse-geo
browse-geo 是一项技能,用于跟踪品牌或域名在 AI 生成搜索结果中的表现。它比较 Google AI Overviews、Perplexity 和需登录的 ChatGPT Search 中的可见度与引用情况,并生成按查询和引擎整理的报告。
主要功能
- 01跟踪三个搜索引擎中的可见度
- 02记录引用位置和上下文
- 03生成查询与引擎可见度矩阵
- 04计算可见度和引用指标
- 05提出内容和查询优先级建议
适用场景
- 01监测域名在品牌相关查询中的表现
- 02比较不同 AI 搜索引擎的引用情况
- 03查找竞争对手出现而目标域名缺席的查询
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ulpi-io/ skills --skill browse-geo安装后在 Claude Code 中输入/browse-geo确认已加载。
详细介绍
browse-geo:生成式引擎优化监测
目标
监测某个品牌或域名在三个引擎的 AI 生成搜索结果中的表现:Google AI Overviews、Perplexity 和 ChatGPT Search。生成可见度矩阵,显示哪些查询会展示目标域名、其排名位置以及相关上下文。
前提条件
Google 需要 Camoufox(用于应对机器人检测)。检查是否可用:
browse --runtime camoufox doctor
如果未安装 camoufox,请停止并告知用户手动安装:
使用以下命令安装:
npm install camoufox-js && npx camoufox-js fetch
请勿自动安装任何内容。
ChatGPT Search 需要带有已登录 ChatGPT 会话的持久化浏览器配置文件。如果不存在,请要求用户登录:
browse --profile chatgpt --headed goto https://chatgpt.com
# User logs in manually via headed browser
# Profile persists cookies for future sessions
步骤 0:收集输入
运行任何查询前,向用户收集以下信息:
- 目标域名 — 要跟踪的域名(例如,
example.com) - 查询列表 — 3-10 个与品牌相关的搜索查询
- 引擎 — 要检查的引擎(默认:全部三个)
如果用户只提供了域名,请根据该域名可能所属的行业和产品类别,建议相关查询。使用 AskUserQuestion 确认查询列表。
步骤 1:Google AI Overviews
Google AI Overviews 会出现在信息型查询的搜索结果顶部。 使用 camoufox 并关闭同意提示,以避免机器人检测和 Cookie 横幅。
导航并提取
对于每个查询:
BROWSE_CONSENT_DISMISS=1 browse --runtime camoufox --headed goto "https://www.google.com/search?q=<url-encoded-query>"
browse --runtime camoufox --headed wait --network-idle
browse --runtime camoufox --headed snapshot -i
分析结果
阅读快照输出。AI Overview 部分通常带有“AI Overview”标签、含行内引文的可展开摘要文本,以及来源链接。如果存在,请使用 browse --runtime camoufox --headed text 提取完整内容。
对于每个查询,记录:ai_overview_present(是/否)、domain_cited(是/否)、citation_position(数字或 null)、citation_context(所支持的论点)以及 competing_domains(其他被引用的域名)。
步骤 2:Perplexity
Perplexity 会显示带有编号来源引文的 AI 生成回答。
导航并提取
对于每个查询:
browse goto "https://www.perplexity.ai/search?q=<url-encoded-query>"
browse wait --network-idle
browse snapshot -i
分析结果
Perplexity 会在回答中显示带编号的脚注样式引文(例如,[1]、[2]),并在“Sources”部分列出 URL。如有需要,使用 browse text 获取完整内容。
对于每个查询,记录:answer_generated(是/否)、domain_cited(是/否)、citation_numbers(引用目标域名的位置)、citation_context、total_citations 以及 competing_domains。
步骤 3:ChatGPT Search(已登录)
ChatGPT Search 需要已登录的会话。请使用持久化配置文件。
导航并查询
对于每个查询:
browse --profile chatgpt goto https://chatgpt.com
browse --profile chatgpt snapshot -i
从快照中找到输入字段,然后:
browse --profile chatgpt fill <input-ref> "<query>"
browse --profile chatgpt press Enter
browse --profile chatgpt wait --network-idle
ChatGPT 会以流式方式生成回答。等待输出稳定后,再截取快照:
browse --profile chatgpt wait --network-idle
browse --profile chatgpt snapshot -i
如果可以看到停止/重新生成按钮,说明回答仍在流式生成——请等待后重新截取快照。使用 browse --profile chatgpt text 提取完整内容。
分析结果
ChatGPT Search 会显示带编号的行内引文链接,以及含 URL 的“Sources”面板。
对于每个查询,记录:response_generated(是/否)、search_used(是/否——ChatGPT 可能根据训练数据作答而未使用搜索)、domain_cited(是/否)、citation_position(数字或 null)、citation_context 以及 competing_domains。
步骤 4:生成可见度报告
在所选引擎中运行完所有查询后,将结果汇总为结构化报告。
可见度矩阵
创建一个表格,以查询为行、以引擎为列:
| Query | Google AI Overview | Perplexity | ChatGPT Search |
|------------------------|--------------------|------------|----------------|
| "best <product>" | Cited (#2) | Cited (#1) | Not cited |
| "<brand> vs competitor"| No AI Overview | Cited (#3) | Cited (#2) |
| "how to <task>" | Cited (#1) | Not cited | Not cited |
汇总指标
计算并报告:
- 可见度率:按引擎统计域名出现的查询百分比
- 平均引文位置:按引擎统计被引用时的平均位置
- 表现最佳的查询:域名在多个引擎中均出现的查询
- 缺失查询:域名在所有引擎中均未出现的查询
- 主要竞争域名:在所有查询中出现频率最高的域名
建议
根据调查结果,提出以下建议:
- 哪些查询具有最高的 AI 曝光潜力
- 哪些情况下竞品被引用,而目标域名未被引用
- 哪些内容缺口可以提高被引用的可能性
- 哪些引擎更倾向于该域名(重点在这些引擎上进行优化)
多查询工作流
运行大量查询时,按引擎分批处理,以尽量减少上下文切换:
- 先在 Google AI Overviews 上运行所有查询(camoufox 会话保持活跃)
- 再在 Perplexity 上运行所有查询(无需特殊运行时)
- 最后在 ChatGPT Search 上运行所有查询(已通过身份验证的配置文件会话)
在同一引擎上运行多个查询时,无需重启浏览器。直接导航到下一个搜索 URL 即可。
重要规则
- Google 使用 Camoufox — Google 会拦截用于自动搜索的常规 Chromium。查询 Google 时,始终使用
--runtime camoufox --headed。 - 速率限制 — 在同一引擎的查询之间加入自然停顿。Google 上每 5-10 秒运行的查询不要超过一个。Perplexity 和 ChatGPT 的限制较宽松。
- 不一定总会出现 AI Overviews — Google 会针对信息类查询显示 AI Overviews,而不会针对导航类或交易类查询显示。应将未出现的情况记录为一项数据。
- ChatGPT 可能不会使用搜索 — ChatGPT 有时会根据训练数据作答,而不调用网页搜索。如果没有出现来源面板,请记录
search_used: no。 - 先捕获快照,再提取文本 — 始终先捕获快照以了解页面结构,然后在需要时提取文本以获取完整内容。
- 不要捏造结果 — 如果引用含糊不清,应标记为不确定,而不是断言其存在或不存在。
- 配置文件持久性 —
--profile chatgpt标志会在多个会话间复用 Cookie。如果会话过期,请让用户通过有头模式重新进行身份验证。
限制
- Google AI Overviews 的可用性 — 并非所有查询都会触发 AI Overviews;可用性因地区和查询类型而异
- ChatGPT Search 访问权限 — 需要订阅启用了搜索功能的 ChatGPT Plus 或 Team
- 速率限制 — 过于频繁地查询可能会导致任何引擎暂时封锁
- 动态内容 — AI 生成的答案会随时间变化;结果仅代表某一时点的快照
- 图片/视频引用 — 此工作流仅追踪文本引用;不会捕获 AI 答案中的富媒体引用