@@ -0,0 +1,38 @@
+{
+ "name": "Z.AI Coding",
+ "id": "zai-coding",
+ "api_key": "$ZAI_API_KEY",
+ "api_endpoint": "https://api.z.ai/api/coding/paas/v4",
+ "type": "openai",
+ "default_large_model_id": "glm-4.5",
+ "default_small_model_id": "glm-4.5-air",
+ "models": [
+ {
+ "id": "glm-4.5",
+ "name": "GLM-4.5",
+ "cost_per_1m_in": 0,
+ "cost_per_1m_out": 0,
+ "cost_per_1m_in_cached": 0,
+ "cost_per_1m_out_cached": 0,
+ "context_window": 131072,
+ "default_max_tokens": 98304,
+ "can_reason": true,
+ "has_reasoning_efforts": true,
+ "default_reasoning_effort": "medium",
+ "supports_attachments": false
+ },
+ {
+ "id": "glm-4.5-air",
+ "name": "GLM-4.5-Air",
+ "cost_per_1m_in": 0,
+ "cost_per_1m_out": 0,
+ "cost_per_1m_in_cached": 0,
+ "context_window": 131072,
+ "default_max_tokens": 98304,
+ "can_reason": true,
+ "has_reasoning_efforts": true,
+ "default_reasoning_effort": "medium",
+ "supports_attachments": false
+ }
+ ]
+}
@@ -33,6 +33,9 @@ var xAIConfig []byte
//go:embed configs/zai.json
var zAIConfig []byte
+//go:embed configs/zai-coding.json
+var zAICodingConfig []byte
+
//go:embed configs/bedrock.json
var bedrockConfig []byte
@@ -73,6 +76,7 @@ var providerRegistry = []ProviderFunc{
veniceProvider,
chutesProvider,
deepSeekProvider,
+ zAICodingProvider,
}
// GetAll returns all registered providers.
@@ -125,6 +129,10 @@ func zAIProvider() catwalk.Provider {
return loadProviderFromConfig(zAIConfig)
}
+func zAICodingProvider() catwalk.Provider {
+ return loadProviderFromConfig(zAICodingConfig)
+}
+
func openRouterProvider() catwalk.Provider {
return loadProviderFromConfig(openRouterConfig)
}
@@ -26,6 +26,7 @@ const (
InferenceProviderVertexAI InferenceProvider = "vertexai"
InferenceProviderXAI InferenceProvider = "xai"
InferenceProviderZAI InferenceProvider = "zai"
+ InferenceProviderZAICoding InferenceProvider = "zai-coding"
InferenceProviderGROQ InferenceProvider = "groq"
InferenceProviderOpenRouter InferenceProvider = "openrouter"
InferenceProviderLambda InferenceProvider = "lambda"
@@ -74,6 +75,7 @@ func KnownProviders() []InferenceProvider {
InferenceProviderVertexAI,
InferenceProviderXAI,
InferenceProviderZAI,
+ InferenceProviderZAICoding,
InferenceProviderGROQ,
InferenceProviderOpenRouter,
InferenceProviderLambda,