auto-geo

официальный

Движок публикации контента, оптимизированный для GEO, для видимости в ИИ

Что можно делать с Auto Geo MCP?

  • Аудит готовности к цитированию — Запустите doctor на любом URL, чтобы оценить его GEO-позицию по 8 проверкам, таким как JSON-LD, плотность сущностей и H2 в формате вопросов.
  • Генерация оптимизированных страниц — Используйте write с целевыми запросами для создания проверенных, готовых к публикации JSON-страниц, соответствующих полной GEO-архитектуре.
  • Переписывание существующего контента — Примените fix к любой странице, чтобы получить GEO-оптимизированную версию, проходящую все 8 проверок аудита.
  • Отслеживание охвата цитирований — Запустите check на реальных AI-движках (Perplexity, OpenAI, Gemini и т.д.), чтобы узнать, действительно ли ваш домен цитируется по отслеживаемым промптам.
  • Мониторинг тенденций с течением времени — Используйте history для просмотра изменений охвата от запуска к запуску, включая новые или утраченные цитирования по каждому движку.
  • Управление отслеживаемыми промптами — Добавляйте, просматривайте или удаляйте промпты с помощью prompts, или используйте prompts discover, чтобы LLM предложил высокоинтентные запросы для конкуренции.

Документация

auto-geo

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

Открытый GEO-движок, который помогает упоминать ваш бренд в ChatGPT, Claude, Gemini, Perplexity и Grok.

Аудит, генерация, исправление и отслеживание страниц, на которые ссылаются большие языковые модели — один 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 — медиа-исследовательской лабораторией, создающей следующее поколение ИИ-медиа-аналитики и коммуникационных технологий, в партнёрстве с командами, которые вывели OpenAI, TikTok, Meta, Amazon и Lovable на карту. Shadow использует auto-geo для публикации на shadow.inc/resources.


Содержание


Быстрый старт

# 0. Install once (or run any command one-shot via \`npx auto-geo@latest\`)
npm i -g auto-geo

# 1. Set up — config, .env.local key slots, and the .auto-geo workspace
auto-geo init

# 2. Add an API key to .env.local (auto-loaded by every command)

# 3. Audit any page — yours or a competitor's
auto-geo doctor https://example.com/some-page

# 4. Track the prompts you want AI engines to cite you for
auto-geo prompts add "best media monitoring tools" "what is GEO"

# 5. Measure — every run is saved to history automatically
auto-geo check

# 6. Watch coverage move over time
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

Автономные исполняемые файлы (без необходимости Node) для macOS, Linux и Windows поставляются с каждым релизом.


Что такое GEO?

Оптимизация для генеративных движков — это дисциплина, которая делает ваши страницы теми, которые ИИ-поисковые движки цитируют, когда отвечают на вопрос. Это преемник SEO: вместо ранжирования в списке ссылок вы конкурируете за то, чтобы быть процитированными внутри ответа.

Страницы, которые побеждают, — это не блоги. Эмпирические исследования связывают вероятность цитирования с конкретной структурой:

  1. Архитектура, а не проза. Именованные, проверенные блоки — TL;DR, вступление, H2-секции в формате вопросов, связанные руководства, ключевые выводы, FAQ, дисклеймер. ИИ-движки извлекают структурированные фрагменты; жёсткая структура улучшает извлечение.
  2. Ответ в первую очередь. Каждая секция начинается с «капсулы ответа» на 40–60 слов, которая полностью отвечает на вопрос секции до любого вспомогательного абзаца.
  3. Заголовки в формате вопросов. H2 написаны как вопросы, которые пользователи реально задают ИИ-движкам.
  4. Насыщенность сущностями. Именованные сущности (компании, люди, продукты) с высокой плотностью — связано с ~4.8x более высокой вероятностью цитирования.
  5. На основе схемы. Article + FAQPage JSON-LD генерируется из структуры, а не пишется вручную.

auto-geo кодирует эту структуру в строгой схеме (см. 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        # interactive (a handful of questions)
auto-geo init --yes  # non-interactive template

Одна команда создаёт всё необходимое:

ФайлЧто это
auto-geo.config.jsonВаши значения по умолчанию — домен, провайдер, модель, автор. Можно коммитить; никогда не содержит секретов.
.env.localПоля для API-ключей. Автоматически загружаются каждой командой. Добавьте в .gitignore.
.auto-geo/prompts.txtВаши отслеживаемые промпты — по одному на строку, комментарии # разрешены.
.auto-geo/checks/Каждый запуск check, сохранённый как JSON. Данные, стоящие за history.

Интерактивный процесс завершается запросом промптов, которые вы хотите отслеживать, так что новый проект переходит от нуля к измеримому базовому уровню цитирования за один сеанс. init никогда не перезаписывает существующий .env.local и отказывается перезаписывать существующую конфигурацию без --force.


auto-geo doctor — аудит любой страницы на готовность к цитированию

Запустите её на любом URL — вашем, конкурента, на каждой странице вашей карты сайта — и получите структурированный отчёт о сигналах цитирования, которые ищут ИИ-движки.

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).
# Whole sitemap — mean score, lowest-scoring pages, most common failures
auto-geo doctor --site https://example.com/sitemap.xml --max-pages 50

# JSON for CI / dashboards
auto-geo doctor https://example.com/page --json

Код выхода 0, если оценка ≥ 75%, 1 в противном случае — используйте для контроля деплоев. См. docs/doctor.md для полного справочника проверок.


auto-geo write — генерация страниц из запросов

Дайте ей ваш домен и запросы, за которые хотите быть процитированными; получите проверенные, готовые к публикации JSON-файлы — по одной структурированной странице на запрос, соответствующей полной GEO-архитектуре.

auto-geo write \
  --query "what is GEO" \
  --query "GEO vs 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 — а вывод ограничен схемой на уровне системы типов через generateObject Vercel AI SDK, с ограниченным циклом самокоррекции при ошибке валидации. По умолчанию: gpt-5.4 (OpenAI) или claude-sonnet-4-6 (Anthropic), автоматически определяется по тому, какой API-ключ у вас установлен.

# Dry-run — plan + cost estimate, no LLM calls
auto-geo write --query "what is X" --dry-run

# Batch from a file, anthropic, 4 pages at a time
auto-geo write --queries-file queries.txt --provider anthropic --concurrency 4

С файлом конфигурации (auto-geo init), --domain, поля автора и провайдер берутся из конфигурации — достаточно простого --query. См. docs/write.md.


auto-geo fix — переписывание страницы для готовности к цитированию

Где doctor сообщает, что не так, fix создаёт GEO-оптимизированное переписывание, которое проходит все 8 проверок — получено, проверено, перегенерировано и валидировано по той же схеме, которую использует write.

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 instead
auto-geo fix https://example.com/page --dry-run              # audit + cost estimate only

См. docs/fix.md.


auto-geo prompts — управление отслеживаемыми промптами

Ваши отслеживаемые промпты — это вопросы, на которые вы хотите, чтобы ИИ-движки отвечали, цитируя ваш домен. Они хранятся в .auto-geo/prompts.txt (обычный текст, можно коммитить), и именно их check запускает по умолчанию.

auto-geo prompts add "best media monitoring tools" "what is GEO"
auto-geo prompts            # numbered list
auto-geo prompts rm 2       # by index — or by exact text

Не знаете, что отслеживать? Позвольте движку предложить ваш набор промптовdiscover загружает вашу главную страницу, смотрит, что вы уже отслеживаете, и заставляет LLM генерировать высокоинтентные запросы, за которые вам стоит конкурировать:

auto-geo prompts discover --dry-run    # preview the proposals
auto-geo prompts discover --count 15   # append 15 (never overwrites, never duplicates)

prompts adddiscover) инициализируют рабочее пространство при первом использовании, так что вам даже не нужен init для начала отслеживания.


auto-geo check — измерение фактического охвата цитирований

Для каждого промпта запросите реальный ИИ-поисковый движок и сообщите, есть ли ваш домен среди цитирований. Это истина, которую предсказывает doctor.

auto-geo check        # tracked prompts, domain from config
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 (по умолчанию), openai, anthropic, gemini, xai (алиас grok) или --engine all — который запускает каждый движок с установленным API-ключом и сообщает охват по каждому движку плюс объединённый итог.

# Explicit queries instead of the tracked set
auto-geo check --domain shadow.inc --query "what is GEO"

# Every engine you have keys for, union coverage
auto-geo check --engine all

# CI: fail the deploy when critical queries don't cite you
auto-geo check --queries-file geo/critical-queries.txt && deploy

# Streaming JSON for agents / dashboards
auto-geo check --ndjson

Каждый запуск автоматически сохраняется в .auto-geo/checks/ (отключить можно с помощью --no-save). Код выхода 0, если охват > 0%, 1, если 0%. См. 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 — committable, no secrets
{
  "domain": "https://www.example.com",
  "basePath": "/resources",
  "provider": "openai",
  "model": "gpt-5.4",
  "engine": "perplexity",
  "concurrency": 4,
  "author": {
    "name": "Jane Doe",
    "jobTitle": "Head of Content",
    "bio": "Jane writes about generative engine optimization…",
  },
}

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

Архитектура страницы

Всё, что производят write и fix — и всё, что проверяет doctor — следует строгой семиблочной архитектуре:

  1. TL;DR — капсула ответа на 40–60 слов
  2. Вступление — блоки, задающие контекст
  3. Секции — H2 в формате вопросов, каждая начинается с капсулы ответа на 40–60 слов
  4. Связанные руководства — 4–8 записей
  5. Ключевые выводы — 4–6 декларативных пунктов
  6. FAQ — 3–10 вопросов и ответов с ответами на 40–60 слов
  7. Дисклеймер — примечание об источниках, временная метка, строка издателя

Нарушения структуры — это жёсткие ошибки (сгенерированный payload отклоняется и перегенерируется); эвристики плотности и ритма — мягкие предупреждения. Полная спецификация: docs/architecture.md, docs/validation.md и SOP, стоящая за каждым ограничением: docs/sop.md.

Выходной JSON не зависит от рендерера — отправьте его в вашу CMS, гидратируйте шаблон или отрендерьте своими компонентами. Структура и есть контракт.


Вывод, удобный для агентов

Каждая команда создана для управления как агентом, так и человеком:

  • --json — один стабильный, машиночитаемый объект в stdout.
  • --ndjson (check) — одна JSON-строка на запрос по мере поступления результатов, плюс строка _summary.
  • Прогресс идёт в stderr, результаты — в stdout — пайпы остаются чистыми.
  • Стабильные коды выхода — doctor и check — готовые CI-шлюзы из коробки.
  • --no-color / NO_COLOR / определение non-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 — это медиа-исследовательская лаборатория, создающая следующее поколение технологий медиа-аналитики и коммуникаций на базе ИИ, в партнерстве с командами, которые вывели на рынок OpenAI, TikTok, Meta, Amazon и Lovable. Shadow запускает auto-geo в полном цикле по расписанию для команд медиа-исследований, PR и коммуникаций.

Узнайте больше на shadow.inc.