M1/F2+F4: platform registry, Moonshot API-key channel, dynamic model sync
F2 — fixed three-platform registry in kigi-models: kimi-code (subscription, OAuth bearer, base kigi_env::coding_api_base_url()), moonshot-cn (https://api.moonshot.cn/v1), moonshot-ai (https://api.moonshot.ai/v1) with kimi-k model-prefix filtering. Moonshot API keys via KIGI_MOONSHOT_CN_API_KEY / KIGI_MOONSHOT_AI_API_KEY (+ KIGI_MOONSHOT_API_KEY shared fallback) or ~/.kigi/config.toml; values redacted from logs/display. F4 — model catalog now syncs from GET {base}/models (Bearer auth, wire shape per official kimi-cli: id/context_length/supports_reasoning/ supports_image_in/supports_video_in/display_name) with the official capability-derivation rules (thinking / always_thinking-in-name / kimi-k2 implicit set). Managed keys {platform_id}/{model_id}; default model = first list entry; default thinking iff capabilities contain thinking/always_thinking. Sync failure → last cache; no cache → built-in fallback table seeded from ids sourced in official kimi-cli (kimi-for-coding, kimi-k2-turbo-preview, kimi-k2-thinking-turbo). 401 during sync forces one token refresh and retries. Model resolution priority preserved: CLI > env > config > server > fallback. Grok model artifacts (grok-4*/grok-build catalog, tier gating remnants) removed from non-test code. All first-party endpoints re-verified live: device_authorization mints real codes; /models on all three platforms answers with real API auth errors when unauthenticated. Gates: check/clippy --all-targets 0/0, fmt clean, deny ok, kigi-shell lib 5136 green, kigi-tui lib 6819 green, kigi-models 8.
This commit is contained in:
@@ -1,18 +1,46 @@
|
||||
{
|
||||
"default": "grok-build",
|
||||
"web_search": "grok-4.20-multi-agent",
|
||||
"image_description": "grok-build",
|
||||
"session_summary": "grok-build",
|
||||
"default": "kimi-for-coding",
|
||||
"models": [
|
||||
{
|
||||
"model": "grok-build",
|
||||
"name": "Grok Build",
|
||||
"description": "Best for advanced coding tasks",
|
||||
"context_window": 500000,
|
||||
"temperature": 0.7,
|
||||
"top_p": 0.95,
|
||||
"api_backend": "responses",
|
||||
"id": "kimi-code/kimi-for-coding",
|
||||
"model": "kimi-for-coding",
|
||||
"name": "Kimi for Coding",
|
||||
"description": "Kimi Code subscription coding model (offline fallback entry)",
|
||||
"context_window": 262144,
|
||||
"capabilities": ["thinking", "image_in", "video_in"],
|
||||
"supported_in_api": false
|
||||
},
|
||||
{
|
||||
"id": "moonshot-cn/kimi-k2-turbo-preview",
|
||||
"model": "kimi-k2-turbo-preview",
|
||||
"name": "Kimi K2 Turbo (moonshot.cn)",
|
||||
"description": "Moonshot open platform model (offline fallback entry)",
|
||||
"context_window": 262144,
|
||||
"capabilities": ["thinking", "image_in", "video_in"]
|
||||
},
|
||||
{
|
||||
"id": "moonshot-cn/kimi-k2-thinking-turbo",
|
||||
"model": "kimi-k2-thinking-turbo",
|
||||
"name": "Kimi K2 Thinking Turbo (moonshot.cn)",
|
||||
"description": "Moonshot open platform model (offline fallback entry)",
|
||||
"context_window": 262144,
|
||||
"capabilities": ["thinking", "always_thinking", "image_in", "video_in"]
|
||||
},
|
||||
{
|
||||
"id": "moonshot-ai/kimi-k2-turbo-preview",
|
||||
"model": "kimi-k2-turbo-preview",
|
||||
"name": "Kimi K2 Turbo (moonshot.ai)",
|
||||
"description": "Moonshot open platform model (offline fallback entry)",
|
||||
"context_window": 262144,
|
||||
"capabilities": ["thinking", "image_in", "video_in"]
|
||||
},
|
||||
{
|
||||
"id": "moonshot-ai/kimi-k2-thinking-turbo",
|
||||
"model": "kimi-k2-thinking-turbo",
|
||||
"name": "Kimi K2 Thinking Turbo (moonshot.ai)",
|
||||
"description": "Moonshot open platform model (offline fallback entry)",
|
||||
"context_window": 262144,
|
||||
"capabilities": ["thinking", "always_thinking", "image_in", "video_in"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user