用途:在将服务或智能体栈升级到 Opus 4.7 前,扫描仓库中会破坏或静默降级的模式,生成带 file:line 的分类报告,便于规划范围明确的迁移 PR。
主要能力:扫描五类模式。A 类(确定性)固定预算 Extended Thinking,如 budget_tokens= 字面量、thinking 字典中的 "budget_tokens" 键、.thinking.budget_tokens 属性引用;B 类(确定性)已退役模型 ID 别名,如 claude-opus-4-5、claude-sonnet-4-5、带日期格式别名及 claude-3-* 系列;C 类(确定性)配置文件外的硬编码 claude-* 引用;D 类(启发式)假设 Opus 4.6 冗长度的提示词;E 类(启发式)未显式声明并行的子智能体派发。
使用方式:执行 python3 scripts/scan.py /path/to/repo。可选参数:--categories A,B,C 仅运行确定性类别;--exclude 排除路径;--format json 输出机器可读结果;--exit-code 有发现时退出码 1。按类别分组并按严重度排序,A 类优先,其次 B、C,D、E 需人工审查。迁移动作参考 references/migration-map.md,建议按类别拆分小 PR,并补充测试与 CHANGELOG。
适用场景:升级前检查、平台推出 4.7 后 SDK 集成报错时、CI 或每周审计、发布下游包前。
限制:D、E 类为启发式,可能误报;仅静态匹配,不执行代码,未传入 SDK 的 budget_tokens 变量也会被标记;无法检测运行时动态模型选择;跨语言分析仅限 Python、TypeScript、JavaScript、YAML、TOML、Markdown。