feat: add Kilo Code (kilocode) as first-class inference provider (#1666)

Add Kilo Gateway (kilo.ai) as an API-key provider with OpenAI-compatible
endpoint at https://api.kilo.ai/api/gateway. Supports 500+ models from
Anthropic, OpenAI, Google, xAI, Mistral, MiniMax via a single API key.

- Register kilocode in PROVIDER_REGISTRY with aliases (kilo, kilo-code,
  kilo-gateway) and KILOCODE_API_KEY / KILOCODE_BASE_URL env vars
- Add to model catalog, CLI provider menu, setup wizard, doctor checks
- Add google/gemini-3-flash-preview as default aux model
- 12 new tests covering registration, aliases, credential resolution,
  runtime config
- Documentation updates (env vars, config, fallback providers)
- Fix setup test index shift from provider insertion

Inspired by PR #1473 by @amanning3390.

Co-authored-by: amanning3390 <amanning3390@users.noreply.github.com>
This commit is contained in:
Teknium 2026-03-17 02:40:34 -07:00 committed by GitHub
parent 6c6d12033f
commit 35d948b6e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 131 additions and 14 deletions

View file

@ -139,6 +139,13 @@ _PROVIDER_MODELS: dict[str, list[str]] = {
"google/gemini-2.5-flash",
"deepseek/deepseek-v3.2",
],
"kilocode": [
"anthropic/claude-opus-4.6",
"anthropic/claude-sonnet-4.6",
"openai/gpt-5.4",
"google/gemini-3-pro-preview",
"google/gemini-3-flash-preview",
],
}
_PROVIDER_LABELS = {
@ -154,6 +161,7 @@ _PROVIDER_LABELS = {
"opencode-zen": "OpenCode Zen",
"opencode-go": "OpenCode Go",
"ai-gateway": "AI Gateway",
"kilocode": "Kilo Code",
"custom": "Custom endpoint",
}
@ -176,6 +184,9 @@ _PROVIDER_ALIASES = {
"aigateway": "ai-gateway",
"vercel": "ai-gateway",
"vercel-ai-gateway": "ai-gateway",
"kilo": "kilocode",
"kilo-code": "kilocode",
"kilo-gateway": "kilocode",
}
@ -209,7 +220,7 @@ def list_available_providers() -> list[dict[str, str]]:
# Canonical providers in display order
_PROVIDER_ORDER = [
"openrouter", "nous", "openai-codex",
"zai", "kimi-coding", "minimax", "minimax-cn", "anthropic",
"zai", "kimi-coding", "minimax", "minimax-cn", "kilocode", "anthropic",
"opencode-zen", "opencode-go",
"ai-gateway", "deepseek", "custom",
]