From 0dbec08923ceddd208c59a3e83c2881bd8073141 Mon Sep 17 00:00:00 2001 From: justsisyphus Date: Fri, 30 Jan 2026 16:15:40 +0900 Subject: [PATCH] feat(cli): add kimi-for-coding provider to model fallback - Add kimiForCoding field to ProviderAvailability interface - Add kimi-for-coding provider mapping in isProviderAvailable - Include kimi-for-coding in Sisyphus fallback chain for non-max plan Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- src/cli/model-fallback.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cli/model-fallback.ts b/src/cli/model-fallback.ts index 4d29f0fc..458abbd0 100644 --- a/src/cli/model-fallback.ts +++ b/src/cli/model-fallback.ts @@ -14,6 +14,7 @@ interface ProviderAvailability { opencodeZen: boolean copilot: boolean zai: boolean + kimiForCoding: boolean isMaxPlan: boolean } @@ -49,6 +50,7 @@ function toProviderAvailability(config: InstallConfig): ProviderAvailability { opencodeZen: config.hasOpencodeZen, copilot: config.hasCopilot, zai: config.hasZaiCodingPlan, + kimiForCoding: config.hasKimiForCoding, isMaxPlan: config.isMax20, } } @@ -61,6 +63,7 @@ function isProviderAvailable(provider: string, avail: ProviderAvailability): boo "github-copilot": avail.copilot, opencode: avail.opencodeZen, "zai-coding-plan": avail.zai, + "kimi-for-coding": avail.kimiForCoding, } return mapping[provider] ?? false } @@ -102,6 +105,8 @@ function getSisyphusFallbackChain(isMaxPlan: boolean): FallbackEntry[] { // For non-max plan, use sonnet instead of opus return [ { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }, + { providers: ["kimi-for-coding"], model: "k2p5" }, + { providers: ["opencode"], model: "kimi-k2.5-free" }, { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "high" }, { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro" }, ] @@ -115,7 +120,8 @@ export function generateModelConfig(config: InstallConfig): GeneratedOmoConfig { avail.native.gemini || avail.opencodeZen || avail.copilot || - avail.zai + avail.zai || + avail.kimiForCoding if (!hasAnyProvider) { return {