geo-score 命令行参数
geo-score 命令行按 AIV 量表 v1.1 给网站打分,报告可以输出为文本、JSON、SARIF 或 JUnit。本页列出 1.8.3 版的参数、CI 可以依赖的退出码,以及怎样比较两次运行。完整说明(包括第 3 级的 watch 命令)见仓库里的 cli/README.zh-CN.md。
怎么跑一次基础打分?
geo-score example.com # 给人看的报告
geo-score example.com --brief # 只看支柱小计和三处最大缺口
geo-score example.com --explain # 附上每一项背后的证据
geo-score example.com --json # 符合 schema/report.v2.json 的 JSON
不想安装时,把 geo-score 换成 uvx geo-score@1.8.3;在发布 tag 的克隆里,换成 python3 cli/geo_score.py。
命令行有哪些参数?
| 参数 | 作用 |
|---|---|
--brief | 只看支柱小计和三处最大缺口,一屏截得下。 |
--explain, -e | 打印每一项背后的证据,而不只是分数。 |
--json | 输出符合 schema/report.v2.json 的机器可读 JSON。 |
--json-out FILE | 同一次运行里,把 JSON 另存到文件。 |
--sarif FILE | 另写一份 SARIF 2.1.0:每项检查一条规则,未满分的每项一条结果。 |
--junit FILE | 另写一份 JUnit XML:每项检查一个测试;0 分的失败,未测的跳过。 |
--sample N | 抽样页数。默认 8,也是量表规定的数。 |
--timeout SECONDS | 每个请求最多等多久(默认 15,最多 300)。 |
--urls FILE | 指定要打分的页面,最多 8 个,每行一个网址或路径。 |
--urls-from REPORT | 重评之前某份 JSON 报告抽到的页面,让两次运行读同一批页面。 |
--baseline REPORT | 重评基线报告的页面,并逐项打印变化。 |
--fail-on-drop | 配合 --baseline:有检查项掉分、门槛项变 0 或档位下降时,以退出码 4 结束。 |
--compare URL | 再给另一个站打分,左右并排打印。可以重复。 |
--badge [FILE] | 另写一枚带分数和档位的 SVG 徽章。 |
--badge-json FILE | 同一枚徽章的 shields.io endpoint JSON。 |
--share | 打印一行适合发帖的摘要,外加徽章的 Markdown。 |
--fail-under N | 分数低于 N 时以退出码 1 结束。 |
--fail-on-gate | 任一门槛项得 0 分时以退出码 1 结束,并在 stderr 写明是哪一项。 |
--assert EXPR | 某项检查不满足条件时以退出码 1 结束,例如 g.robots=max、p1.llms-txt>=4。可以重复。 |
--quiet, -q | stderr 上不打印进度。 |
--version | 打印工具版本和它采用的量表版本。 |
--ask QUESTION | 第 2 级:再用你的 Key 通过各家 API 问 AI 引擎这个问题,报告引用了谁。最多 5 个。 |
--brand NAME, --domain DOMAIN | 配合 --ask:要在回答里找的品牌名,以及也算作你的其他域名。 |
子命令:diff BEFORE AFTER 比较两份保存的报告;watch … 运行第 3 级;mcp 启动 MCP 服务。geo-score --help 会列出全部用法和示例。
怎么比较两次运行?
每次运行最多抽 8 个页面,两次抽到的页面可能不同。想知道变的是网站还是样本,就重评同一批页面。
geo-score example.com --json-out before.json
# …… 上线改动 ……
geo-score example.com --baseline before.json # 同一批页面,逐项打印变化
geo-score diff before.json after.json --format md # 比较两份保存的报告
每一项都会列出前后分数和状态:上升、下降、不变、变得不可观测、变得可观测。变得不可观测的项是退出了分母,绝不显示成掉到 0 分。
退出码分别是什么意思?
| 退出码 | 含义(第 1 级) |
|---|---|
| 0 | 打分完成。 |
| 1 | 低于 --fail-under;或在 --fail-on-gate 下有门槛项得 0 分;或某条 --assert 不成立。 |
| 2 | 网站抓不到或只返回防爬虫验证页、用法错误、内部错误。加 --json 时会输出 JSON 错误,kind 写明原因,如 dns、timeout、http_403。 |
| 4 | --fail-on-drop 发现掉分,且没有别的原因先以 1 退出。 |
每一种失败原因在排错指南里都有一节,网站抓不到时命令行会直接给出链接。
在代理后面怎么跑?
命令行遵循 HTTPS_PROXY 和 NO_PROXY。NO_COLOR=1 关掉颜色,输出重定向到文件时也不带颜色。通过代理抓不到网站时,错误信息会写明请求经过的是哪个代理。
命令行会把哪几项移出分母?
命令行给静态抓取能如实观测的 17 项打分。另外 4 项不去猜,而是移出分母:第三方平台收录、独立第三方提及、高频问题覆盖需要站外检索或人工判断;中文引擎适配只在抽到的页面是中文、或域名以 .cn 结尾时才打分。Claude Code 技能会把 21 项全部打分。