返回资源库

GEO SKILL · geo-measurement

yao-chatgpt-crawler

通过 OpenCLI Browser Bridge 连接已登录的 ChatGPT web profile,对 AI Search 问题做多次采样,采集答案和可见来源,输出目标实体与同类型竞品的提及率、Top 1/3/5、平均排名、语义实体审计、引用来源和 HTML 概率报告。

成熟度:beta许可:MIT原始目录

执行说明

---
name: yao-chatgpt-crawler
description: "Use when a user provides ChatGPT web AI-search keywords, repeat count, target entity, entity type, OpenCLI profile, and crawl interval preference, then needs repeated crawls aggregated into JSON plus a Kami HTML GEO report. Not for generic crawling, ChatGPT API chat, SEO writing, or one-off answers."
---

# Yao ChatGPT Crawler

## Inputs

Questions, repeat count, target entity/type (`person/company/product`), browser profile, delay preset, optional output directory, and same-type competitors.

Use random `30s-1m` by default; support `1-3m` and `3-10m` when requested.

## Workflow

1. Read `references/user-setup-and-usage.md`, `references/chatgpt-crawl-workflow.md`, and `references/report-contract.md` as needed.
2. Run `node scripts/preflight.mjs --profile <profile>` before fresh crawling.
3. Stage 1: run `scripts/chatgpt_batch_crawl.mjs` with questions, repeat, profile, target entity/type, interval preset, and output dir.
4. Stage 2: run `scripts/analyze_chatgpt_results.py`. Follow the competitor-review rules in the workflow reference; a target-only alias file never disables inference.
5. Return crawl JSON, summary, structured Markdown/Excel, HTML report, optional semantic-review cache, and failed logs.

## Honest Boundaries

- Reuses local ChatGPT web automation; does not bypass login, bot checks, or hidden data.
- Visible ChatGPT citations bound source analysis; probability metrics are repeated-sample estimates.
- Inferred competitors are heuristic. Review aliases before external use; use `--semantic-review required` when formal-report confidence demands it.
- The entity table is an audit surface; only rows entering the competitor matrix affect metrics.
- Preserve raw answers, reference titles, URLs, and logs so every conclusion can be audited.

使用指南

<!--
Copyright © 2026 姚金刚. All rights reserved.
Project: yao-chatgpt-crawler
Created by: 姚金刚
Date: 2026-06-25
X: https://x.com/yaojingang
-->

# yao-chatgpt-crawler

`yao-chatgpt-crawler` 是一个 ChatGPT Web AI Search 采样与 GEO 概率分析 skill。它通过 OpenCLI Browser Bridge 连接已经登录的 Chrome 或 Edge profile,对同一组问题做多次 ChatGPT web 采样,抓取答案、可见引用来源和来源弹层链接,再输出目标实体与同类型竞品的概率报告。

它不是 ChatGPT API 客服开发工具,也不是通用网页爬虫。

## 适用场景

- 评估某个品牌、公司、人物或产品在 ChatGPT 答案中的出现概率。
- 多次采样同一批 AI 搜索问题,观察 Top 1 / Top 3 / Top 5、平均排名和提及率。
- 识别同类型竞品,并过滤噪声词、概念词和非同类型实体。
- 分析 ChatGPT 答案里的引用来源、域名分布、标题意图和重复引用。
- 输出可交付的 HTML 报告、结构化 Markdown、Excel 和机器可读 JSON。

## 输入项

标准执行前需要确认:

- 关键词 / 问题列表
- 重复采样次数
- 目标实体
- 实体类型:人、公司或产品
- OpenCLI profile
- 单次查询间隔:默认随机 `30s-1m`,可选 `1-3m` 或 `3-10m`
- 可选别名 / 竞品表

## 执行流程

1. 运行 `node scripts/preflight.mjs --profile <profile>` 检查 OpenCLI、浏览器连接和 ChatGPT 会话。
2. 准备 `questions.txt`,每行一个问题。
3. 准备可选 `brands.txt`,每行一个实体,别名用 `|` 分隔。
4. 运行 `scripts/chatgpt_batch_crawl.mjs` 做重复采样。
5. 运行 `scripts/analyze_chatgpt_results.py` 聚合实体、来源、标题、情绪和概率指标。
6. 检查 `report/summary.json`、`report/structured-data.md`、`report/structured-data.xlsx` 和 `report/report.html`。

## 延迟策略

Fresh crawl 默认在每次查询之间随机等待 `30s-1m`。更保守的运行可以使用:

- `--delay-preset 1-3m`
- `--delay-preset 3-10m`
- `--safe-random-delay`,等同于 `3-10m`

这些策略只是降低请求频率,不绕过登录、验证码、限流或账号风控。

## 示例命令

```bash
node scripts/chatgpt_batch_crawl.mjs \
  --questions questions.txt \
  --repeat 3 \
  --profile edge-chatgpt \
  --target-entity "豆包" \
  --target-aliases "Doubao,豆包大模型,豆包模型" \
  --entity-type product \
  --brands-file brands-model-products.txt \
  --delay-preset 1-3m \
  --out-dir runs/doubao-chatgpt
```

```bash
python3 scripts/analyze_chatgpt_results.py \
  runs/doubao-chatgpt/chatgpt-crawl.json \
  --target-entity "豆包" \
  --target-aliases "Doubao,豆包大模型,豆包模型" \
  --entity-type product \
  --brands-file brands-model-products.txt \
  --semantic-review auto \
  --title "ChatGPT AI Search Probability Report" \
  --out-dir runs/doubao-chatgpt/report
```

## 公开真实测试

仓库包含一个脱敏后的真实测试:

- [豆包模型产品 ChatGPT Web Search 测试](../../skills/yao-chatgpt-crawler/examples/doubao-model-products-real)
- [HTML 报告](../../skills/yao-chatgpt-crawler/examples/doubao-model-products-real/report/report.html)
- [summary.json](../../skills/yao-chatgpt-crawler/examples/doubao-model-products-real/report/summary.json)

这个案例使用 5 个国产大模型问题、每题 3 次采样、目标实体 `豆包`、实体类型 `模型产品`。公开版保留答案文本、引用来源、实体识别和概率指标,但移除了本机 profile、ChatGPT 会话链接、raw 控制台输出和绝对路径。

## 质量门

- 每个正式报告必须声明目标实体、实体类型和采样口径。
- 竞品概率表只能纳入同类型实体。
- 自动实体识别必须暴露语义标签、置信度、进入竞品原因和排除原因。
- 英文报告模式下,标题、导航、表头、说明文字和图表标签都应使用英文。
- 公共示例必须脱敏,不提交私有 raw/log 目录。

## 包路径

- Skill package: [skills/yao-chatgpt-crawler](../../skills/yao-chatgpt-crawler)

来源:yaojingang/yao-geo-skills,MIT License。工作流输出仍需人工核验,不应把未证实的品牌主张直接发布。

yao-chatgpt-crawler - GEO 开源技能