mcpField
B
browse-geo

browse-geo

github.com/ulpi-io营销与增长5110 次安装9 周前更新
代码仓库

关于 browse-geo

browse-geo 是一项技能,用于跟踪品牌或域名在 AI 生成搜索结果中的表现。它比较 Google AI Overviews、Perplexity 和需登录的 ChatGPT Search 中的可见度与引用情况,并生成按查询和引擎整理的报告。

主要功能

  1. 01跟踪三个搜索引擎中的可见度
  2. 02记录引用位置和上下文
  3. 03生成查询与引擎可见度矩阵
  4. 04计算可见度和引用指标
  5. 05提出内容和查询优先级建议

适用场景

  1. 01监测域名在品牌相关查询中的表现
  2. 02比较不同 AI 搜索引擎的引用情况
  3. 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:收集输入

运行任何查询前,向用户收集以下信息:

  1. 目标域名 — 要跟踪的域名(例如,example.com)
  2. 查询列表 — 3-10 个与品牌相关的搜索查询
  3. 引擎 — 要检查的引擎(默认:全部三个)

如果用户只提供了域名,请根据该域名可能所属的行业和产品类别,建议相关查询。使用 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 曝光潜力
  • 哪些情况下竞品被引用,而目标域名未被引用
  • 哪些内容缺口可以提高被引用的可能性
  • 哪些引擎更倾向于该域名(重点在这些引擎上进行优化)

多查询工作流

运行大量查询时,按引擎分批处理,以尽量减少上下文切换:

  1. 先在 Google AI Overviews 上运行所有查询(camoufox 会话保持活跃)
  2. 再在 Perplexity 上运行所有查询(无需特殊运行时)
  3. 最后在 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 答案中的富媒体引用

评论

支持 Markdown