作品 · 开源
Chinese-Geo
国内生态优先的开源 SEO + GEO 工具:一条命令给站做 AI 可见性体检,让网站被豆包 / DeepSeek / 文心 / 通义 / 元宝 / Kimi 等国内 AI 引擎抓得到、被引用。
快速开始
用命令行
先装上(需 Python 3.9+):
pip install Chinese-Geo 给任意一个网址做一次体检:
seogeo audit example.com 几秒钟就出一份中文报告:7 个维度打分 + 一份按优先级排好的修复清单,照着改就行。要 JSON(进 CI)就加 --format json。
给 AI agent 用
它本来就是为 agent 设计的——6 个 Agent Skill + MCP(8 个工具)。Claude Code 一键装(技能 + MCP 一起来):
/plugin marketplace add qingqingpi/Chinese-Geo /plugin install seogeo Codex / Cursor / Kimi 等别的 agent:在项目里跑一行 seogeo init --agent codex(或 cursor / gemini…),指令文件 + MCP 配置自动写好,已有的不覆盖。
我为什么做它
市面上的 SEO / GEO(生成式引擎优化)工具几乎全是海外视角——只盯 ChatGPT、Perplexity,只认 Wikipedia 和 llms.txt。 可国内是另一套游戏:每家 AI 主要「吃自己的生态」——豆包 ← 抖音 / 头条,元宝 ← 微信公众号,文心 ← 百度百科 / 百家号, 通义 ← 门户自媒体,DeepSeek / Kimi ← 知乎 / CSDN。爬虫准入、站外分发、引用监控全都不一样,连 llms.txt 在国内基本都没用, GEO 的主战场是「联网检索」而不是训练语料。
这块空白没人补,我就自己补:把国内这一套做全,同时不丢海外主流。两个生态,一个工具。
它做什么
我把核心收成一条命令:给一个站做一次 AI 可见性体检。我不想让它只会喊「你该做 SEO」, 所以它给的是实打实的东西——7 个维度的分,加一份按优先级排好的中文清单:国内外爬虫放没放进来、sitemap 找不找得到、 结构化数据全不全、正文够不够被引用、是不是个 JS 空壳。每条都说清扣在哪、改完能加几分。确定性引擎,能塞进 CI 反复跑。
最好的测试是拿自己开刀。我用它体检了我自己这个站——更重要的是,照它给的清单真把问题修了:
$ seogeo audit sunxin.xin 总分 76 / 100 · 良好 # 第一次:揪出两处真问题 ★ 国内 AI 爬虫准入 16 / 26 · AI 可发现性 0 / 8 · # 照清单补上 robots 分组 + 标准 /sitemap.xml,再跑 ↓ $ seogeo audit sunxin.xin 总分 90 / 100 · 优秀 # +14,两项当场转绿 ★ 国内 AI 爬虫准入 26 / 26 ✓ AI 可发现性 8 / 8 ✓
从「良好」到「优秀」。剩下扣分的「内容可引用性」我没硬凑——首页是极简落地页, 可引用的深度放在博客里,不在首页。体检之外,它还能生成推荐 robots.txt、JSON-LD 与 llms.txt 脚手架, 监控国产引擎的引用率 / SoV,给出知乎 / CSDN / 公众号站外矩阵。
把事做美
我给自己定了条线:它得让我敢拿去给别人用。所以这几处我没省:
- 想加新检查,对我是几分钟的事。一条规则 = 一个
@register文件 + 一行 import, 管线自己发现,从不用动主干——这样它能跟着各家引擎的变化一直长。 - 它够稳,我敢让它进生产。运行时零依赖(纯 Python 标准库)、25 个测试文件全是真断言、 CI 跑 Python 3.9–3.12、打 tag 自动发 PyPI,抓取那层我还加了 SSRF 防护。
- 它是真懂国内,这也是我觉得它最难被替代的地方。Bytespider 的「robots 挡了 ≠ 真挡住」我做了双层探测、 正文量按中文字符数算(省得被「中文没空格」坑)、爬虫 IP 用反向 DNS 验真伪——这些海外工具基本都没有。
怎么用
我把它做成了四种形态,你顺手用哪种都行:
- CLI:
pip install Chinese-Geo,然后seogeo audit example.com。 - 6 个 Agent Skill(vendor-neutral,跑在 Claude Code / Codex / Kimi 等):从体检到改写到站外,一条龙。
- MCP server:8 个工具,接进任何支持 MCP 的 agent。
- Claude Code 插件:一键装,自带斜杠命令。