browse-geo
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesebrowse-geo: Generative Engine Optimization Monitoring
browse-geo:生成式引擎优化监控
Goal
目标
Monitor how a brand or domain appears in AI-generated search results across three engines:
Google AI Overviews, Perplexity, and ChatGPT Search. Produce a visibility matrix showing
which queries surface the target domain, in what position, and with what context.
监控品牌或域名在三大引擎的AI生成搜索结果中的展示情况:Google AI Overviews、Perplexity和ChatGPT Search。生成可见性矩阵,显示哪些查询会带出目标域名、其出现位置及相关上下文。
Prerequisites
前提条件
Camoufox is required for Google (bot detection). Check availability:
bash
browse --runtime camoufox doctorIf camoufox is not installed, stop and tell the user to install it manually:
Install it with:npm install camoufox-js && npx camoufox-js fetch
Do NOT install anything automatically.
For ChatGPT Search, a persistent browser profile with an authenticated ChatGPT session is
required. If one does not exist, ask the user to authenticate:
bash
browse --profile chatgpt --headed goto https://chatgpt.comGoogle(反机器人检测)需要Camoufox。检查可用性:
bash
browse --runtime camoufox doctor如果未安装camoufox,请停止操作并告知用户手动安装:
安装命令:npm install camoufox-js && npx camoufox-js fetch
请勿自动安装任何内容。
对于ChatGPT Search,需要带有已认证ChatGPT会话的持久浏览器配置文件。如果不存在,请要求用户进行认证:
bash
browse --profile chatgpt --headed goto https://chatgpt.comUser logs in manually via headed browser
用户通过可视化浏览器手动登录
Profile persists cookies for future sessions
配置文件会保留Cookie供后续会话使用
undefinedundefinedStep 0: Gather inputs
步骤0:收集输入信息
Before running any queries, collect from the user:
- Target domain — the domain to track (e.g., )
example.com - Query list — 3-10 brand-relevant search queries
- Engines — which engines to check (default: all three)
If the user provides only a domain, suggest relevant queries based on the domain's likely
industry and product category. Use to confirm the query list.
AskUserQuestion运行任何查询前,向用户收集以下信息:
- 目标域名 —— 需追踪的域名(例如:)
example.com - 查询列表 —— 3-10个与品牌相关的搜索查询
- 引擎选择 —— 需要检查的引擎(默认:全部三个)
如果用户仅提供域名,可根据域名所属行业和产品类别推荐相关查询。使用确认查询列表。
AskUserQuestionStep 1: Google AI Overviews
步骤1:Google AI Overviews
Google AI Overviews appear at the top of search results for informational queries.
Use camoufox with consent dismissal to avoid bot detection and cookie banners.
Google AI Overviews会在信息类查询的搜索结果顶部展示。使用camoufox并关闭授权提示,以避免机器人检测和Cookie弹窗。
Navigate and extract
导航与提取
For each query:
bash
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针对每个查询:
bash
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 -iAnalyze results
结果分析
Read the snapshot output. The AI Overview section typically has an "AI Overview" label,
expandable summary text with inline citations, and source links. If present, use
to extract full content.
browse --runtime camoufox --headed textFor each query, record: (yes/no), (yes/no),
(number or null), (the claim it supports),
and (other cited domains).
ai_overview_presentdomain_citedcitation_positioncitation_contextcompeting_domains读取快照输出。AI Overview区域通常带有“AI Overview”标签、带有内嵌引用的可展开摘要文本以及来源链接。如果存在该区域,使用提取完整内容。
browse --runtime camoufox --headed text针对每个查询,记录:(是/否)、(是/否)、(数字或null)、(引用支持的主张)以及(其他被引用的域名)。
ai_overview_presentdomain_citedcitation_positioncitation_contextcompeting_domainsStep 2: Perplexity
步骤2:Perplexity
Perplexity shows AI-generated answers with numbered source citations.
Perplexity会展示带有编号来源引用的AI生成答案。
Navigate and extract
导航与提取
For each query:
bash
browse goto "https://www.perplexity.ai/search?q=<url-encoded-query>"
browse wait --network-idle
browse snapshot -i针对每个查询:
bash
browse goto "https://www.perplexity.ai/search?q=<url-encoded-query>"
browse wait --network-idle
browse snapshot -iAnalyze results
结果分析
Perplexity shows numbered footnote-style citations (e.g., [1], [2]) within the answer
and a "Sources" section with URLs. Use for full content if needed.
browse textFor each query, record: (yes/no), (yes/no),
(positions referencing the target domain), ,
, and .
answer_generateddomain_citedcitation_numberscitation_contexttotal_citationscompeting_domainsPerplexity会在答案中显示类似脚注的编号引用(例如:[1]、[2]),并在“Sources”区域展示URL。必要时使用提取完整内容。
browse text针对每个查询,记录:(是/否)、(是/否)、(指向目标域名的位置编号)、、以及。
answer_generateddomain_citedcitation_numberscitation_contexttotal_citationscompeting_domainsStep 3: ChatGPT Search (authenticated)
步骤3:ChatGPT Search(需认证)
ChatGPT Search requires an authenticated session. Use a persistent profile.
ChatGPT Search需要已认证的会话,使用持久化配置文件。
Navigate and query
导航与查询
For each query:
bash
browse --profile chatgpt goto https://chatgpt.com
browse --profile chatgpt snapshot -iFind the input field from the snapshot, then:
bash
browse --profile chatgpt fill <input-ref> "<query>"
browse --profile chatgpt press Enter
browse --profile chatgpt wait --network-idleChatGPT streams responses. Wait for output to stabilize, then snapshot:
bash
browse --profile chatgpt wait --network-idle
browse --profile chatgpt snapshot -iIf a stop/regenerate button is visible, the response is still streaming — wait and
re-snapshot. Use for full content extraction.
browse --profile chatgpt text针对每个查询:
bash
browse --profile chatgpt goto https://chatgpt.com
browse --profile chatgpt snapshot -i从快照中找到输入框,然后执行:
bash
browse --profile chatgpt fill <input-ref> "<query>"
browse --profile chatgpt press Enter
browse --profile chatgpt wait --network-idleChatGPT会流式输出响应。等待输出稳定后再拍摄快照:
bash
browse --profile chatgpt wait --network-idle
browse --profile chatgpt snapshot -i如果可见停止/重新生成按钮,说明响应仍在流式传输中——请等待并重拍快照。使用提取完整内容。
browse --profile chatgpt textAnalyze results
结果分析
ChatGPT Search shows inline numbered citation links and a "Sources" panel with URLs.
For each query, record: (yes/no), (yes/no --
ChatGPT may answer from training data without search), (yes/no),
(number or null), , and .
response_generatedsearch_useddomain_citedcitation_positioncitation_contextcompeting_domainsChatGPT Search会显示内嵌的编号引用链接和带有URL的“Sources”面板。
针对每个查询,记录:(是/否)、(是/否——ChatGPT可能无需搜索直接从训练数据中回答)、(是/否)、(数字或null)、以及。
response_generatedsearch_useddomain_citedcitation_positioncitation_contextcompeting_domainsStep 4: Generate visibility report
步骤4:生成可见性报告
After running all queries across selected engines, compile the results into a
structured report.
在所有选定引擎上完成所有查询后,将结果整理为结构化报告。
Visibility matrix
可见性矩阵
Create a table with queries as rows and engines as columns:
| 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 |创建以查询为行、引擎为列的表格:
| 查询 | Google AI Overview | Perplexity | ChatGPT Search |
|------------------------|--------------------|------------|----------------|
| "最佳<产品>" | 被引用(#2) | 被引用(#1) | 未被引用 |
| "<品牌> vs 竞品"| 无AI Overview | 被引用(#3) | 被引用(#2) |
| "如何<完成任务>" | 被引用(#1) | 未被引用 | 未被引用 |Summary metrics
汇总指标
Calculate and report:
- Visibility rate: percentage of queries where the domain appears, per engine
- Average citation position: mean position when cited, per engine
- Best-performing queries: queries where the domain appears across multiple engines
- Gap queries: queries where the domain is absent from all engines
- Top competing domains: domains that appear most frequently across all queries
计算并报告:
- 可见率:各引擎中域名出现的查询占比
- 平均引用位置:各引擎中域名被引用时的平均位置
- 表现最佳的查询:域名在多个引擎中均出现的查询
- 空白查询:域名在所有引擎中均未出现的查询
- 主要竞争域名:在所有查询中出现频率最高的域名
Recommendations
建议
Based on the findings, suggest:
- Which queries have the highest AI visibility potential
- Where competitors are cited but the target domain is not
- Content gaps that could improve citation likelihood
- Which engines favor the domain (focus optimization there)
基于分析结果,提出以下建议:
- 哪些查询具有最高的AI可见性潜力
- 竞品被引用但目标域名未被引用的场景
- 可提升引用概率的内容空白点
- 更青睐目标域名的引擎(建议重点优化该引擎)
Multi-query workflow
多查询工作流
When running many queries, batch by engine to minimize context switching:
- Run all queries on Google AI Overviews first (camoufox session stays warm)
- Run all queries on Perplexity second (no special runtime needed)
- Run all queries on ChatGPT Search last (authenticated profile session)
Between queries on the same engine, no need to restart the browser. Navigate directly
to the next search URL.
处理大量查询时,按引擎分批处理以减少上下文切换:
- 先在Google AI Overviews上运行所有查询(camoufox会话保持活跃)
- 然后在Perplexity上运行所有查询(无需特殊运行环境)
- 最后在ChatGPT Search上运行所有查询(使用已认证的配置文件会话)
同一引擎的查询之间,无需重启浏览器,直接导航至下一个搜索URL即可。
Important rules
重要规则
- Camoufox for Google — Google blocks regular Chromium for automated searches. Always
use for Google queries.
--runtime camoufox --headed - Rate limiting — Add natural pauses between queries on the same engine. Do not run more than one query every 5-10 seconds on Google. Perplexity and ChatGPT are more lenient.
- AI Overviews are not always present — Google shows AI Overviews for informational queries, not navigational or transactional ones. Record absence as a data point.
- ChatGPT may not use search — ChatGPT sometimes answers from training data without
invoking web search. When no sources panel appears, record .
search_used: no - Snapshot before text — always take a snapshot first to understand page structure, then use text extraction for full content if needed.
- Do not fabricate results — if a citation is ambiguous or unclear, note it as uncertain rather than asserting presence or absence.
- Profile persistence — the flag reuses cookies across sessions. If the session expires, ask the user to re-authenticate via headed mode.
--profile chatgpt
- Google需使用Camoufox —— Google会阻止常规Chromium进行自动化搜索。针对Google查询,请始终使用参数。
--runtime camoufox --headed - 速率限制 —— 同一引擎的查询之间添加自然停顿。Google上每5-10秒最多运行一个查询,Perplexity和ChatGPT的限制相对宽松。
- AI Overviews并非始终存在 —— Google仅针对信息类查询显示AI Overviews,导航类或交易类查询不会显示。需将未出现的情况记录为数据点。
- ChatGPT可能不使用搜索 —— ChatGPT有时无需调用网页搜索,直接从训练数据中回答。当没有Sources面板时,记录。
search_used: no - 先快照再提取文本 —— 始终先拍摄快照以了解页面结构,必要时再使用文本提取获取完整内容。
- 请勿编造结果 —— 如果引用模糊或不明确,请标注为不确定,而非断言存在或不存在。
- 配置文件持久化 —— 标志会在会话间复用Cookie。如果会话过期,请要求用户通过可视化模式重新认证。
--profile chatgpt
Limitations
局限性
- Google AI Overviews availability — not all queries trigger AI Overviews; availability varies by region and query type
- ChatGPT Search access — requires a ChatGPT Plus or Team subscription with search enabled
- Rate limits — aggressive querying may trigger temporary blocks on any engine
- Dynamic content — AI-generated answers change over time; results represent a point-in-time snapshot
- Image/video citations — this workflow tracks text citations only; rich media citations in AI answers are not captured
- Google AI Overviews可用性 —— 并非所有查询都会触发AI Overviews,其可用性因地区和查询类型而异
- ChatGPT Search访问权限 —— 需要启用搜索功能的ChatGPT Plus或Team订阅
- 速率限制 —— 频繁查询可能导致任何引擎临时封禁
- 动态内容 —— AI生成的答案会随时间变化,结果仅代表某一时刻的快照
- 图片/视频引用 —— 此工作流仅跟踪文本引用,AI答案中的富媒体引用不会被捕获