From 574013e83919c783fccd2ebbfa9003d0d44a3866 Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Wed, 19 Nov 2025 16:43:52 +0100 Subject: [PATCH] chore: add support for kimi coding (#105) --- internal/providers/configs/kimi.json | 23 +++++++++++++++++++++++ internal/providers/providers.go | 8 ++++++++ pkg/catwalk/provider.go | 2 ++ 3 files changed, 33 insertions(+) create mode 100644 internal/providers/configs/kimi.json diff --git a/internal/providers/configs/kimi.json b/internal/providers/configs/kimi.json new file mode 100644 index 0000000000000000000000000000000000000000..8b311aa8263f65e0f863f63288c8eefcb0814b5e --- /dev/null +++ b/internal/providers/configs/kimi.json @@ -0,0 +1,23 @@ +{ + "name": "Kimi Coding", + "id": "kimi-coding", + "type": "anthropic", + "api_key": "$KIMI_CODING_API_KEY", + "api_endpoint": "https://api.kimi.com/coding", + "default_large_model_id": "kimi-for-coding", + "default_small_model_id": "kimi-for-coding", + "models": [ + { + "id": "kimi-for-coding", + "name": "Kimi for Coding", + "cost_per_1m_in": 0, + "cost_per_1m_out": 0, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 262144, + "default_max_tokens": 32768, + "can_reason": true, + "supports_attachments": true + } + ] +} diff --git a/internal/providers/providers.go b/internal/providers/providers.go index d22d9b2f79f65ac0fed9b4f652aa9b0742bb6270..8de34e539cb41df52f4c93810ead1052e7c81603 100644 --- a/internal/providers/providers.go +++ b/internal/providers/providers.go @@ -60,6 +60,9 @@ var huggingFaceConfig []byte //go:embed configs/aihubmix.json var aiHubMixConfig []byte +//go:embed configs/kimi.json +var kimiCodingConfig []byte + // ProviderFunc is a function that returns a Provider. type ProviderFunc func() catwalk.Provider @@ -81,6 +84,7 @@ var providerRegistry = []ProviderFunc{ huggingFaceProvider, aiHubMixProvider, syntheticProvider, + kimiCodingProvider, } // GetAll returns all registered providers. @@ -168,3 +172,7 @@ func huggingFaceProvider() catwalk.Provider { func aiHubMixProvider() catwalk.Provider { return loadProviderFromConfig(aiHubMixConfig) } + +func kimiCodingProvider() catwalk.Provider { + return loadProviderFromConfig(kimiCodingConfig) +} diff --git a/pkg/catwalk/provider.go b/pkg/catwalk/provider.go index beed6c3d47717834c3fa1479f896a1160d0182f5..2f803782a03d2ce7e437ab4131f83dcb806a1d18 100644 --- a/pkg/catwalk/provider.go +++ b/pkg/catwalk/provider.go @@ -36,6 +36,7 @@ const ( InferenceProviderChutes InferenceProvider = "chutes" InferenceProviderHuggingFace InferenceProvider = "huggingface" InferenceAIHubMix InferenceProvider = "aihubmix" + InferenceKimiCoding InferenceProvider = "kimi-coding" ) // Provider represents an AI provider configuration. @@ -97,6 +98,7 @@ func KnownProviders() []InferenceProvider { InferenceProviderChutes, InferenceProviderHuggingFace, InferenceAIHubMix, + InferenceKimiCoding, } }