FAQ
检测原理、评分规则、隐私与成本
基础
›什么是 AI API 中转站?
第三方搭建的转发服务:你把请求发给它,它转发给 Anthropic / OpenAI / Google 官方再把结果返回。常见理由是国内直连、批发价更便宜、一个 key 用多家模型。风险是它可以在中间改任何东西——换更便宜的模型、剥掉高级能力、注入自己的 system prompt、虚报用量。
›中转站常见的作假手段?
① 用便宜模型冒充贵模型(Sonnet 冒充 Opus,甚至用国产模型冒充 GPT);② 走 OpenAI 兼容层再转成 Claude 协议,导致 thinking、PDF、预填充、stop_sequences 这些 Claude 原生能力丢失;③ 用逆向渠道(Kiro、Amazon Q、Copilot 等)而非官方 API,签名缺失、随时被封;④ 注入隐藏指令引导模型推广或改变行为;⑤ 把 200k 上下文截断成 32k;⑥ 虚报 input_tokens 多扣费。
›问模型「你是谁」能判断真伪吗?
不能。任何现代模型都能被 system prompt 教会自称 Claude。要看模型自己无法控制的东西:服务端签名、协议字段形状、logprobs、usage 明细这些由 API 层生成的指纹。
›报告显示「无效」是什么意思?是站有问题吗?
不是。「无效」表示第一步协议探测就没拿到 200,后面的项目根本没跑,所以不计分、不进排行。绝大多数是填错了:模型名在该站叫别的(比如站里是 openai/gpt-5.6-luna 而你填 gpt-5.6)、base_url 少了路径前缀、协议选错、key 无效或欠费、分组里没这个模型。报错原文和该站可用的相近模型名都在报告里,照着改一下重测通常就过了。
›base_url 该怎么填?提示「接口路径不存在」怎么办?
填到 /v1 之前那一级,例如 https://api.example.com(本站会自动去掉多余的 /v1、/chat/completions)。只填根域名时会自动探测 api. 子域。但有的站把不同厂商挂在不同子路径下(如 https://example.com/claude、/openai、/grok),这种必须把前缀填上,否则打到的是不存在的路径,报告会提示「接口路径不存在」而不是「模型不存在」——去站点后台的接入说明里找该模型的地址即可。
Claude 检测
›thinking signature 是什么,为什么不能伪造?
Claude 开启 extended thinking 后,每个 thinking 块带一个由 Anthropic 服务端签发的 signature(几百到两千字符的 base64)。多轮对话回传时官方会验证这个签名,篡改任何一个字符都会被 400 拒绝。中转站没有 Anthropic 的私钥,无法生成合法签名;如果它把篡改后的签名也放行,说明上游根本没做校验——不是官方。本站标准模式会做「原样回传 + 篡改回传」两次验证,这一项占 25% 权重。
›「预填充」检测是什么?
Claude 支持在 messages 末尾放一条 assistant 消息让模型续写,这是 Claude 独有特性。经 OpenAI 兼容层转换的中转站通常会把它当成普通历史消息,模型会重新输出完整内容而不是续写。注意:Claude 5 代(Opus 5 / Sonnet 5 / Fable 5)官方已移除预填充,这一项会自动跳过不计分。
›Claude 5 代模型检测有什么不同?
三处:① 不再接受 thinking.type=enabled,改用 adaptive + output_config.effort,模型自行决定是否思考,所以签名探针用一道必须推理的题来逼出 thinking 块;② 官方移除了 assistant 预填充,该项跳过;③ 标准 API 拒绝 temperature 参数。此外 Fable 5.1 官方拒绝强制 tool_choice,工具项会退回 auto 再测。引擎对这些都会自动适配,报告里会注明。
›「号池改写对话历史」是什么意思?
很多 Claude 中转站用多个订阅账号组成号池轮换。账号 A 签发的 thinking 签名回传到账号 B 会被官方拒绝,所以号池必须在转发前剥掉或替换历史里的 thinking 块——结果就是我们把篡改后的签名回传它也照样 200。这种站首轮签名是官方形态(上游大概率是真官方账号),但签名验证链在中转站断了,报告判为「存在风险」而非「伪造」。逆向渠道则是签名形态本身就不对(不以 E 开头、长度不足)。
›「模拟 Claude Code 客户端」是什么?什么时候勾?
越来越多中转站把真官方号池放进「仅限 Claude Code 调用」的分组,普通 API 请求会被拒(报错含「请使用标准 Claude Code 客户端」)。勾选后我们会以 Claude Code CLI 的方式发请求:claude-cli User-Agent、x-app: cli、anthropic-beta 里的 claude-code 标记、SDK 指纹头、以「You are Claude Code…」开头的 system 块和 metadata.user_id。检测逻辑不变,只是 token 基线和隐藏指令探针会扣除我们自己带的这句前缀。不需要时不要勾——它会让报告里多一句你没写的 system prompt。
›Prompt Caching 探针测什么?为什么重要?
连发两次带 cache_control 的长 system prompt:第一次官方会返回 cache_creation_input_tokens,第二次返回 cache_read_input_tokens。中转站如果剥掉了 cache_control,或在多个上游之间轮询导致缓存对不上,两次都会按全价计费——Claude Code 这类长会话场景的真实花费会高出数倍。这一项目前只有本站在测。OpenAI 侧对应检测 prompt_tokens_details.cached_tokens。
›「stop_sequences 未生效」说明什么?
中转站在转发时对请求体做了字段白名单,不认识的参数被丢掉。这类站通常也会改写 usage、剥离 thinking 历史,属于「非原样透传」的信号之一。
›为什么 input_tokens 能看出注入?
「Reply with exactly: OK」这句话官方计费约 12 个 token。如果返回 80+,说明中转站在你看不到的地方塞了一段 system prompt,而且这段还在按你的钱计费。
OpenAI / Gemini 检测
›怎么发现「Claude 换皮 GPT」?
看 usage:Chat Completions 官方返回 prompt_tokens / completion_tokens 及 *_details 明细;如果混入带值的 cache_creation_input_tokens、claude_* 之类的 Anthropic 字段,就是协议转换残留(注意 Responses API 官方本来就叫 input_tokens / output_tokens,那不算)。另外官方 GPT 支持 logprobs,Claude 后端给不出来;strict json_schema 输出若被 ```json 包裹也是转换层的典型症状。
›推理模型为什么检测项不一样?
o 系列 / GPT-5 / GPT-6 不接受 temperature、max_tokens,改用 max_completion_tokens 和 reasoning_effort;同时官方必返回 completion_tokens_details.reasoning_tokens(Responses API 里是 output_tokens_details.reasoning_tokens),缺失即可疑。推理题答对但计量为 0 只记「存疑」,因为有的档位模型会直接作答,也可能是网关没透传计量。
›只支持 Responses API 的模型怎么测?为什么以前很多项「跳过」?
gpt-5.6-sol、codex 系等模型官方已不支持 /v1/chat/completions,只能走 /v1/responses。早期版本只给协议、身份、用量、推理四项做了 Responses 版本,其余七项一律跳过,分数很虚。现在流式、Function Calling、Structured Output、隐藏指令探测、Prompt Caching、长上下文都有 Responses 版本,Responses-only 模型也能跑满(只有 logprobs 因推理模型本就不支持而跳过)。另外还多了一项检查:发一段约 3000 token 的 instructions(相当于 system prompt),看上游计到的 input_tokens 是否对得上——有的站会把 instructions 整个丢掉,你的系统提示词在它那里根本不生效。
›「模拟 Codex 客户端」是什么?什么时候勾?
有些站把 OpenAI 号池放进「仅限官方 Codex 客户端」的分组,普通请求会被 401/403 拒绝。勾选后我们会先用普通 Chat Completions 试一次——放行就按完整项目检测,不勾也一样;被拒才复刻真实 Codex CLI 的请求(指纹头 + 完整 instructions + 内置工具,走 Responses API)。注意 Codex 指纹自带约 12k token 的指令,每个请求都算你的用量,而且隐藏指令探测在这种模式下无法进行(问出来的是我们自己带的指令)。
›Grok 中转站的 token 用量为什么偏高?
实测多家中转的 Grok 4.x 对一句话提示都计了 190–640 个 prompt tokens,且各代长度固定(4.3≈197、4.5≈357、4.6≈426),这是 xAI 官方内置系统提示计入了用量,不是中转站注入。用量项现在用「同模型在其他站的中位数」做尺子:大家都高是模型自带,只有本站明显高出去才判注入。
›Gemini 为什么走 OpenAI 兼容路径?
绝大多数中转站只暴露 OpenAI 兼容协议,Gemini 原生 /v1beta/models 路径几乎没人转。本站会先试 /v1beta/openai,404 再试 /v1。
评分与排行
›分数怎么算?
每个检测项 0–100 分,乘以权重求加权平均(跳过项不计)。≥70 通过、50–69 存在风险、<50 未达标;出现任一「严重」失败(无 thinking 签名、协议转换残留、身份错误、注入等)时结论封顶为「存在风险」,无论总分多高。
›排行榜为什么用贝叶斯加权?
为了防止刷单次高分。排名分 = (Σ分数 + 50×5) / (次数 + 5):一次 100 分只有 58.3,十次 99 分才 82.7。样本少于 2 次的域名不参与正式排名,标注「单次样本」沉底。展示给你看的是中位分,更直观。
›同一个中转站为什么不同模型 / 不同次的分数差很多?
常见原因:① 站点按令牌分组走不同渠道(比如 Kiro 逆向池、仅限 Claude Code 的号池、标准 API 池),同一域名下分数天差地别;② 多账号轮询,每次落到不同上游;③ 官方侧的安全分类器偶发拒答。所以站点页同时给出中位分、标准差、结论一致率和各检测项的历史通过率——看波动比看单次分数更重要。
›模型名为什么和我填的不一样?
中转站的模型命名五花八门(claude-haiku-4-5-20251001、claude-sonnet-4.5、grok-4.20-0309-reasoning…)。为了不把同一个模型拆成十个页面,全站按规则归一到主模型名:去掉日期快照、-latest/-thinking/-preview、推理开关等后缀,版本号规范化(4.20→4.2)。报告里保留你填的原始名,鼠标悬停可见。
›报告结果不准怎么办?
每份报告底部有 👍 / 👎;点 👎 可以选原因并留言,检测失败的报告有「反馈问题」按钮,报错原文会自动附上。我们会对照证据排查,误判会修正引擎并重跑。
›收录 / 认证会影响分数吗?
不会。检测分完全由自动探针决定,每份报告都附完整证据(原始字段、状态码、回复原文)可以逐项复核;认证收录只影响目录里的展示信息(名称、官网链接、简介),以及在同分情况下排前面。
隐私与成本
›我的 API key 安全吗?
key 只在检测进程的内存里存在,检测结束即释放;数据库只保存脱敏后的形式(如 sk-ab••••••cd)。仍然建议你专门建一个低额度的测试 key,测完就删——这是对任何第三方工具都应有的习惯。
›检测要花多少钱?
token 由你的 key 承担。快速模式约 2k token;标准模式含 32k 长上下文约 50k token;完整模式含 100k/200k 约 350k token(Opus 官方价约 $5,中转站按其倍率折算)。勾「模拟 Codex 客户端」且被迫走 Codex 路径时,每个请求会多带约 12k token 的 Codex 指令,标准模式大约翻两倍。本站不收费。
›站长授权的监控 key 怎么保存?
AES-256-GCM 加密后入库,只用于每 10 分钟一次、max_tokens=5 的存活探测,单模型每天约 150 次极小请求。建议给一个限额的专用 key。