免費工具 · 本機執行

驗證 relay 回傳的是不是官方原文

把一則帶有證明的 API 回應貼到下方的驗證器:它會在你的瀏覽器裡驗證簽章,告訴你這則回應來自哪個官方上游網域,以及 relay 有沒有改動過它。資料不會離開你的電腦。

  • 資料只留在瀏覽器
  • 開源驗證器
  • 免費,免註冊

三步驟驗證一則回應

  1. 1

    為 API 金鑰開啟驗證

    在 API 頁面為該金鑰開啟「官方驗證」。只有原樣轉發的 Claude Messages 與 GPT Responses 回應會帶有證明。

  2. 2

    儲存完整回應

    送出串流請求,用 curl -o 把回應的位元組原樣寫入檔案,結尾應該會看到 event: tee.proof。非串流請求請加上請求標頭 x-wokey-tee-proof-mode: multipart,並儲存整個 multipart 回應。在 Windows 上請使用 curl.exe -o,不要用 PowerShell 的 > 重新導向或用記事本另存,它們會改動換行字元或編碼。

  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)就是這則回應的來源,relay 沒有改動過它。
證明有效,但缺少回應內文
你只貼上了 tee.proof 事件。可以確認證明是由真正的 Enclave 簽署,但少了內文就無法重新計算雜湊,也就無法證明你看到的內容未被改動。請貼上完整回應。
PCR0 不一致
attestation 是真的,但 Enclave 執行的不是經過稽核的映像。請將這則回應視為未經證明。
簽章或雜湊驗證失敗
證明或回應被改動過,或是在儲存、複製時位元組被更改(例如編碼轉換)。請用 curl -o 重新儲存原始回應再試;仍然失敗就不要信任這則回應。若儲存工具把換行改成 CRLF,或把檔案存成 UTF-16,驗證器會自動轉回並提示;是否通過仍以簽章雜湊為準。
沒有 tee.proof
這則回應未經證明:可能是金鑰沒有開啟驗證、請求經過格式轉換,或當時 Enclave 無法使用。請視為未經證明。

如何檢查其他 relay:每種方法能測出什麼、測不出什麼

沒有上游簽章時,只能做間接檢查。這些檢查能找出明顯的問題,但最好的結果也只是「沒發現可疑之處」,絕不會是「確認為官方」。以下是常見方法與它們的限制。

Token 計數做法: 用同一段固定提示詞,分別向官方 API 和 relay 上的同一個模型送出請求,比較 usage 中的 input_tokens。能發現: 換成其他廠商的模型:不同廠商的分詞器不同,數字會明顯對不上。測不出: 同一家廠商的模型常共用分詞器,換成同系列更便宜的型號測不出來;你還需要一個官方參考值。
提示詞快取做法: 把超過模型最小快取長度的相同前綴連送兩次,確認第二次回應是否回報 cache_read_input_tokens,並以快取讀取價計費。能發現: 後端不是官方上游,或 relay 破壞了快取卻仍收取全價。測不出: 快取命中只代表後端支援快取,不代表是哪個模型。
長上下文做法: 送出接近標稱上下文上限的長文字,在中間藏一則關鍵資訊,最後針對它提問。能發現: 用上下文較小的模型冒充,或 relay 偷偷截斷歷史訊息。測不出: 答對不代表模型版本正確,而且這項檢查的 token 成本最高。
協定細節做法: 將串流事件順序(message_start 到 message_stop)、訊息 id 格式、標頭與錯誤格式和官方文件比對。能發現: 粗糙的套殼,例如把其他模型的輸出硬包成 Claude 格式。測不出: 這些欄位都很容易偽造,用心的套殼可以做到完全一致。

不要依賴的方法

  • 問模型「你是誰」或「你的知識截止日期是什麼時候」:官方模型自己也常答錯,relay 也能用系統提示詞讓任何模型自稱 Claude。
  • 憑感覺判斷回答品質或速度:受提示詞、負載和隨機性影響太大,只能當作參考。

為什麼這裡沒有「一鍵檢測任意 relay」

  • 檢測必須用你在那家 relay 的 API 金鑰送出請求。經由我們的伺服器轉發,等於把別家服務的金鑰交給我們,我們不想保管。
  • 直接從瀏覽器呼叫 relay 會失敗,因為大多數 relay 不允許跨來源請求。
  • 上述檢查只能給出「可疑」或「沒發現問題」。把它們包裝成分數,看起來很權威,實際上會誤導。

Relay 自我檢查清單

在選擇 relay 之前,或懷疑目前使用的 relay 有問題時,請依這個順序檢查:

  • 回應是否帶有可離線驗證的上游證明?若有,簽章中的上游網域是否為官方網域,例如 Claude 是 api.anthropic.com?
  • 固定提示詞的 input_tokens 是否與官方 API 一致?
  • 重複送出長前綴後,回應是否回報快取讀取,並以快取價計費?
  • 接近標稱上限的上下文能否正常處理而不被截斷?
  • relay 是否公開說明上游來源,以及是否記錄或保存請求內容?
  • 無法驗證的 relay,不要傳送金鑰、客戶資料等敏感內容。

證明能說明什麼、不能說明什麼

能說明

  • 這則回應來自哪個官方上游網域。
  • 回應位元組與上游回傳的完全相同,包括 model 欄位;relay 沒有改動任何內容。
  • Enclave 執行的是由公開原始碼建置的映像(PCR0 可重現)。

不能說明

  • 機密性:relay 轉發時仍會經手明文。
  • 沒有證明的回應,例如經過格式轉換的請求和圖片生成。
  • 逐位元組相同的請求之間,無法分辨舊回應被重放。
證明機制的完整說明

常見問題

貼上的回應會被上傳到任何地方嗎?

不會。驗證器是純前端頁面,使用瀏覽器內建的 WebCrypto 驗證簽章,不會送出網路請求。你可以在瀏覽器開發者工具的網路面板確認,也可以把驗證器另存到本機離線使用。

AI API relay 合法嗎?

取決於你和 relay 所在地區的法律,以及上游服務商的使用條款,各地區、各服務商的規定不同;本頁不構成法律意見。使用前請先閱讀上游條款與當地規定,涉及敏感或受監管的資料時尤其如此。這個工具只回答一個可以用技術驗證的問題:你收到的回應是不是官方上游的原文。

怎麼判斷 relay 提供的模型有沒有「降智」?

透過 relay 使用時覺得模型變笨,通常是以下原因之一:偷偷換成更便宜的模型、截斷對話歷史、調低輸出上限,或關閉思考。帶有證明的回應可以排除第一種:簽章涵蓋上游的原始位元組,所以 model 欄位來自官方 API。截斷與參數修改發生在請求端,回應證明不涵蓋;這部分可借助上方的長上下文與 Token 計數檢查。

Claude 鏡像站和官方網站有什麼不同?

官方產品是 claude.ai 與 Anthropic API。鏡像站是第三方架設的聊天網頁,背後可能使用官方 API、共用帳號或其他廠商的模型,功能與隱私權政策各不相同,使用者通常無從分辨。如果你是在 Claude Code、Cursor 這類工具中使用 API,關心的就是 API relay,判斷方法相同:它能不能提供你可以自行驗證的上游證明?

回應中沒有 tee.proof 怎麼辦?

請確認金鑰已開啟「官方驗證」,而且呼叫的是原樣轉發路由,即 Claude Messages 或 GPT Responses。經過格式轉換的請求(例如透過 Chat Completions 呼叫 Claude)一律不帶證明。Enclave 暫時無法使用時,請求會降級,該次回應也不會有證明。任何沒有證明的回應都請視為未經證明。

可以用這個工具驗證其他 relay 嗎?

驗證器只能檢查帶有 Proof-of-Observation 證明的回應。協定是開源的,任何 relay 都可以實作;尚未實作的 relay 只能使用上方的間接檢查,最好的結果也只是「沒發現可疑之處」。