auto-geo
官方針對AI可見度進行地理優化的內容發布引擎
你可以用 Auto Geo MCP 做什麼?
- 審核任何頁面的AI引用準備度 — 對網址執行
auto-geo doctor,即可取得評分報告,檢查TL;DR是否存在、問答格式標題、實體密度、JSON-LD等項目。 - 從目標查詢生成GEO優化頁面 — 使用
auto-geo write產出經過驗證、可直接發布的JSON頁面,符合完整的七區塊引用架構。 - 改寫現有頁面以通過所有GEO檢查 — 將網址提供給
auto-geo fix,即可獲得重新生成的版本,預計在引用準備度審核中獲得8/8評分。 - 衡量AI引擎是否實際引用您的網域 — 對Perplexity、ChatGPT、Gemini、Claude或Grok執行
auto-geo check,查看哪些追蹤查詢會將您的網域列為來源。 - 追蹤引用覆蓋率隨時間的變化趨勢 — 使用
auto-geo history查看逐次執行的覆蓋率百分比、各引擎的差異變化,以及哪些查詢新增或失去引用。 - 發掘高意圖的追蹤查詢 — 讓
auto-geo prompts discover分析您的網域,並提出您應在AI搜尋結果中競爭的問題。
文件
auto-geo
讓你的品牌在 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
所有內容都是基於檔案且可提交的 — 追蹤的提示詞、檢查歷史記錄、設定檔。無需伺服器、無需帳戶、無需資料庫。只需一次安裝:
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. 設定 — config、.env.local 金鑰槽位和 .auto-geo 工作區
auto-geo init
2. 將 API 金鑰新增至 .env.local(每個命令都會自動載入)
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 的後繼者:你不是在連結列表中競爭排名,而是在 答案內部被引用 的競爭。
勝出的頁面不是部落格文章。實證研究將引用機率與特定形狀連結起來:
- 架構,而非散文。 命名、驗證過的區塊 — TL;DR、引言、問題格式的 H2 章節、相關指南、關鍵要點、FAQ、揭露聲明。AI 引擎提取結構化區塊;嚴謹的結構能改善提取效果。
- 答案優先。 每個章節都以一個 40–60 字的「答案膠囊」開頭,在任何支持性段落之前完整回答該章節的問題。
- 問題格式的標題。 H2 標題以使用者實際向 AI 引擎提出的問題形式撰寫。
- 實體密集。 命名實體(公司、人物、產品)以高密度出現 — 與約 4.8 倍更高的引用機率相關。
- 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.local | API 金鑰槽位。每個命令自動載入。將其加入 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(預設)、openai、anthropic、gemini、xai(別名 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 設定一次,可在任何地方覆蓋。優先順序,最高優先:
- CLI 旗標
- 環境變數(提供者根據設定的 API 金鑰自動偵測)
auto-geo.config.json(從 cwd 向上尋找 — 對 monorepo 友善)- 內建預設值
// 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 |
頁面架構
write 和 fix 產生的所有內容 — 以及 doctor 審核的所有內容 — 都遵循嚴格的七區塊架構:
- TL;DR — 40–60 字的答案膠囊
- 引言 — 設定情境的區塊
- 章節 — 問題格式的 H2,每個都以 40–60 字的答案膠囊開頭
- 相關指南 — 4–8 個條目
- 關鍵要點 — 4–6 個陳述性要點
- FAQ — 3–10 個問答,答案為 40–60 字
- 揭露聲明 — 來源註記、時間戳、發布者行
結構性違規屬於硬性錯誤(生成的酬載會被拒絕並重新生成);密度與節奏啟發式則為軟性警告。完整規格:
docs/architecture.md、docs/validation.md,以及每項約束背後的 SOP:docs/sop.md。
輸出的 JSON 與渲染器無關 — 你可以將其 POST 到你的 CMS、填入模板,或用自己的元件進行渲染。結構本身就是合約。
適合代理程式使用的輸出
每個指令的設計都同時適合代理程式與人類驅動:
--json— 在 stdout 輸出一個穩定、機器可讀的物件。--ndjson(檢查)— 隨著結果串流傳入,每筆查詢輸出一行 JSON,外加一行_summary。- 進度輸出至 stderr,結果輸出至 stdout — 管道保持乾淨。
- 穩定的退出碼 —
doctor和check可直接作為 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 是一家媒體研究實驗室,與曾讓 OpenAI、TikTok、Meta、Amazon 和 Lovable 成名的團隊合作,打造下一代 AI 驅動的媒體情報與通訊技術。Shadow 按排程為媒體研究、公關及通訊團隊端到端執行 auto-geo。
前往 shadow.inc 了解更多。