跳轉到主要內容
schema 是一份 JSON 文件,描述如何與一個網站對話。它列出網站提供的每個端點和 action - URL、HTTP method、必要 headers、參數、以及回應格式。一旦某個網站有了 schema,任何 agent 都能直接查詢並呼叫端點,不需要重新探索。

schema 包含什麼

一個 Shopify 網站的 schema 可能包含: 每個端點都帶有參數、必要 headers(如 Content-Type: application/json)以及足夠讓 agent 構建有效 HTTP 請求的中介資料。

Schema 格式

Schema 是 JSON 文件。以下是最小範例:

必填欄位

選填欄位

能力徽章

registry 會把能力訊號以徽章形式呈現,讓 agent 知道請求需要什麼: 這些徽章會顯示在公開 schema 卡片上,讓 agent 在下載完整 schema 前就能判斷自己能否處理該網站。

貢獻 schema

任何有 API key 的人都可以推送 schema。共有三條路徑:

選項 1:使用 CLI 工具組探索

每個子指令都輸出 JSON,可直接交給下一步處理 - 不需要 LLM key。

選項 2:讓你的 agent 代勞

Claude Code、Codex、Cursor 以及其他支援 Vercel skills CLI 的 agent 會載入 hermai-contribute skill,並能自主執行探索與推送流程。詳見 hermai-ai/hermai-skills

選項 3:手動撰寫並推送

若你已經知道網站的 API(從 DevTools、文件或測試),可以自己撰寫 schema JSON 並透過 API 推送:
推送成功會回傳版本 hash 與網站:
若驗證失敗,會得到特定錯誤碼:
從最小開始。 你不需要一次對應每個端點 - 即便只有一個有用的端點,也是合格的貢獻。其他貢獻者可以後續推送涵蓋更廣的新版本。
Schema 會立即上線 - 沒有審核隊列。

驗證規則

每次推送都會經過驗證。任一檢查失敗即拒絕,並回傳對應錯誤碼。 結構檢查: 內容治理:

禁用欄位

以下 JSON key 若在 schema 的任何深度出現都會被拒絕:
能力訊號是被允許的。 差別在於:告訴 agent 網站需要什麼的中介資料(例如 requires_stealth: true)是可以的;描述如何繞過防禦的營運機密(例如 proxy_credentials: "user:pass@host")則不可。前者屬於 schema,後者屬於 CLI 執行環境。

內容定址

每份 schema 都會被雜湊(以排序 key 的正規 JSON 產生 SHA-256)。hash 即是版本 ID。對同一個網站重複推送相同內容等同無動作 - registry 會辨識為重複。

認證徽章

schema 預設為社群貢獻且未認證。Hermai 團隊會審核 schema 並授予認證徽章給達到品質標準的項目。 agent 可以只篩選已認證的 schema:
或全部都取(預設行為):
每個 API key 都在 dashboard 有一個 schema access 開關,控制該 key 在 catalog 回應中是否包含未認證的 schema。

Schema 版本

每次推送會產生新版本。registry 會為每個網站追蹤「最新」版本。查詢 catalog 時預設取得最新版。 可取得版本歷史:

公開卡片 vs 完整套件

registry 對每份 schema 提供兩種檢視: 公開卡片(不需 API key)- 描述 schema 做什麼的中介資料:
  • Site、分類、名稱、說明
  • 端點名稱、method、描述
  • 變數名稱與來源(path/query/body)
  • Query 參數 key 與是否必填
  • 回應欄位名稱與型別(僅頂層)
  • 能力徽章(需要瀏覽器、需要 session、需要驗證)
完整套件(需 API key + intent)- agent 執行所需的一切:
  • 完整 URL 模板
  • Headers 值
  • Body 模板
  • Session 設定
  • 變數模式與預設值
分流是刻意的:卡片回答「這有用嗎?」,套件回答「要怎麼執行?」

貢獻的 credits

每貢獻一個網站可獲得 +50 credits。Credits 會顯示在 dashboard 中,並可在支援 hosted execution 的地方使用。