From 2b6437a3d7c6f1e0f58a7746ed27d0dcfc7c6fb6 Mon Sep 17 00:00:00 2001 From: Kunal Das Date: Mon, 2 Nov 2026 09:40:37 +0000 Subject: [PATCH] fix(ci): register kimchi in provider doc + add-model dropdown registries code-quality failed on check_provider_folders_documented because every openai_like provider needs an entry in provider_endpoints_support.json, and proxy-endpoints failed on the Add Model dropdown drift test that requires a provider_create_fields.json entry instead of growing the frozen unlisted set. Adds both entries with chat completions only, matching what the Kimchi gateway exposes today. --- .../provider_create_fields.json | 35 +++++++++++++++++-- provider_endpoints_support.json | 18 ++++++++++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/litellm/proxy/public_endpoints/provider_create_fields.json b/litellm/proxy/public_endpoints/provider_create_fields.json index 044b8a1de6e..8b4d8ab71d4 100644 --- a/litellm/proxy/public_endpoints/provider_create_fields.json +++ b/litellm/proxy/public_endpoints/provider_create_fields.json @@ -488,7 +488,7 @@ "key": "api_base", "label": "Upstream API Base", "placeholder": "https://api.anthropic.com", - "tooltip": "Optional. Where the proxy forwards requests upstream. Leave blank to use Anthropic's public API. Set this only for private Anthropic deployments or reverse proxies. Do NOT set this to your LiteLLM proxy URL — that causes a recursive loop.", + "tooltip": "Optional. Where the proxy forwards requests upstream. Leave blank to use Anthropic's public API. Set this only for private Anthropic deployments or reverse proxies. Do NOT set this to your LiteLLM proxy URL \u2014 that causes a recursive loop.", "required": false, "field_type": "text", "options": null, @@ -2455,7 +2455,10 @@ "tooltip": "jwt_bearer_obo: on-behalf-of with the JWT bearer grant (Microsoft Entra). rfc8693: standard OAuth 2.0 token exchange.", "required": false, "field_type": "select", - "options": ["jwt_bearer_obo", "rfc8693"], + "options": [ + "jwt_bearer_obo", + "rfc8693" + ], "default_value": "jwt_bearer_obo" }, { @@ -4424,5 +4427,33 @@ } ], "default_model_placeholder": "bigmodel/glm-5.3" + }, + { + "provider": "Kimchi", + "provider_display_name": "Kimchi", + "litellm_provider": "kimchi", + "credential_fields": [ + { + "key": "api_key", + "label": "Kimchi API Key", + "placeholder": null, + "tooltip": null, + "required": true, + "field_type": "password", + "options": null, + "default_value": null + }, + { + "key": "api_base", + "label": "API Base", + "placeholder": "https://llm.kimchi.dev/openai/v1", + "tooltip": null, + "required": false, + "field_type": "text", + "options": null, + "default_value": null + } + ], + "default_model_placeholder": "kimchi/kimi-k3" } ] diff --git a/provider_endpoints_support.json b/provider_endpoints_support.json index 700a35edb06..816d0b9f622 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -2657,6 +2657,24 @@ "generateContent": false } }, + "kimchi": { + "display_name": "Kimchi (`kimchi`)", + "url": "https://docs.litellm.ai/docs/providers/kimchi", + "endpoints": { + "chat_completions": true, + "messages": false, + "responses": false, + "embeddings": false, + "image_generations": false, + "audio_transcriptions": false, + "audio_speech": false, + "moderations": false, + "batches": false, + "rerank": false, + "a2a": false, + "interactions": false + } + }, "morph": { "display_name": "Morph (`morph`)", "url": "https://docs.litellm.ai/docs/providers/morph",