Uh oh!
There was an error while loading. Please reload this page.
docs: provider-key schema + adapter-aware config rewrites + openai-compat guide (#302 Phase H remainder) - #440
Conversation
…mpat guide (#302 Phase H remainder) Completes the remaining Phase H doc items, grounded in origin/main crates (every field/validation verified against source): NEW: - reference/runtime-config-schema.md — complete ProviderKey JSON schema: top-level fields (display_name/secret/api_base/provider/adapter/ telemetry_tags/request/response/strip_headers), the closed adapter enum, telemetry_tags + request/response override sub-objects, with validation rules and minimal/full examples. - integration/upstream-openai-compat.md — onboard a public OpenAI-compatible vendor (DeepSeek/Groq/Mistral/Together/Fireworks/ Perplexity) via the openai adapter; self-hosted vs Cloud; verification; distinguished from byo-endpoint.md (private endpoints) and openai-compatible-api.md (client-facing surface). REWRITES (surgical — preserve existing accurate prose): - configuration/provider-keys.md — add provider/adapter/telemetry_tags to Current Fields + the create curl; add bedrock + azure-openai rows to the api_base table (adapter-keyed); backlink the schema + adapter + upstream guides. Existing api_base behavior table + tolerance rules preserved verbatim. - configuration/models.md — FIX the stale claim that `provider` is a 6-value enum (openai/anthropic/google/deepseek/cohere/jina); it is a free-form string matching ^[a-z0-9][a-z0-9._-]*$ (≤64). Add model_name-is-upstream-id vs display_name-is-alias semantics. - reference/provider-compatibility.md — reframe "Current Provider Enum" around the 5 adapter families + a coverage matrix + per-family limitations (Vertex non-Gemini not implemented; Bedrock /invoke vs Converse; Azure dual-auth) + featured/non-featured note. Existing compatibility-boundary + reading-guide sections preserved. - index.md — add a "connect an upstream provider" nav block + 2 reference entries. Additive. Verified against: provider_key.rs (fields/telemetry_tags/strip_headers/ reasoning_field), model.rs + schema.rs (Adapter enum, provider pattern), dispatch.rs (two-tier), aisix-admin/lib.rs (routes), config.example.yaml (ports). External vendor hosts carry a "confirm against the vendor's current API reference" caveat (not gateway behavior). Also resolves the 3 stale-existing-doc items flagged during #438 review.
Warning Review limit reached
More reviews will be available in 7 minutes and 26 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis PR adds and refines comprehensive documentation for provider key configuration, adapter protocol families, and upstream vendor integration. It introduces a complete JSON schema reference for the ChangesProvider Configuration and Adapter Integration Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Note 🎁 Summarized by CodeRabbit FreeYour organization has reached its limit of developer seats under the Pro Plan. For new users, CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please add seats to your subscription by visiting https://app.coderabbit.ai/login.If you believe this is a mistake and have available seats, please assign one to the pull request author through the subscription management page using the link above. Comment |
…er gating Audit (no HIGH/MEDIUM) flagged two precision nuances; both fixed: - runtime-config-schema.md: the "overrides are an on-disk shape, not applied at request time" caveat was wrong for the self-hosted path. Verified the `openai` + `azure-openai` bridges DO apply request (param_renames/param_constraints/default_headers/default_body_fields) and response (stream_done_marker/content_list_to_string/reasoning_field) overrides at dispatch via prepare_outbound_body + extract_reasoning_field (overrides.rs; bridge.rs:677-737). bedrock/vertex build native shapes and don't apply them. What's unshipped is the Cloud control-plane block that auto-populates them — so Cloud keys are empty, but a self-hosted operator setting them directly gets them applied. Reworded accordingly. - provider-compatibility.md: the image/audio/responses/embeddings gate keys on the literal `provider: "openai"`, not the whole `openai` adapter family (responses.rs:171). Added a note that an OpenAI-compatible vendor (e.g. DeepSeek on the openai adapter) works on /v1/chat/completions but is rejected on /v1/responses, images, and audio.
moonming
commented
May 29, 2026
Independent doc-accuracy audit: clean — no HIGH, no MEDIUM. A fresh cold-read agent verified all 7 files against Two LOW precision nuances were raised and both fixed in 12ffb02:
Merging on green CI. |
Uh oh!
There was an error while loading. Please reload this page.
Summary
Completes the remaining Phase H doc items (the #438 subset covered the adapter concept + BYO + 3 platform integration guides). Every claim grounded in
origin/maincrates.New:
reference/runtime-config-schema.md— completeProviderKeyJSON schema: all top-level fields, the closedadapterenum,telemetry_tags+request/responseoverrides, validation rules, examples.integration/upstream-openai-compat.md— onboard a public OpenAI-compatible vendor (DeepSeek/Groq/Mistral/…) via theopenaiadapter; self-hosted vs Cloud; distinguished from byo-endpoint.md + openai-compatible-api.md.Rewrites (surgical):
configuration/provider-keys.md— addprovider/adapter/telemetry_tagsfields + curl +bedrock/azure-openaiapi_base rows + backlinks. Existing api_base table preserved.configuration/models.md— fix staleprovider6-value-enum claim (it's free-form^[a-z0-9][a-z0-9._-]*$, ≤64); addmodel_name-is-upstream-id semantics.reference/provider-compatibility.md— reframe "Current Provider Enum" → 5 adapter families + coverage matrix + per-family limitations + featured note.index.md— "connect an upstream provider" nav block + 2 reference entries.Verified against source
provider_key.rs(fields incl.telemetry_tags{kind,featured,branded_provider,pk_label,byo_label},strip_headersdefault,reasoning_field),model.rs+schema.rs(Adapter enum,Model.providerpattern),dispatch.rs(two-tier),aisix-admin/lib.rs(routes),config.example.yaml(ports :3001/:3000). External vendor hosts carry a "confirm against the vendor's current API reference" caveat.Closes the 3 stale-doc items flagged in #438
provider-keys missing
adapter; models.md stale provider enum; provider-compatibility pre-adapter framing — all fixed here.🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
display_name,model_name,provider)