用途:Scout 为 Synthex 监控 AI 提供商生态,检测临近的模型退役、在模型错误时告警,并推荐回退模型,避免平台中断。
触发条件:模型调用返回 model_not_found、deprecated 或 invalid_model 错误;注册表中某模型退役日期在 14 天内;被要求检查模型是否临近生命周期结束;或构建硬编码模型名的功能时(应改用注册表)。
注册表:位于 .claude/provider-registry.json,需每次重新读取,不要依赖缓存的模型名知识。结构包含 version、lastUpdated、models(按 provider 分 fast/balanced/advanced 层及 retirements 退役日期)、scoutRules(triggerOnModelError、maxAgeDays、alertOnRetirement、retirementWindowDays、registryPath)和 tierAccess(free/professional/business/custom 可用的 provider 列表)。
退役检查流程:读取注册表;逐 provider 检查 retirements 对象并与当天日期比较;按紧急度分级——≤7 天为严重(阻止部署,立即更新),8–14 天为警告(PR 审查中标记并安排更新),15–30 天为提示(记录并规划迁移),>30 天无需操作;随后建议替换,优先同 provider 同层,其次跨 provider 同层,再次同 provider 降一层。
模型错误响应:读取注册表,找到出错模型,识别其层级,建议同 provider 同层模型;不可用时建议 openrouter 等价模型;确认永久替换后更新注册表及 lib/ai/providers/<provider>-provider.ts 的模型预设。
需更新的代码位置:.claude/provider-registry.json、lib/ai/providers/openrouter-provider.ts、anthropic-provider.ts、google-provider.ts、base-provider.ts(层级变化时)。不要在功能代码中硬编码模型 ID,应通过 getAIProvider() 抽象使用 ai.models.fast、ai.models.balanced 或 ai.models.premium。
BYOK:用户自带 API 密钥时,BYOK 路径不受影响,只需更新平台级 getAIProvider() 单例;并提醒检查 BYOK 校验端点 /api/onboarding/validate-key 是否仍接受旧模型 ID 作为测试目标。
自动化检查:运行 bash .claude/skills/scout/run.sh,输出彩色退役报告。建议在任何部署前(npm run release:check)、涉及 AI 代码的会话开始时、以及生产日志出现模型错误时运行。退出码 0 表示正常,1 表示有警告。
注册表更新步骤:更新 .claude/provider-registry.json 中受影响层级的模型 ID、移除或标记退役条目、更新 lastUpdated;更新对应 provider 文件;运行 npm run type-check 测试;用问题标识提交,例如 git commit -m "fix(ai): update <provider> <tier> model post-retirement"。
已知退役示例:google.gemini-3-pro-preview 于 2026-03-09 退役(截至 2026-03-01 处于 14 天窗口内),建议替换为 gemini-2.5-pro-preview-05-06(已在 google.balanced 中),更新目标为 google-provider.ts 的 advanced 预设。
限制:Scout 是只读架构指南,记录现有系统,不生成创意或代码输出;实际注册表状态以文件为准。