检测项目一览 / 官方错误指纹
官方错误指纹检测
中转站检测:故意发一个非法请求或不存在的模型名,看返回的错误响应形状是否与官方固定格式一致。三种协议均适用,此类请求通常不计费。
测什么
故意发一个官方会拒绝的请求——Claude 是非法的 max_tokens(-1),OpenAI 和 Gemini 是请求一个不存在的模型名——检查返回的错误响应是不是官方固定的形状:Claude 要求顶层 type 是 error、内层 error.type/error.message 都是字符串;OpenAI 要求 error.message/error.type 都是字符串;Gemini 要求 error.code 是数字、error.message/error.status 是字符串。
为什么能判真假 / 来路
官方接口对非法参数或不存在的资源,有固定的 JSON 错误形状,字段名、类型都写在协议文档里。自建的协议转换网关往往拼不出这套形状;有些站甚至会用某个兜底模型顶替不存在的模型继续正常返回,而不是按官方协议报错——这两种情况都是协议实现不到位的信号。
结果怎么读
- 通过:错误响应的字段名和类型都符合官方固定形状。
- 存疑:两种情形:本该被拒绝的非法请求居然返回了成功(比如请求了不存在的模型却正常出结果,可能是这个站悄悄用了兜底模型顶替);或者确实报错了,但字段形状和官方协议不符。
- 未通过:这个探针不会给出「未通过」,只有通过/存疑/信息不足三档。
- 信息不足:网络层失败/超时无法判定;或撞上限流(429),限流响应不能用来判断错误指纹。
局限:它判不了什么
限流(429)会让这一项判「信息不足」而不是负面,因为限流响应的形状和真正的参数错误响应不是一回事。「非法请求却成功返回」这种存疑,提示的是「这个站可能有模型兜底/降级机制」,不是掉包实锤,需要结合模型名回显等其它项一起看。
自己怎么验
故意请求一个不存在的模型名,看错误响应的字段结构。
curl -s https://YOUR_RELAY_BASE_URL/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "content-type: application/json" \
-d '{"model":"zzc-no-such-model-000","messages":[{"role":"user","content":"hi"}]}'官方应该返回一个带 error 对象的 JSON,里面 message/type 都是字符串;如果这条请求返回了 200 成功(模型不存在却正常出结果),说明这个站在悄悄用别的模型顶替。
相关检测项
常见问题
错误指纹检测会花钱吗?
Claude 协议里这类非法参数请求官方通常不计费;OpenAI/Gemini 请求不存在的模型名也会在参数校验阶段就被拒绝,正常情况下不会产生实际生成内容的计费。
限流状态下测出来的结果可信吗?
不可信,本站会直接把这种情况标为「信息不足」而不是负面结论。撞上限流时错误响应的形状和真正的参数错误不是一回事,建议换时段重测。