免费工具 · 本地运行

验证中转站返回的是不是官方原文

把一条带证明的 API 响应粘贴到下面的验证器里:它在你的浏览器里完成验签,告诉你这条响应来自哪个官方上游域名、有没有被中转改过。数据不会离开你的电脑。

  • 数据只在本地,不上传
  • 验证器开源,可自行审计
  • 免费,无需注册

三步验证一条响应

  1. 1

    为 API Key 打开验证

    在 API 页面为 Key 打开「官方直连验证」开关。只有原样转发的 Claude Messages 与 GPT Responses 响应会带证明。

  2. 2

    保存完整响应

    发一个流式请求,把响应原样存下来,末尾应能看到 event: tee.proof。非流式请求加请求头 x-wokey-tee-proof-mode: multipart,保存整个 multipart 响应。

  3. 3

    粘贴到验证器

    把整段响应粘贴或拖进下面的验证器,点开始验证。验证在本页的浏览器里完成,不发任何网络请求。

保存完整响应
curl -sN https://api.wokey.ai/v1/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":256,"stream":true,"messages":[{"role":"user","content":"Hello"}]}' \
  -o captured-response
Proof-of-Observation 浏览器验证器

上面的验证器由开源仓库直接通过 GitHub Pages 发布,不经过 Wokey 的服务器。Wokey 没办法换给你一个「永远说通过」的验证器;你也可以把页面另存到本地,断网打开。

验证器会让你核对 PCR0,也就是 Enclave 镜像的度量值。请以开源仓库公布、任何人都能自行复现构建的值为准,不要用响应里自带的值。

验证结果怎么读

全部通过
attestation 链到 AWS Nitro 根证书,PCR0 等于公布值,签名有效,响应字节与签名里的哈希一致。结果里显示的上游域名(例如 api.anthropic.com)就是这条响应的来源,中转没有改过它。
证明有效,但缺响应正文
你只粘贴了 tee.proof 那一段。能确认证明是真 Enclave 签的,但没法重算正文哈希,也就证明不了你看到的内容没被改过。把整段响应一起粘贴。
PCR0 不一致
attestation 是真的,但 Enclave 跑的不是审计过的镜像。这条响应不能当作已证明。
验签或哈希失败
证明或响应被改过,或者复制时丢了字节。重新保存原始响应再试;仍失败就不要信任这条响应。
没有 tee.proof
这条响应未经证明,例如 Key 没开验证、接口做了格式转换,或 Enclave 当时不可用。按未证明处理。

其他中转站怎么测:每种方法能测出什么、测不出什么

没有上游签名的中转,只能做间接检查。这些检查能发现明显的问题,但结论最多是「没发现可疑之处」,不能是「确认是官方」。下面是常见方法和它们的边界。

Token 计数怎么做:用同一段固定提示词,分别在官方 API 和中转上请求同一个模型,对比 usage 里的 input_tokens。能发现:换成了其他厂商的模型:不同厂商的分词器不同,数字会明显对不上。测不出:同一家的不同模型常用同一套分词器,换成同家更便宜的型号测不出来;还需要一个官方参照值。
提示词缓存怎么做:把一段超过模型最小缓存长度的相同前缀连发两次,看第二次是否返回 cache_read_input_tokens,账单是否按缓存读取价计费。能发现:后端不是官方上游,或者中转没有正确转发缓存、却按全价收费。测不出:缓存命中只说明后端支持缓存,不说明是哪个模型。
长上下文怎么做:发一段接近标称上下文上限的长文本,在中间藏一句关键信息,最后提问。能发现:用上下文更小的模型冒充,或者中转偷偷截断了历史消息。测不出:答对不代表模型型号正确;这项测试的 token 成本也最高。
协议细节怎么做:核对流式事件顺序(message_start 到 message_stop)、消息 id 格式、响应头和错误格式是否与官方文档一致。能发现:粗糙的套壳,例如把别家模型的输出硬包成 Claude 格式。测不出:这些字段都很容易伪造,用心的套壳能做到一模一样。

不要依赖的方法

  • 问模型「你是谁」「你的知识截止到哪天」:官方模型自己也常答错,中转也能用系统提示让任何模型说自己是 Claude。
  • 凭感觉判断回答质量或速度:受提示词、负载和随机性影响太大,只能作参考。

为什么这里没有「一键检测任意中转站」

  • 要检测就得用你在那家中转的 API Key 发请求。经过我们的服务器转发,等于把别家的 Key 交给我们,我们不想碰。
  • 直接在浏览器里请求,大多数中转站不允许跨域调用,浏览器会拦下。
  • 上面这些检查本来就只能给出「可疑」或「没发现问题」。把它包装成一个分数,看起来权威,实际会误导。

中转站自查清单

选中转之前,或者怀疑现在用的中转有问题时,按这个顺序检查:

  • 响应里有没有能离线验证的上游证明;有的话,证明里的上游域名是不是官方域名,例如 Claude 是 api.anthropic.com。
  • 用固定提示词对比官方 API 的 input_tokens,数字是否一致。
  • 重复长前缀后,是否返回缓存读取字段,账单是否按缓存价计费。
  • 接近标称上限的长上下文能否正常处理,没有被截断。
  • 中转有没有公开说明上游来源,以及是否记录、保存请求内容。
  • 没法验证的中转,不要发送密钥、客户数据等敏感内容。

证明能说明什么,不能说明什么

能说明

  • 这条响应来自哪个官方上游域名。
  • 响应字节与上游返回的一致,中转没有改动,包括其中的 model 字段。
  • Enclave 跑的是公开源码构建出来的镜像(PCR0 可复现)。

不能说明

  • 机密性:中转转发时仍会经手明文。
  • 没带证明的响应,例如做过格式转换的接口、图片生成。
  • 逐字节相同的请求之间,分不出旧响应被重放。
证明机制的完整说明

常见问题

粘贴的响应会上传吗?

不会。验证器是一个纯前端页面,用浏览器自带的 WebCrypto 验签,不发网络请求。你可以打开浏览器开发者工具的网络面板确认,也可以把验证器另存到本地断网使用。

AI 中转站违法吗?

取决于你和中转站所在地区的法律,以及上游服务商的使用条款,各地、各家的规定不同,本页不构成法律意见。使用前建议看一下上游条款和所在地的规定,涉及敏感或受监管的数据时尤其如此。这个工具只回答一个可以用技术验证的问题:你收到的响应是不是官方上游的原文。

什么是「降智」?怎么判断中转有没有降智?

「降智」通常指通过中转用到的模型比官方的笨,常见原因有:偷偷换成更便宜的模型、截断对话历史、调低输出长度或关掉思考。带证明的响应可以排除第一种:签名覆盖上游返回的原始字节,其中的 model 字段来自官方。截断历史、改参数属于请求侧,响应证明不覆盖,可以用上面的长上下文和 Token 计数检查辅助判断。

Claude 镜像站和官网有什么区别?

官网是 claude.ai 和官方 API;镜像站是第三方做的聊天网页,背后可能接官方 API、共享账号,也可能是别家模型,功能和隐私政策各不相同,用户一般无从确认。如果你是在 Claude Code、Cursor 这类工具里用 API,关心的是 API 中转,判断方法相同:看它能不能给出可以独立验证的上游证明。

响应里没有 tee.proof 怎么办?

先确认 Key 已打开「官方直连验证」,并且用的是 Claude Messages 或 GPT Responses 原样转发接口;用 Chat Completions 调 Claude 这类格式转换的请求不带证明。Enclave 暂时不可用时请求会降级,这次响应也没有证明。没有证明的响应一律按未证明处理。

能用这个工具验证其他中转站吗?

验证器只能验证带 Proof-of-Observation 证明的响应。协议是开源的,任何中转都可以实现;没有实现的中转,只能用上面的间接方法检查,结论最多是「没发现可疑之处」。