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
Открытый 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
Всё основано на файлах и может быть закоммичено — отслеживаемые промпты, история проверок, конфигурация. Никакого сервера, аккаунта или базы данных. Одна установка:
npm i -g auto-geo
Создано Shadow — медиа-исследовательской лабораторией, создающей следующее поколение ИИ-медиа-аналитики и коммуникационных технологий, в партнёрстве с командами, которые вывели 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. 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: вместо ранжирования в списке ссылок вы конкурируете за то, чтобы быть процитированными внутри ответа.
Страницы, которые побеждают, — это не блоги. Эмпирические исследования связывают вероятность цитирования с конкретной структурой:
- Архитектура, а не проза. Именованные, проверенные блоки — TL;DR, вступление, H2-секции в формате вопросов, связанные руководства, ключевые выводы, FAQ, дисклеймер. ИИ-движки извлекают структурированные фрагменты; жёсткая структура улучшает извлечение.
- Ответ в первую очередь. Каждая секция начинается с «капсулы ответа» на 40–60 слов, которая полностью отвечает на вопрос секции до любого вспомогательного абзаца.
- Заголовки в формате вопросов. H2 написаны как вопросы, которые пользователи реально задают ИИ-движкам.
- Насыщенность сущностями. Именованные сущности (компании, люди, продукты) с высокой плотностью — связано с ~4.8x более высокой вероятностью цитирования.
- На основе схемы. 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 add (и discover) инициализируют рабочее пространство при первом использовании, так что вам даже не нужен 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, переопределяйте где угодно. Приоритет, от высшего к низшему:
- Флаг CLI
- Переменная окружения (провайдер автоматически определяется по установленному API-ключу)
auto-geo.config.json(поднимается вверх от текущей директории — удобно для монорепозиториев)- Встроенное значение по умолчанию
// 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 — следует строгой семиблочной архитектуре:
- TL;DR — капсула ответа на 40–60 слов
- Вступление — блоки, задающие контекст
- Секции — H2 в формате вопросов, каждая начинается с капсулы ответа на 40–60 слов
- Связанные руководства — 4–8 записей
- Ключевые выводы — 4–6 декларативных пунктов
- FAQ — 3–10 вопросов и ответов с ответами на 40–60 слов
- Дисклеймер — примечание об источниках, временная метка, строка издателя
Нарушения структуры — это жёсткие ошибки (сгенерированный 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.
