Skip to content

Commit 2421534

Browse files
zai coding provider (#63)
* zai coding provider * chore: change to openai endpoint
1 parent 6429fe8 commit 2421534

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"name": "Z.AI Coding",
3+
"id": "zai-coding",
4+
"api_key": "$ZAI_API_KEY",
5+
"api_endpoint": "https://api.z.ai/api/coding/paas/v4",
6+
"type": "openai",
7+
"default_large_model_id": "glm-4.5",
8+
"default_small_model_id": "glm-4.5-air",
9+
"models": [
10+
{
11+
"id": "glm-4.5",
12+
"name": "GLM-4.5",
13+
"cost_per_1m_in": 0,
14+
"cost_per_1m_out": 0,
15+
"cost_per_1m_in_cached": 0,
16+
"cost_per_1m_out_cached": 0,
17+
"context_window": 131072,
18+
"default_max_tokens": 98304,
19+
"can_reason": true,
20+
"has_reasoning_efforts": true,
21+
"default_reasoning_effort": "medium",
22+
"supports_attachments": false
23+
},
24+
{
25+
"id": "glm-4.5-air",
26+
"name": "GLM-4.5-Air",
27+
"cost_per_1m_in": 0,
28+
"cost_per_1m_out": 0,
29+
"cost_per_1m_in_cached": 0,
30+
"context_window": 131072,
31+
"default_max_tokens": 98304,
32+
"can_reason": true,
33+
"has_reasoning_efforts": true,
34+
"default_reasoning_effort": "medium",
35+
"supports_attachments": false
36+
}
37+
]
38+
}

internal/providers/providers.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ var xAIConfig []byte
3333
//go:embed configs/zai.json
3434
var zAIConfig []byte
3535

36+
//go:embed configs/zai-coding.json
37+
var zAICodingConfig []byte
38+
3639
//go:embed configs/bedrock.json
3740
var bedrockConfig []byte
3841

@@ -73,6 +76,7 @@ var providerRegistry = []ProviderFunc{
7376
veniceProvider,
7477
chutesProvider,
7578
deepSeekProvider,
79+
zAICodingProvider,
7680
}
7781

7882
// GetAll returns all registered providers.
@@ -125,6 +129,10 @@ func zAIProvider() catwalk.Provider {
125129
return loadProviderFromConfig(zAIConfig)
126130
}
127131

132+
func zAICodingProvider() catwalk.Provider {
133+
return loadProviderFromConfig(zAICodingConfig)
134+
}
135+
128136
func openRouterProvider() catwalk.Provider {
129137
return loadProviderFromConfig(openRouterConfig)
130138
}

pkg/catwalk/provider.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const (
2626
InferenceProviderVertexAI InferenceProvider = "vertexai"
2727
InferenceProviderXAI InferenceProvider = "xai"
2828
InferenceProviderZAI InferenceProvider = "zai"
29+
InferenceProviderZAICoding InferenceProvider = "zai-coding"
2930
InferenceProviderGROQ InferenceProvider = "groq"
3031
InferenceProviderOpenRouter InferenceProvider = "openrouter"
3132
InferenceProviderLambda InferenceProvider = "lambda"
@@ -74,6 +75,7 @@ func KnownProviders() []InferenceProvider {
7475
InferenceProviderVertexAI,
7576
InferenceProviderXAI,
7677
InferenceProviderZAI,
78+
InferenceProviderZAICoding,
7779
InferenceProviderGROQ,
7880
InferenceProviderOpenRouter,
7981
InferenceProviderLambda,

0 commit comments

Comments
 (0)