schemafit icon

schemafit

schemafit 是一款本地優先的 CLI,可檢查 JSON Schema、結構化輸出規格與工具定義,對照主流 LLM 供應商限制進行 lint,幫助團隊在 CI 中提前攔截供應商特定的 schema 問題。

schemafit

概覽

schemafit 是一款本地優先的 CLI,用於檢查結構化輸出、JSON Schema 與工具定義的 payload,對照主流 LLM 供應商的限制面進行驗證。此頁將其定位為一種在供應商特定 schema 失敗到達 production 前先行攔截的方法。

它不會等到 API 400 才發現問題;schemafit 會標示每個違規項目的精確 JSON Pointer 路徑、關鍵字與原因,然後以非零狀態碼結束,讓 CI 能夠讓變更失敗。它也提供盡力而為的修復流程、供應商列表指令,以及可選的 live-verify 模式,用來檢查靜態規則包是否已與目前的供應商文件發生 drift。

功能

靜態 schema linting

根據供應商特定的限制面檢查 schema,並回報精確的 JSON Pointer 路徑、違反的關鍵字與原因。

版本化規則包

將供應商規則編碼為宣告式、具版本的規則包,讓檢查可被審查,並且依據已文件化的限制,而非臨時邏輯。

CI 強制執行與 SARIF 輸出

以非零退出碼失敗,並可輸出 SARIF,讓違規能中斷 CI,且在 GitHub code scanning 中顯示。

本地優先、離線運作

可離線執行,不需要 API 金鑰、不進行模型呼叫,且沒有執行階段相依性,因此容易納入供應與稽核。

schema 修復流程

包含修復指令,可透過移除或重寫有問題的關鍵字,輸出一個盡力而為、符合供應商規則的版本。

供應商清單與 drift 偵測

提供 providers 指令,以及可選的 live-verify 模式,用來將靜態規則包與供應商文件比對並偵測 drift。

使用情境

  • 合併前的 schema 驗證

    在建置流程中使用 schemafit,攔截在目標供應商上會回傳 400 的 schema,讓 pull request 在錯誤 schema 釋出前就失敗。

  • 多供應商 schema 維護

    當你要支援多家 LLM 供應商時,針對一組 schema 執行 lint,提早找出供應商特定的關鍵字衝突。

  • 盡力而為的 schema 修復

    當某個 schema 需要為特定 API 面調整時,使用修復指令產生一個符合供應商規則的變體。

  • 程式碼掃描工作流程

    當你希望 schema 違規出現在 GitHub code scanning 或 Security 分頁時,產生 SARIF 輸出。

  • 離線驗證

    在網路受限的環境中,從全新 clone 的專案執行 demo 或 lint 指令,因為核心流程是離線且無需金鑰。

Pros and Cons

Pros

  • 可在本機執行,不需要 API 金鑰、模型呼叫或執行階段相依性。
  • 從同一個 schema linting 工作流程即可對應多個主要供應商。
  • 會顯示精確的失敗路徑、關鍵字與原因,讓除錯更直接。
  • 可在不良 schema 到達 production 前讓 CI 失敗。
  • 提供供應商清單與 drift 偵測。

Cons

  • 來源未提供完整的支援矩陣、安裝矩陣,或超出 CLI 靜態與離線特性的平台限制。
  • 修復流程被描述為盡力而為,因此不保證能為每個 schema 產生完整或語意上完美的修正。

FAQ

schemafit 是做什麼的?

它是一款本地優先的 CLI,會根據 OpenAI、Anthropic、Gemini、Mistral 和 Cohere 的公開限制規範來檢查 schema。來源說明中也提到它提供 lint、修復、列出支援供應商,以及執行密封式 demo 的指令。

schemafit 需要 API 金鑰或模型呼叫嗎?

來源說明它是靜態且離線運作,不需要 API 金鑰,也沒有執行階段相依性。它可以從全新 clone 的專案中執行,或在單次 pip install 之後執行。

schemafit 可以用在 CI 嗎?

可以。產品描述指出 lint 會以非零退出碼結束,因此 CI 可以在 schema 到達 production 前讓建置失敗。它也提到可輸出 SARIF,用於 GitHub code scanning 和 Security 分頁。

schemafit 支援哪些供應商?

頁面明確列出 OpenAI、Anthropic、Gemini、Mistral 和 Cohere 為支援的供應商。頁面也說供應商規則包是有版本控管的,且以文件化限制為基礎。

schemafit 只會回報問題,還是也能修復 schema?

頁面說修復流程可以透過刪除或重寫有問題的關鍵字,輸出一個盡力而為、符合供應商規則的 schema 變體,同時盡量保留原意。它也提到 v0.5 有可選的 live-verify 模式,用於偵測 drift。

Quick Facts

類別
開發者工具
產品類型
CLI
授權
MIT
運作方式
靜態、離線
支援的供應商
OpenAI, Anthropic, Gemini, Mistral, Cohere
來源網域
danmercede.com