Files
1jehuang--jcode/docs/provider-model-catalog-audit.md
wehub-resource-sync a789495a98
FreeBSD Smoke / FreeBSD Smoke (x86_64) (push) Has been cancelled
CI / Quality Guardrails (push) Has been cancelled
CI / Build & Test (macos-latest) (push) Has been cancelled
CI / Build & Test (ubuntu-latest) (push) Has been cancelled
CI / Build & Test (windows-latest) (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / PowerShell Syntax (push) Has been cancelled
CI / Windows Cross-Target Check (Linux) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:34 +08:00

5.9 KiB

OpenAI-compatible provider /models audit

Scope: built-in OpenAiCompatibleProfile entries in crates/jcode-provider-metadata/src/lib.rs.

Legend:

  • verified data[]: docs show or explicitly reference OpenAI-compatible GET /models shape { object: "list", data: [...] }, or the provider says it implements the OpenAI Models API.
  • verified top-level array: docs show a top-level model array.
  • supported endpoint, shape not shown: docs say /models exists or OpenAI compatibility includes it, but do not show the response body.
  • catalog/static only: docs point to a static catalog/models page, not a live /models endpoint.
  • unknown: could not find provider docs proving /models.

Audited providers

Provider Evidence Expected parser support Notes
OpenCode Zen OpenCode docs and models.dev catalog static/bootstrap, endpoint unverified OpenCode itself uses models.dev. /models on Zen not independently verified.
OpenCode Go OpenCode docs and models.dev catalog static/bootstrap, endpoint unverified Same as Zen.
Z.AI Search did not find /models; provider docs URL 404 from current metadata path unknown Need direct current docs URL or live key-backed test.
Kimi Code Kimi third-party-agent docs found, OpenAI Compatible config only unknown No /models response shape found.
302.AI Official docs contain Models(列出模型)GET page likely OpenAI-compatible data[] Dedicated list-models page exists. Response body in fetched text was truncated before example.
Baseten Official docs say public OpenAI-compatible endpoint https://inference.baseten.co/v1 supported endpoint, shape not shown No dedicated /models response found.
Cortecs Official docs overview only plus OpenCode provider entry catalog/static only No /models endpoint docs found.
DeepSeek Official GET /models docs show { object, data[] } verified data[] Covered by parser.
Comtegra Official docs list supported /v1/models linking OpenAI Models API supported endpoint, shape OpenAI Covered by parser.
FPT AI Marketplace Official docs show chat/completions through LiteLLM/OpenAI, no models endpoint unknown/no evidence Live /models may fail.
Firmware/FrogBot OpenCode provider docs only catalog/static only No direct provider API docs found.
Hugging Face General Inference Providers docs, OpenAI-compatible API supported endpoint, shape not shown No dedicated /models page verified.
Moonshot AI Search/current URL did not expose /models docs unknown Kimi API search hints model list endpoint, but no official Moonshot page fetched.
Nebius Quickstart docs OpenAI-compatible endpoint supported endpoint, shape not shown Dedicated /models page not verified.
Scaleway Official “Using Models API” docs found supported endpoint, shape likely OpenAI Covered by parser if OpenAI shape.
STACKIT Official integration docs say OpenAI-compatible API and model picker fetches /models supported endpoint, shape not shown Covered if OpenAI shape.
Groq API reference has Models/List models verified data[] Covered.
Mistral API reference has Models/List Available Models verified data[] style Covered.
Perplexity API docs fetch/search did not find list-models endpoint unknown May not support /models; static docs list models.
Together AI Official GET /models docs show top-level array verified top-level array Parser was fixed for this.
DeepInfra Official OpenAI-compatible docs point to static model catalog, no /models page found catalog/static only Live /models unverified.
Fireworks Official list-models docs found for account model API { models: [...] }; OpenAI compat endpoint also exists verified models[] variant for account API Parser supports models[] and name. Need live base endpoint shape still unverified.
MiniMax Official text generation docs show OpenAI-compatible base and static supported-models table catalog/static only No /models endpoint found.
xAI API reference includes Models section verified data[] likely Covered.
LM Studio Official OpenAI compatibility docs list GET /v1/models supported endpoint, shape not shown OpenAI local server expected data[].
Ollama Official OpenAI compatibility blog/docs cover chat; /v1/models docs not found in fetched page unknown Need raw docs/source or live local test.
Chutes Live user response showed { object:"list", data:[...] } with numeric pricing verified data[] plus numeric pricing Parser fixed and stale default removed.
Cerebras Official GET /v1/models docs show { object, data[] } verified data[] Covered.
Alibaba Coding Plan Official docs show OpenAI-compatible base URL but warn Coding Plan is for coding tools only; no /models docs unknown/no evidence Static default likely needed; live /models may fail.
Generic openai-compatible User-supplied endpoint parser contract We support {data[]}, top-level array, {models[]}, id/name identifiers.

Parser coverage after f291f0e

Supported response forms:

  • { "data": [{ "id": "..." }] }
  • top-level [{ "id": "..." }]
  • { "models": [{ "id" or "name": "..." }] }
  • numeric or string pricing fields
  • context fields: context_length, contextLength, max_context_length, maxModelLength, max_model_len, trainingContextLength

Gaps identified

No additional parser shape is proven necessary yet. The remaining issue is provider capability/profile accuracy:

  • Some providers are OpenAI-compatible for chat but do not document live GET /models.
  • For those, live catalog refresh should remain best-effort and must gracefully fall back to static catalog.
  • Long-term, OpenAiCompatibleProfile should probably carry a model_catalog capability/strategy so providers known not to support /models do not emit noisy refresh failures.