CommunityProgramación y desarrollogithub.com

GEO 全流程服务

完整的 GEO(生成式引擎优化)服务流水线:给一个产品官网 URL 和介绍材料,做站点诊断与 AI 答案采样、生成带验收标准的执行工单、产出可直接部署的资产(llms.txt / JSON-LD / 定义块 / FAQ / 内容大纲与初稿)、自动验收工单是否闭环、并打包成可直接发给客户的交付物。

¿Qué es GEO 全流程服务?

这个技能实现了一个完整的生成式引擎优化(GEO)服务流程,从网站诊断到客户交付,覆盖所有关键环节。它支持国内外双市场并行,国内覆盖智谱GLM、豆包、DeepSeek、Kimi、MiniMax、纳米AI、百度AI等平台,海外覆盖Gemini、ChatGPT、Claude、Grok、Perplexity,问题库和指标按市场分开计算。用户只需提供一个产品官网URL,即可自动完成站点抓取、六维体检、品牌事实推导、竞品分析、问题库构建、多平台AI答案采样、生成带验收标准的执行工单、产出可部署的助记资产(如llms.txt、JSON-LD、定义块、FAQ、内容大纲与初稿),自动验证工单是否闭环,并打包成可直接交付给客户的诊断报告、优化方案和执行方案。核心原则是:每条建议都必须有方法文档中的实测数据支撑,不凭空编造,且官网只是事实源而非主要引用源,外部信源优先级更高。

Compatible con✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/liangdabiao/dsh-geo-optimizer/tree/HEAD/skills/geolook

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace GEO 全流程服务?

从诊断到交付的完整链路,不只是给建议:

抓取 → 体检 → AI答案采样 → 生成工单 → 产出资产 → 报告 → 自动验收 → 客户交付包

核心判断只有一句:GEO 的终点不是排名,是 AI 答案里那句话是不是按你的口径说的。 所以最小单位不是页面,是可被抽取的事实块。

项目目录:/Users/brucejan/geo,每个客户/产品一个 work/<slug>/。


最快的用法:给一个网址

python3 scripts/geo.py new --url https://example.com --market both

九步全自动:建项目 → 抓官网 → 体检 → 自动推导品牌事实/竞品/问题库 → 重跑体检 → AI 答案采样 → 工单与建设蓝图 → 资产与报告 → 三份交付物。

产出 work/<slug>/deliverables/:

文件回答什么
1-GEO诊断报告.html现在什么样
2-GEO优化方案.html应该改成什么样、为什么
3-GEO执行方案.html谁在什么时候做什么、做到什么算完成

自动推导出来的品牌事实必须人工复核——bootstrap 只从官网正文抽取, 抽不到的一律标「待确认」,绝不用常识填充。标了「待确认」的字段 (成立时间、工商主体、可具名客户等)需要你补齐或明确不对外说。

两种用法

界面(推荐)

python3 scripts/geo.py ui        # 默认 http://127.0.0.1:8765

全流程都在界面上,不用记命令:新建项目、编辑配置与问题库、写事实卡、 一键跑任意步骤或整个周期(带实时日志)、改工单状态、看资产、导入人工采样表、打开交付包。

界面为暗色四段主线(AtlasGEO):现状(总览 / 引擎表现 / 竞品对比 / 问题库)→ 诊断(差距诊断 / 阵地地图 / 品牌事实库)→ 提升(行动计划 / 内容工作台)→ 成效(效果验收 / 报告与交付),外加设置与三步接入引导。统一口径:GEO 健康分(五项加权,未测项权重归一)、提及率、引用份额、阵地、任务、内容。总览标题是由数据自动生成的一句结论;所有数字来自同一份采样,算不出的显示「未测」,不编数。 任务在后台子进程跑,关掉页面也会继续;同一项目同时只允许一个任务,避免抢同一份 audit.json。

只用标准库起服务,前端零外部依赖,断网可用。

命令行

python3 scripts/geo.py serve --slug <项目>

抓取 → 体检 → 采样 → 工单 → 资产 → 报告 → 验收上期 → 打包交付,全做完。 产出在 work/<slug>/delivery/<日期>/,可直接发客户。

首次接一个新客户走下面的步骤 0–2 做好底座,之后每期只跑这一条。


先读什么

  • 每次必读:references/method.md(评分口径和所有判据的出处,脚本就是它的代码实现)
  • 排外部信源优先级时必读:references/cn-source-ranking.md (CN-GEO 187,818 条引用实算榜。官网只占 1.37%,这个数字会改变资源分配)
  • 打国内平台:references/cn-platforms.md | 打海外:references/global-platforms.md
  • 写内容/改页面:references/content-patterns.md
  • 更深方法或原始数据:references/sources.md(含 GEORank / GEOFlow 选型说明)
  • 采样/平台异常先对表:references/known-issues.md(豆包超时、302 国内/海外端点模型目录、 SPA 空壳、llms.txt 范围过滤)

不要凭经验给 GEO 建议。每条建议都要能追到 method.md 里的某条实测数字, 说不出依据的别写进方案。


步骤 0 · 建项目

python3 scripts/geo.py init --url <产品官网> --name <品牌名> --market both

--market 取 cn / global / both。

双市场不是"顺带也做海外",是两套并行的战场——问题库、内容、竞品清单、指标全部分开。 纪律见 global-platforms.md 第 5 节。

步骤 1 · 吃透产品,建事实底座

读官网 + 用户给的材料(PDF/PPT/文档/公众号文章都行),补全 geo.json:

  • brand:规范名、别名和常见错写(品牌消歧的地基)、产品线、行业、目标用户、业务目标
  • competitors:3–6 个真实竞品,带别名。首期可以留空——先跑一轮"推荐类"问题的采样, 从 AI 答案里反推真实竞争集,比主观拍脑袋准得多。双市场时国内外竞品通常不是同一批,都要列全 (排名指标是相对这个清单算的,漏掉真实对手会高估名次)

同时写 work/<slug>/content/facts.md 品牌事实卡,模板见 content-patterns.md 第 1 节。 每条事实标证据等级 A–E,没来源的标"待确认",不许编。 这份文件是后面所有资产生成的输入——llms.txt、JSON-LD、定义块都从它来。

材料不够就直接问用户要,别猜产品能力和价格。

步骤 2 · 建问题库

问题库决定采样什么、写什么内容、怎么算指标。按七组各出 3–6 题: 推荐 / 比较 / 替代 / 价格 / 风险 / 品牌验证 / 场景。

每题必须标 market,脚本据此路由——中文题不会打到 Perplexity,英文题不会打到豆包:

{"id": "q001", "group": "推荐", "market": "cn",     "text": "国内做私域运营的 SaaS 有哪些好用的?"}
{"id": "q101", "group": "推荐", "market": "global", "text": "What's the best CRM for small B2B teams in 2026?"}
{"id": "q900", "group": "品牌验证", "market": "both", "text": "<品牌> 是家什么公司?"}
  • cn:中文口语问法,不要翻译腔 | global:英文原生问法,不是机翻
  • both 只留给品牌验证类。注意这类问题点名了品牌,答案必然复述品牌名, 脚本会把它们单独归入「品牌认知」,不混进可见性指标

每期循环(serve 自动做完,这里说明每步在干什么)

抓取 + 体检

按六维打分:可抓取性 / 长度 / 结构 / 可抽取块 / 权威信号 / 对题性。 读结果时先看四件事:

  1. SPA 空壳页(word_count 接近 0)——国内官网最常见致命伤,AI 抓取器看到的是空白
  2. robots 有没有封 AI 抓取器——封了就什么都别谈
  3. language_coverage 中英是否对等——做海外却没英文原生页直接 P0
  4. block_gap 缺得最多的块——内容工程第一优先级

AI 答案采样

市场平台变量说明
国内智谱GLMZHIPUAI_API_KEYOpenAI 兼容端点,不联网
国内豆包ARK_API_KEY火山方舟;联网要在控制台单独开通内容插件,没开通自动降级
国内DeepSeekDEEPSEEK_API_KEY不联网,测模型参数化知识里的品牌认知
国内KimiMOONSHOT_API_KEY默认不联网
国内MiniMaxMINIMAX_API_KEYOpenAI 兼容端点,不联网
海外GeminiGEMINI_API_KEYOpenAI 兼容端点,不带 grounding
海外OpenAI(ChatGPT)OPENAI_API_KEYChat Completions 默认不联网
海外ClaudeANTHROPIC_API_KEYAnthropic 原生协议,不联网
海外GrokXAI_API_KEYxAI API,不联网
海外PerplexityPERPLEXITY_API_KEY原生联网并返回 citations,海外证据质量最好

Key 放项目根目录 .env(已 gitignore,权限 600),脚本自动加载。

豆包在 302.AI 模式下走「搜索+回答」组合,单题超时读 .env 的 AI302AI_SEARCH_ASK_TIMEOUT (默认 45s)。平台/端点异常先对 references/known-issues.md 对表,别让任务空转。

没有公开联网 API 的——国内纳米AI搜索/百度AI/豆包 App,海外 ChatGPT 网页版/ Claude 网页版——走人工或浏览器采样:

python3 scripts/geo.py sample-sheet --slug <项目>
python3 scripts/geo.py sample-import --slug <项目> --file <采样表>

口径纪律(详见 method.md 第 4 节):

  • 国内 ≠ 海外,跨市场平均提及率没有解释力,报告里各占一张表
  • API ≠ 网页端,Web ≠ App(千问 web 与 App 信源只有 24.5% 重合),单独记单独算
  • 没有答案原文/截图/采样环境记录的,不许标成"真实采样"
  • 归因默认写"观察相关",除非有基线窗口 + 对照 Prompt + 竞品对照
  • 采样频率克制,遵守平台服务条款,不批量滥采、不模拟登录

生成工单 plan

诊断结果 → tasks.json,这是执行状态的单一真相源。每条工单必须有: 依据(追到 method.md 哪一条)、负责角色、工作量、时间窗口、验收标准、市场。

七个工作包:实体消歧 / 页面技术 / 内容矩阵 / 标题体系 / 知识库 / 外部证据 / 监测闭环。

优先级顺序(method.md 第 6 节): 门票问题 → 事实错误 → 抽取块缺口 → 高价值问题无承接 → 外部信源(P1,不是 P2) → 长尾扩量。

外部信源是 P1 不是 P2,因为官网只占全库引用 1.37%。 官网是事实源不是引用源,把它从 60 分做到 90 分的边际收益,远低于拿下一个榜单站词条。

产出资产 generate

到 work/<slug>/assets/,中英分开:

产物说明
llms.txt / llms.en.txt官方事实索引,直接传网站根目录
jsonld/*.jsonOrganization / SoftwareApplication / FAQPage / Article / BreadcrumbList,贴进 <head>
snippets/definition.*.html定义块,放首屏口号下方(口号保留,不影响转化)
snippets/faq.*.htmlFAQ 块,答案必须在静态 HTML 里可见,不要纯 JS 折叠
outlines/*.md每个目标问题一份内容大纲(含标题候选、章节骨架、字数与抽取块要求)
drafts/*.md加 --draft 时调用已配 LLM 出全文初稿

分工:结构性资产由代码确定性生成(不会漏 schema 字段);文章正文由你按 outline 写—— 代码写不出好文案。--draft 的初稿必须人工核实事实后才能发布。

自动验收 verify

重抓站点 → 跑 checker → 回写工单状态。这是"服务"和"建议"的分界线: 能自动验收的,就不靠人口头说做完了。做完会翻成 done,回归了会翻回 todo。

无法程序判定的(如百科词条是否过审)标「待人工」,确认后手动标记:

python3 scripts/geo.py task --slug <项目> --id T-003 --status done --note "词条已上线"
python3 scripts/geo.py status --slug <项目>     # 进度看板

客户交付 deliver

打包到 work/<slug>/delivery/<日期>/:总览 index、诊断报告、执行方案、 工单表(HTML + CSV 可导进项目管理工具)、验收表、建设地图、引擎表现 / 竞品对比 (复用 UI 同一套 analytics 口径,逐引擎提及率/引用份额/样本回放 + 竞品×引擎矩阵/失守问题)、 assets 目录、交付说明。

跑完之后你要做的事(脚本做不了的部分):

  1. 读 reports/latest.md 看 delta:均分涨跌、提及率变化、新出现的 P0
  2. 看「AI 实际引用的信源域名 Top」和「与全国大盘对照」——这是当期真实的分发地图, 用它修正外部信源计划
  3. 检查采样答案里有没有事实错误(品牌说错、张冠李戴、价格错、归错行业)→ 立刻 P0
  4. 按 outlines/ 写内容,按 plan.md 更新进度

建议节奏:页面体检每周,答案采样每两周或每月(采样有成本,指标本身有噪声,跑太密看不出信号)。


全部命令

命令作用
new★ 只给一个网址,全自动出三份交付物
autopilot对已建好的项目跑完整引导流程
bootstrap从官网正文推导品牌事实、竞品、问题库
deliverables出三份正式交付物(诊断/优化/执行)
init只建项目骨架,不跑流程
crawl / audit抓站 / 六维体检
sample / sample-sheet / sample-importAPI 采样 / 导出人工采样表 / 回灌
plan诊断结果 → 带验收标准的工单
generate产出可部署资产(--draft 加 LLM 初稿)
reportMarkdown + 自包含 HTML 报告,含 delta 与大盘对照
verify重抓并自动验收工单(--no-recrawl 用现有结果)
task / status单条工单状态 / 项目看板
deliver打包客户交付物
ui全流程界面:新建项目、配置、问题库、事实卡、一键运行、工单、资产、交付
serve全流程一条命令
cycle轻量循环(抓取→体检→采样→报告,不含工单与交付)
list所有项目

排期自动执行

用 schedule skill 建定时任务:

每周一早上跑 python3 /Users/brucejan/geo/scripts/geo.py serve --slug <项目>, 然后读 work/<项目>/reports/latest.md,如果出现新的 P0、提及率下降超过 10 个百分点, 或有工单从 done 回归成 todo,就告诉我。


边界

做:GEO 诊断、方案、工单、内容工程、资产生成、AI 答案监测、验收闭环、客户交付包。

不做:

  • 传统 SEO 关键词排名、外链买卖、竞价投放
  • 建站/改站的实际代码实施(给方案、给可直接用的片段,落地由客户开发做)
  • 绕过平台限制的批量采集、模拟登录、刷量
  • 编造品牌事实、客户案例、价格或资质——查不到就标"待确认",问用户

不承诺任何平台一定会引用某个页面。GEO 提高的是概率,不是保证。 给客户写方案时这句话必须原样写进去。


目录

/Users/brucejan/geo/
├── SKILL.md
├── references/
│   ├── method.md              评分口径与全部判据出处
│   ├── cn-source-ranking.md   国内信源实测榜(CN-GEO 实算,含复算脚本)
│   ├── cn-platforms.md        国内平台适配
│   ├── global-platforms.md    海外平台适配
│   ├── content-patterns.md    可抽取内容模板
│   └── sources.md             资料索引(含 GEORank / GEOFlow 选型)
├── scripts/
│   ├── geo.py       CLI 总入口
│   ├── crawl.py     抓站      audit.py     六维体检
│   ├── sample.py    多平台采样  benchmark.py 与全国大盘对照
│   ├── tasks.py     工单系统    generate.py  资产生成
│   ├── verify.py    自动验收    deliver.py   客户交付包
│   ├── bootstrap.py 自动推导底座  deliverables.py 三份交付物
│   ├── blueprint.py 建设地图
│   ├── dashboard.py 界面后端    ui.html      前端工作台
│   ├── jobs.py      后台任务(子进程 + 实时日志)
│   └── report.py    报告渲染    geolib.py    共用工具
└── work/<slug>/
    ├── geo.json        品牌、竞品、问题库、平台、目标
    ├── content/facts.md 品牌事实卡(所有资产的输入)
    ├── evidence/       抓取快照      audit.json  体检结果
    ├── samples/        采样原始答案   metrics/    每期指标
    ├── tasks.json      工单(执行状态单一真相源)
    ├── assets/         可部署资产
    ├── reports/        每期报告 + latest.md
    ├── verify/         每期验收结果
    ├── delivery/<日期>/ 客户交付包
    ├── history/        历史基线(算 delta)
    └── plan.md         30/60/90 方案

Skills relacionados