SuperAPI AI 工具集

seo-platform-detect

营销与增长

查看项目

更新于 10-15 22:11

技能介绍

用途:为被审计站点构建 SiteProfile,决定哪些平台条件检查触发、哪些发现因平台自身负责而标记为 not_applicable,以及修复适配器应走哪条路径。每次审计运行一次,在快照之后、分发之前执行。它与 seo-vertical-detect 正交:后者判断站点类型,本技能判断站点基于什么构建,两者共同写入 profile.json。

主要能力:输出包含 version、target、platform、framework、cms_plugins[]、hosting、environment、capabilities、write_targets[]、candidates、vertical_hints[]、cards[]、sources、notes[]。platform、framework、cms_plugins[]、hosting 各自带置信度(high ≥ 8 且 ≥ 2 种信号,medium ≥ 5,low ≥ 2)及产生它的信号;证据不足的层为 null,未解析平台是结果而非缺口,应如实报告为 unresolved,不得在文字中把 low 拔高。四层独立评分,因此 WordPress 后端加 Next.js 前端会得到 platform: wordpress 与 framework: nextjs,capabilities.head_owner 变为 framework;卡片冲突时以 head_owner 为准。

使用方式:常规 /audit 与 /geo 流程中无需手动运行,audit.mjs 已对首页快照调用同一 detect() 并持久化为 <run_dir>/profile.json,先读该文件。仅在需要无头流程无法使用的信号时直接运行脚本: node "${CLAUDE_PLUGIN_ROOT}/scripts/detect-platform.mjs" --snapshot "<run_dir>/pages/<home-slug>.json" 可选标志:--path <project> 用于仓库/包信号(唯一途径,否则 Payload 不可检测、Next.js 路由检测回退到 DOM 标记,并开启 capabilities.local_files);--probe 用于 WordPress 插件判定,请求 /wp-json/、/.well-known/ucp、/products.json 和 /wp-sitemap.xml 四个 GET;--out "<run_dir>/profile.platform.json" 持久化输出。离线/夹具模式:--html <file> [--headers <json>] [--cookies <json>] [--probes <json>] [--url <u>]。退出码:0 正常,1 调用错误或输入不可读,2 抓取失败。

合并与分发:profile.json 是本技能与 seo-vertical-detect 输出的并集,由 audit.mjs 写入,刷新 detect() 拥有的键并保留你添加的键(--vertical 标志可覆盖)。vertical_hints[] 作为信号传给 seo-vertical-detect,而非结论。environment.kind 传给 score.mjs(--environment preview|staging|local),在非生产主机上抑制 noindex 类严重度 5 上限并报告为预期。profile.cards[] 列出 references/platforms/<id>.md 路径,应放入每个分发信封的 platform_cards,并附 platform 字段(profile.json 绝对路径)与一行摘要,同时原样给出两条指令:规则匹配时发出卡片 §10 检查 id;卡片 §4 项 ⇒ not_applicable 并在 evidence.observed 中指明归属,绝不静默通过,也绝不为平台不允许更改之事判失败。平台卡、框架卡与插件卡应一起分发。capabilities.instructions_only 为 true 时,需告知智能体所有修复将以点击路径交付,fix_preview 必须是人类可读文字而非 diff。

限制与诚实性:write_targets 的 needs 列出凭据键名,仅检查 CLAUDE_PLUGIN_OPTION_<KEY> / <KEY> 是否存在,值从不读取、打印或记录;ready: false 表示未配置,而非密钥错误。Cookie 名是证据,Cookie 值从不记录。无 --path 则无仓库信号,无 --probe 则无探测信号,notes[] 会说明,报告中应重复此点,不得把不完整档案当作完整。卡片 §12 中标记 UNVERIFIED 的信号可支持检测结论,但绝不能支持写入;修复依赖未验证 API 细节时,答案为 needs_api。