SchemaFit
开源免费,PyPI 直接 pip install,零运行时依赖
这是什么
你写的 JSON Schema / tool definition 在 OpenAI 上好好的,一换 Anthropic 或 Gemini 就直接 400——还只告诉你失败,不说哪条约束炸了。团队只能手改、试错、上线后才发现。SchemaFit 把这件事前置:用各家文档里的约束做成版本化规则包,在本地/CI 静态 lint 你的 schema,精确指出 JSON-Pointer 路径、关键字和原因,失败就非零退出拦 PR;还能 best-effort 修一版能过的 schema。全程不调模型、不需 API Key、零运行时依赖。
能打的地方
- 多提供商静态规则包:覆盖 OpenAI、Anthropic、Gemini、Mistral、Cohere,把 nested oneOf、缺 additionalProperties:false、default、minLength/format/pattern、anyOf 等已知坑编码成可审查的声明式规则,直接对你现有的原始 schema 检查。
- 精确报错 + CI 可执行:输出违规路径、关键字、原因,exit code 非零让 PR 挂掉;支持 SARIF 喂给 GitHub code-scanning。
- 自动 repair:剥离或改写违规关键字,尽量保留意图,吐出 provider-valid 变体。
- 零依赖、可离线、可审计:pip install 即用,demo 命令端到端可复现,无网络、无密钥,方便 vendoring 进构建流水线。
- 规则漂移检测(v0.5):可选 --live-verify 对照真实提供商,防止规则包落后于 API 变化。
适合谁 · 谁不用碰
适合:同时对接多家 LLM、大量用 structured output / function calling / tool schema 的后端与 AI 应用团队;已经把 schema 当代码管、想在 CI 拦兼容性坑的人。
不用碰:只用单一提供商且 schema 很简单的人;纯运行时动态修 schema 就够、不在乎构建期拦截的人;非开发者。
上手门槛
本地 CLI,核心完全离线,大陆用户直接 pip install schemafit 即可,无需梯子、无需账号、无需 Key。命令面清晰(lint / repair / providers / demo),对会写 JSON Schema 的开发者几乎零学习成本。界面与文档目前为英文。免费开源。
和同类怎么选
SchemaFit 定位是构建期静态 lint,和 Instructor / BAML / LiteLLM / Vercel AI SDK 这类运行时客户端是互补而非替代——后者擅长调用时归一化/修复,前者在 schema 进提供商前就让 CI 失败。
| 维度 | SchemaFit | Instructor / LiteLLM 等 |
|---|---|---|
| 核心定位 | 静态 CI lint + repair | 运行时客户端 / 调用时修复 |
| 价格模式 | 开源免费 | 多为开源免费 |
| 易用性 | 纯 CLI,进 CI 直接用 | 库/SDK,嵌进代码 |
| 大陆可用性 | 本地离线,无障碍 | 同本地库,无障碍 |
具体以各家官网为准。
值不值得试
多模型 structured-output 团队直接装:十分钟就能把“上线才 400”变成“PR 就挂”,值得立刻放进流水线。单提供商或 schema 极简的可以先观望。
适合谁:多 LLM 提供商 structured-output / tool schema 的静态 CI 校验与自动修复,适合发多模型应用的开发团队
同类替代