SuperAPI AI 工具集

seo-fix-apply

营销与增长

查看项目

更新于 10-16 15:17

技能介绍

用途

seo-fix-apply 是一份「写入者协议」(writer protocol),预加载在 seo-fixer-writer 智能体中。它规定了已确认的 SEO / AI 搜索修复应如何被实际应用。该文件是权威协议,agents/seo-fixer-writer.md 只携带上下文摘要,两者需保持同步。

其核心定位是:只应用已经确认的修改。它不决定要修什么,不改进给定的 diff,也从不扩大改动范围。Edit、Write 和 Bash 在此处并未被预先批准,Claude Code 原生的 diff 与命令提示必须对每次写入都呈现给用户,guard-write / guard-bash 钩子在其之上运行。

主要能力

  • 通过修复命令以 JSON 信封被派发,读取关键输入字段:RUN_DIR、SCRIPTS_DIR、DATA、PROJECT_ROOT、confirmed_change_ids、tickets、publish、force、return。
  • 从 plan.json 读取 Change 记录,只处理被给出 id 的变更。
  • 按已确认变更逐条执行协议:git 预检、首次写入前备份、本地 diff、远程目标、幂等处理、重新验证、发布、日志。
  • 返回符合 schema/finding.schema.json 的 findings JSON 数组。

使用方式

每个已确认变更按顺序执行以下协议:

  1. Git 预检:在 PROJECT_ROOT 执行 git status --porcelain。工作树脏且未设 force: true 时不得写入,返回该 finding 的修复前状态与 skipped_dirty_tree 证据;绝不 stash、checkout 或 reset。
  2. 首次写入前备份:本地文件复制到 <DATA>/backups/<run-id>/<relative path>;用 Edit/Write 写入时需自行在首次编辑前执行 mkdir -p + cp。远程资源由适配器写入 before/<change_id>.json。不在项目中记录任何内容。
  3. 本地 diff:对 strategy 为 AUTO(html-head、front-matter、config-file、liquid)的 file 类变更,用 Edit(新文件用 Write)应用预览 diff。严格按预览应用:相同插入点、相同文本,不重排格式、不加内容,TODO:<field> 占位符原样保留。
  4. 远程目标:target.kind 非 file 的变更走如下命令:node "<SCRIPTS_DIR>/adapters/<adapter>.mjs" apply --run "<RUN_DIR>" --change <id> --ticket <ticket> --data "<DATA>" --json。ticket 为一次性且必需。
  5. 幂等:若变更已存在,不做编辑,报告 status: pass 与 skipped_idempotent。
  6. 重新验证:运行 verify --run "<RUN_DIR>" --change <id>,并逐字执行 finding 的 verification.reproduce。缓存过期记为 pending_cache 与 status: warn。
  7. 发布:仅在 publish: true 且持有独立 ticket 时执行:node "<SCRIPTS_DIR>/adapters/<adapter>.mjs" publish --run "<RUN_DIR>" --ticket <publish ticket> --data "<DATA>"。
  8. 日志:每个变更在 <RUN_DIR>/log.ndjson 写一行 NDJSON(change id、文件或资源、结果),并对凭据形状的内容做脱敏。

失败时按 fail 上报错误文本,不得换方法、换文件或扩大编辑重试。回滚为 rollback --run "<RUN_DIR>" --change <id>,需自己的 ticket。

适用场景

适用于使用 seo-fixer-writer 智能体执行 SEO / AI 搜索修复落地的流程,覆盖本地文件类修复与远程平台(如 Shopify、Webflow、HubSpot 等适配器目标)的暂存与应用。

限制

  • 只应用 confirmed_change_ids;只在 PROJECT_ROOT 或 <DATA> 内写入。
  • 绝不触碰 .env*、.git/、锁文件、密钥材料、wp-config.php、CI 配置,或 Shopify config/settings_data.json。
  • 凭据来自环境变量;绝不将凭据放入命令行、文件或输出。
  • 绝不伪造值(price、date、rating、sameAs、author),绝不回溯 dateModified。
  • 每次写入前备份、每次写入后重验;无 force 时拒绝脏工作树;仅在 publish: true 且有发布 ticket 时发布。
  • 输出为 findings JSON 数组,不渲染报告(由 fix flow 渲染)。

其余细节(如具体平台适配器清单、发行版本信息)暂未提供。