auto-geo

官方

面向AI可见性的GEO优化内容发布引擎

你可以用 Auto Geo MCP 做什么?

  • 审计任何页面的AI引用就绪状态 — 对URL运行auto-geo doctor,获取一份评分报告,检查TL;DR存在性、问题格式标题、实体密度、JSON-LD等。
  • 从目标查询生成GEO优化页面 — 使用auto-geo write生成经过验证、可发布的JSON页面,符合完整的七块引用架构。
  • 重写现有页面以通过所有GEO检查 — 将URL提供给auto-geo fix,接收一个重新生成的版本,预计在引用就绪审计中获得8/8的分数。
  • 衡量AI引擎是否实际引用你的域名 — 针对Perplexity、ChatGPT、Gemini、Claude或Grok运行auto-geo check,查看哪些跟踪查询将你的域名作为来源返回。
  • 跟踪引用覆盖率随时间的变化趋势 — 使用auto-geo history查看逐次运行的覆盖率百分比、每个引擎的差异,以及哪些查询被新引用或丢失。
  • 发现高意图查询以进行跟踪 — 让auto-geo prompts discover分析你的域名,并提出你应在AI搜索结果中竞争的问题。

文档

auto-geo

CI npm version License: MIT Built by Shadow Downloads TypeScript Node Docs llms.txt

让你的品牌在 ChatGPT、Claude、Gemini、Perplexity 和 Grok 中被提及的开源 GEO 引擎。

审计、生成、修复并追踪大语言模型引用的页面——一个基于文件的 CLI 工具,MIT 许可。

当有人向 ChatGPT、Perplexity、Claude、Gemini 或 Google AI Overviews 提出你的业务应该回答的问题时,这些引擎会引用_你的_域名吗?auto-geo 是实现这一目标并证明其正在发生的完整闭环:

auto-geo init      # set up the system once
auto-geo doctor    # audit any page for citation readiness
auto-geo write     # generate publish-ready pages from target queries
auto-geo fix       # rewrite an existing page so it passes the audit
auto-geo check     # measure: do AI engines actually cite you?
auto-geo history   # track citation coverage over time

auto-geo demo — tracked prompts, live citation check across AI engines, and coverage history

一切都基于文件且可提交——追踪的提示词、检查历史、配置。无需服务器、无需账户、无需数据库。只需一次安装:

npm i -g auto-geo

Shadow 构建——一家媒体研究实验室,致力于打造下一代 AI 驱动的媒体智能与传播技术,并与那些让 OpenAI、TikTok、Meta、Amazon 和 Lovable 声名鹊起的团队合作。Shadow 使用 auto-geo 发布内容至 shadow.inc/resources。


目录

  • 快速入门
  • 什么是 GEO?
  • 工作流程
  • auto-geo init — 设置系统
  • auto-geo doctor — 审计任何页面的引用就绪度
  • auto-geo write — 根据查询生成页面
  • auto-geo fix — 重写页面以提升引用就绪度
  • auto-geo prompts — 管理你追踪的提示词
  • auto-geo check — 衡量实际的引用覆盖率
  • auto-geo history — 引用覆盖率随时间的变化
  • 配置
  • 页面架构
  • 代理友好的输出
  • LLM 友好
  • 贡献
  • 许可证

快速入门

0. 安装一次(或通过 npx auto-geo@latest 一次性运行任何命令)

npm i -g auto-geo

1. 设置 — 配置、.env.local 密钥槽和 .auto-geo 工作区

auto-geo init

2. 向 .env.local 添加 API 密钥(每个命令都会自动加载)

3. 审计任何页面 — 你的或竞争对手的

auto-geo doctor https://example.com/some-page

4. 追踪你希望 AI 引擎引用你的提示词

auto-geo prompts add "最佳媒体监控工具" "什么是 GEO"

5. 衡量 — 每次运行都会自动保存到历史记录

auto-geo check

6. 观察覆盖率随时间的变化

auto-geo history

需要 Node >=18.17。后续升级使用 npm i -g auto-geo@latest。其他安装方式:

brew install shadowresearch/tap/auto-geo # Homebrew (macOS / Linux) mise use -g npm:auto-geo # mise

每个版本都提供适用于 macOS、Linux 和 Windows 的独立可执行文件(无需 Node)。


什么是 GEO?

生成式引擎优化是一门让你的页面成为 AI 搜索引擎在回答问题时引用的对象的学科。它是 SEO 的继任者:你不再竞争链接列表中的排名,而是竞争在_答案内部被引用_。

胜出的页面不是博客文章。实证研究将引用概率与特定的形态联系起来:

  1. 架构,而非散文。 命名、经过验证的区块——TL;DR、引言、问题格式的 H2 部分、相关指南、关键要点、FAQ、披露声明。AI 引擎提取结构化块;严格的结构能改善提取效果。
  2. 答案优先。 每个部分都以一个 40-60 词的“答案胶囊”开头,在任何支持性段落之前完整回答该部分的问题。
  3. 问题格式的标题。 H2 标题以用户实际向 AI 引擎提问的方式编写。
  4. 实体密集。 命名实体(公司、人物、产品)密度高——与约 4.8 倍更高的引用概率相关。
  5. 源自 Schema。 Article + FAQPage JSON-LD 从结构中发出,而非手工编写。

auto-geo 将这种形态编码在一个严格的 schema 中(参见 docs/sop.md — 完整的标准操作程序),根据它审计任何 URL,生成符合该形态的新页面,然后通过衡量引擎是否实际引用你来完成闭环。


工作流程

        ┌──────────────────────────────────────────────────────┐
        │                    auto-geo init                     │
        │   config · .env.local · .auto-geo/ workspace         │
        └──────────────────────────────────────────────────────┘
              │
   ┌──────────┼──────────────┬─────────────────┐
   ▼          ▼              ▼                 ▼
 doctor     write           fix             prompts
 audit a    generate        rewrite an      track the queries
 page       new pages       existing page   that matter to you
   │          │              │                 │
   └──────────┴──────────────┴────────┬────────┘
                                      ▼
                                    check ──── saves every run ────┐
                                measure actual                     ▼
                                citations                       history
                                                            coverage over time,
                                                            newly cited / lost

doctor 衡量_就绪度_(此页面的形态是否适合被引用?)。check 衡量_结果_(它是否真的被引用了?)。history 将结果转化为趋势线。


auto-geo init — 设置系统

auto-geo init # 交互式(几个问题) auto-geo init --yes # 非交互式模板

一个命令搭建一切:

文件说明
auto-geo.config.json你的默认设置 — 域名、提供商、模型、作者。可提交;绝不包含机密信息。
.env.localAPI 密钥槽。每个命令都会自动加载。将其加入 Gitignore。
.auto-geo/prompts.txt你追踪的提示词 — 每行一个,允许 # 注释。
.auto-geo/checks/每次检查运行,保存为 JSON。历史记录背后的数据。

交互流程结束时,会询问你想要追踪的提示词,因此一个新项目可以在一次操作中从零开始建立可衡量的引用基线。init 永远不会覆盖现有的 .env.local,并且在没有 --force 的情况下拒绝覆盖现有配置。


auto-geo doctor — 审计任何页面的引用就绪度

对任何 URL 运行——你的、竞争对手的、站点地图中的每个页面——并获得一份关于 AI 引擎所寻找的引用信号的结构化报告。

auto-geo doctor https://example.com/some-page

✓ TL;DR present (52 words, in range)
✗ Question-format H2 headings (2 of 6 are question-format; SOP §3 targets all)
✓ Article JSON-LD present
✗ FAQPage JSON-LD present (No FAQPage JSON-LD block detected)
✓ Entity density (12.3/1k words)
✗ Image cadence (0 images for 1247 words)
✓ Answer-first first paragraph
✓ No self-link in related guides

Score: 5 / 8 checks pass — moderate GEO posture

Top 3 fixes (ranked by citation lift):
  1. Add a FAQPage JSON-LD block. Each Q is a citable extraction target.
  2. Convert 4 statement-form H2 headings to question form.
  3. Add 2 images with descriptive alt text (entity + context).

整个站点地图 — 平均分、得分最低的页面、最常见的失败项

auto-geo doctor --site https://example.com/sitemap.xml --max-pages 50

用于 CI / 仪表盘的 JSON

auto-geo doctor https://example.com/page --json

如果分数 ≥ 75%,退出码为 0,否则为 1 — 据此控制部署。参见 docs/doctor.md 获取完整的检查参考。


auto-geo write — 根据查询生成页面

给它你的域名和你希望被引用的查询;返回经过验证、可发布的 JSON 文件——每个查询一个结构化页面,符合完整的 GEO 架构。

auto-geo write
--query "什么是 GEO"
--query "GEO 与 SEO 对比"
--out ./resources

✓ "what is GEO"        → ./resources/geo.json (validated, ~$0.06)
✓ "GEO vs SEO"         → ./resources/geo-vs-seo.json (validated, ~$0.06)

Total: 2 pages · 2 ok · ~$0.12 spent · 31s elapsed

系统提示词编码了 GEO SOP——TL;DR 长度、答案胶囊窗口、禁止使用的最高级词汇、FAQ 结构——并且输出通过 Vercel AI SDK 的 generateObject 在类型系统级别被约束到 schema,并在验证失败时进行有界的自我修正循环。默认:gpt-5.4 (OpenAI) 或 claude-sonnet-4-6 (Anthropic),根据你设置的任何 API 密钥自动检测。

试运行 — 计划 + 成本估算,不调用 LLM

auto-geo write --query "什么是 X" --dry-run

从文件批量处理,使用 anthropic,一次 4 页

auto-geo write --queries-file queries.txt --provider anthropic --concurrency 4

有了配置文件 (auto-geo init),--domain、作者字段和提供商会从配置中获取——一个简单的 --query 就是你所需要的。参见 docs/write.md


auto-geo fix — 重写页面以提升引用就绪度

doctor 告诉你哪里出了问题,而 fix 生成一个通过所有 8 项检查的 GEO 优化重写版本——获取、审计、重新生成,并根据 write 使用的相同 schema 进行验证。

auto-geo fix https://www.example.com/some-blog-post --out ./fixed.json

Score (before):    3 / 8
Generating rewrite via openai gpt-5.4...
Score (projected): 8 / 8 — strong GEO posture
→ ./fixed.json (validated)

auto-geo fix https://example.com/page --provider anthropic # 改用 Claude auto-geo fix https://example.com/page --dry-run # 仅审计 + 成本估算

参见 docs/fix.md


auto-geo prompts — 管理你追踪的提示词

你追踪的提示词是你希望 AI 引擎通过引用你的域名来回答的问题。它们存放在 .auto-geo/prompts.txt(纯文本,可提交)中,并且是 check 默认运行的内容。

auto-geo prompts add "最佳媒体监控工具" "什么是 GEO" auto-geo prompts # 编号列表 auto-geo prompts rm 2 # 按索引 — 或按精确文本

不知道要追踪什么?让引擎为你提议提示词集discover 获取你的主页,查看你已追踪的内容,并让 LLM 生成你应该竞争的高意图查询:

auto-geo prompts discover --dry-run # 预览提议 auto-geo prompts discover --count 15 # 追加 15 个(绝不覆盖,绝不重复)

prompts add(和 discover)在首次使用时引导工作区,因此你甚至不需要 init 即可开始追踪。


auto-geo check — 衡量实际的引用覆盖率

对于每个提示词,询问一个真实的 AI 搜索引擎,并报告你的域名是否在引用之列。这是 doctor 所预测的真实情况。

auto-geo check # 追踪的提示词,域名来自配置

  using 3 tracked prompts from .auto-geo/prompts.txt
  [1/3] ✗ "what is GEO" — not cited (5 sources)
  [2/3] ✓ "how do I get cited by ChatGPT" — cited (2 sources)
  [3/3] ✓ "open source GEO tools" — cited (1 source)

Coverage: 2/3 queries (67%) · 3 page citations total · ~$0.012 spent
  saved → .auto-geo/checks/2026-06-10T13-22-05--perplexity.json (auto-geo history)

引擎:perplexity(默认)、openaianthropicgeminixai(别名 grok),或 --engine all — 它会运行每个已设置 API 密钥的引擎,并报告每个引擎的覆盖率以及联合汇总。

使用显式查询而非追踪的集合

auto-geo check --domain shadow.inc --query "什么是 GEO"

你拥有密钥的每个引擎,联合覆盖率

auto-geo check --engine all

CI:当关键查询未引用你时,使部署失败

auto-geo check --queries-file geo/critical-queries.txt && deploy

用于代理 / 仪表盘的流式 JSON

auto-geo check --ndjson

每次运行都会自动保存到 .auto-geo/checks/(使用 --no-save 可退出)。如果覆盖率 > 0%,退出码为 0,如果为 0%,则为 1。参见 docs/check.md 了解输出形状、扇出查询捕获、域名匹配规则以及 --format geo-audit 互操作模式。


auto-geo history — 引用覆盖率随时间的变化

保存每次运行的回报:一条趋势线。逐次运行的覆盖率,包含每个引擎的变化量,以及你开始或停止被引用的确切提示词。

auto-geo history

  2026-06-01 08:30  perplexity   33% ·   1/3 cited  $0.01
  2026-06-08 09:15  perplexity   67% ↑34  2/3 cited  $0.01

  Since last run (perplexity · 2026-06-01 08:30 ▸ 2026-06-08 09:15)
    ✓ newly cited  open source GEO tools
    ✗ lost         (none)

  2 runs · .auto-geo/checks

趋势比较同类项——每次运行都相对于_相同引擎选择器_的上一次运行进行衡量。--engine all 过滤到多引擎运行;--limit N 控制深度;--json 以机器可读的方式发出行 + 变化量。参见 docs/history.md


配置

使用 auto-geo init 设置一次,可在任何地方覆盖。优先级从高到低:

  1. CLI 标志
  2. 环境变量(根据设置的 API 密钥自动检测提供商)
  3. auto-geo.config.json(从当前工作目录向上查找 — 对单体仓库友好)
  4. 内置默认值

// auto-geo.config.json — 可提交,无机密信息 { "domain": "https://www.example.com", "basePath": "/resources", "provider": "openai", "model": "gpt-5.4", "engine": "perplexity", "concurrency": 4, "author": { "name": "Jane Doe", "jobTitle": "内容主管", "bio": "Jane 撰写关于生成式引擎优化的文章…", }, }

API 密钥存放在 .env.local(或 .env)中,每个命令都会自动加载——已设置的环境变量始终优先:

引擎 / 提供商环境变量
OpenAI (write, fix, check)OPENAI_API_KEY
Anthropic (write, fix, check)ANTHROPIC_API_KEY
Perplexity (check)PERPLEXITY_API_KEY
Gemini (check)GOOGLE_API_KEY 或 GEMINI_API_KEY
xAI / Grok (check)XAI_API_KEY

页面架构

writefix 生成的一切——以及 doctor 审计的一切——都遵循一个严格的七块架构:

  1. TL;DR — 40-60 词的答案胶囊
  2. 引言 — 设置上下文的区块
  3. 部分 — 问题格式的 H2,每个都以 40-60 词的答案胶囊开头
  4. 相关指南 — 4-8 个条目
  5. 关键要点 — 4-6 个陈述性要点
  6. FAQ — 3-10 个问答,答案 40-60 词
  7. 披露声明 — 来源说明、时间戳、发布者行 结构性违规属于硬错误(生成的载荷会被拒绝并重新生成);密度和节奏启发式规则属于软警告。完整规范:docs/architecture.mddocs/validation.md,以及每条约束背后的标准操作程序:docs/sop.md

输出的 JSON 与渲染器无关——你可以将其 POST 到你的 CMS、填充模板,或用自己的组件进行渲染。结构本身就是契约。


面向智能体的输出

每条命令都设计为既能由人类驱动,也能由智能体驱动:

  • --json —— stdout 上输出一个稳定、机器可读的对象。
  • --ndjson(检查)—— 随着结果流式传入,每行一个 JSON 查询,外加一行 _summary
  • 进度信息输出到 stderr,结果输出到 stdout —— 管道保持干净。
  • 稳定的退出码 —— doctorcheck 开箱即用,可作为 CI 关卡。
  • --no-color / NO_COLOR / 非 TTY 检测,用于输出适合日志的格式。

auto-geo check --ndjson | jq 'select(.cited) | .query'


对 LLM 友好

auto-geo 是一个工具,其输出内容旨在被 LLM 引用——因此本仓库也使用自己的工具:

  • llms.txt —— 遵循 llmstxt.org 约定的精选索引。
  • llms-full.txt —— 将 README 及所有实质性文档内联到单个文件中,以便一次性获取。
  • GitHub Pages 站点位于 shadowresearch.github.io/auto-geo —— 通过 <link rel="alternate"> 进行宣传,并输出 Article JSON-LD。
  • AGENT.md —— 一份紧凑的操作规范,供驱动 CLI 的编码智能体使用。

贡献

请参阅 CONTRIBUTING.md。欢迎提交错误报告、检查改进、新引擎和文档完善。

  • 行为准则
  • 安全策略
  • 更新日志

许可证

MIT。


关于 Shadow

Shadow 是一家媒体研究实验室,致力于构建下一代 AI 驱动的媒体情报与传播技术,并与那些让 OpenAI、TikTok、Meta、Amazon 和 Lovable 声名鹊起的团队合作。Shadow 按计划为媒体研究、公关和传播团队端到端运行 auto-geo

了解更多信息,请访问 shadow.inc。