@halilertekin/claude-code-router-config 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +1 -1
- package/NPM_README.md +14 -7
- package/README.md +3 -3
- package/SETUP.md +165 -0
- package/cli/ccc.zsh +32 -11
- package/package.json +4 -2
- package/quick-setup.sh +55 -0
package/.env.example
CHANGED
package/NPM_README.md
CHANGED
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
Multi-provider configuration for Claude Code Router with intelligent intent-based routing.
|
|
7
7
|
|
|
8
|
+
## v2.2.0 - GLM-5 Support
|
|
9
|
+
|
|
10
|
+
Now supports **GLM-5** with two endpoint options:
|
|
11
|
+
|
|
12
|
+
| Alias | Endpoint | Use Case |
|
|
13
|
+
|-------|----------|----------|
|
|
14
|
+
| `glm` | z.ai Coding Plan | Subscription-based coding |
|
|
15
|
+
| `glmapi` | z.ai API Credits | Pay-per-use with credits |
|
|
16
|
+
|
|
8
17
|
## Quick Install
|
|
9
18
|
|
|
10
19
|
```bash
|
|
@@ -31,11 +40,8 @@ ccr-setup --overwrite
|
|
|
31
40
|
```bash
|
|
32
41
|
npx -y -p @halilertekin/claude-code-router-config ccr-glm-setup --key "YOUR_GLM_API_KEY"
|
|
33
42
|
source ~/.zshrc
|
|
34
|
-
glm
|
|
35
|
-
|
|
36
|
-
Direct z.ai is the default. If you want the router version:
|
|
37
|
-
```bash
|
|
38
|
-
glm-ccr
|
|
43
|
+
glm # GLM-5 via Coding Plan
|
|
44
|
+
glmapi # GLM-5 via API Credits
|
|
39
45
|
```
|
|
40
46
|
|
|
41
47
|
## Features
|
|
@@ -117,7 +123,7 @@ Get your API keys:
|
|
|
117
123
|
| Anthropic | https://console.anthropic.com/settings/keys |
|
|
118
124
|
| Gemini | https://aistudio.google.com/apikey |
|
|
119
125
|
| Qwen | https://dashscope.console.aliyun.com/apiKey |
|
|
120
|
-
| GLM | https://
|
|
126
|
+
| GLM (z.ai) | https://z.ai/apikeys |
|
|
121
127
|
| OpenRouter | https://openrouter.ai/keys |
|
|
122
128
|
| GitHub Copilot | https://github.com/settings/tokens |
|
|
123
129
|
|
|
@@ -141,7 +147,8 @@ Inside Claude Code:
|
|
|
141
147
|
/model anthropic,claude-sonnet-4-latest
|
|
142
148
|
/model gemini,gemini-2.5-flash
|
|
143
149
|
/model qwen,qwen-plus
|
|
144
|
-
/model glm,glm-
|
|
150
|
+
/model glm,glm-5
|
|
151
|
+
/model glmapi,glm-5
|
|
145
152
|
/model copilot,copilot
|
|
146
153
|
```
|
|
147
154
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Claude Code Router Config - Advanced Multi-Provider Setup
|
|
2
2
|
|
|
3
|
-
🚀 **v2.0
|
|
3
|
+
🚀 **v2.2.0** - GLM-5 Support with Coding Plan & API Credit endpoints!
|
|
4
4
|
|
|
5
5
|
Use Claude Code as a single interface to access multiple AI providers with intelligent routing for optimal performance, cost, and quality.
|
|
6
6
|
|
|
@@ -43,8 +43,8 @@ If you just want to use the `ccc` command (Claude Code Commander) and `glm` alia
|
|
|
43
43
|
4. **Reload & Run:**
|
|
44
44
|
```bash
|
|
45
45
|
source ~/.zshrc
|
|
46
|
-
glm # Launches GLM-
|
|
47
|
-
|
|
46
|
+
glm # Launches GLM-5 via z.ai Coding Plan
|
|
47
|
+
glmapi # Launches GLM-5 via z.ai API Credits
|
|
48
48
|
ccc ds # Launches DeepSeek
|
|
49
49
|
ccc claude # Launches Official Claude (Pro)
|
|
50
50
|
```
|
package/SETUP.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Claude Code Router - Setup Guide / Kurulum Rehberi
|
|
2
|
+
|
|
3
|
+
> **Türkçe** | [English](#english)
|
|
4
|
+
|
|
5
|
+
## Kullanım
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# .zshrc dosyanıza ekleyin:
|
|
9
|
+
source ~/code/claude-code-router-config/cli/ccc.zsh
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Alias'lar
|
|
13
|
+
|
|
14
|
+
| Komut | Provider | Endpoint | Model |
|
|
15
|
+
|-------|----------|----------|-------|
|
|
16
|
+
| `glm` | z.ai Coding Plan | `api.z.ai/api/coding/paas/v4` | GLM-5 |
|
|
17
|
+
| `glmapi` | z.ai API (Kredi) | `api.z.ai/api/paas/v4` | GLM-5 |
|
|
18
|
+
| `claude-pro` | Anthropic Claude Pro | Official API | Claude Sonnet 4.5 |
|
|
19
|
+
| `deepseek` | DeepSeek | `api.deepseek.com/anthropic` | deepseek-chat |
|
|
20
|
+
|
|
21
|
+
## API Key Kurulumu
|
|
22
|
+
|
|
23
|
+
### 1. z.ai (GLM) API Key
|
|
24
|
+
|
|
25
|
+
`~/.env` dosyanıza ekleyin:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
export GLM_API_KEY="your_z.ai_api_key_here"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Key almak için: https://z.ai/apikeys
|
|
32
|
+
|
|
33
|
+
### 2. Claude Pro
|
|
34
|
+
|
|
35
|
+
Claude Pro kullanıcıları `claude login` ile giriş yapabilir veya:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
export ANTHROPIC_API_KEY="your_anthropic_api_key"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 3. DeepSeek (opsiyonel)
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
export DEEPSEEK_API_KEY="your_deepseek_api_key"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Örnek Kullanım
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Coding Plan ile GLM-5 kullan
|
|
51
|
+
glm
|
|
52
|
+
|
|
53
|
+
# API kredisi ile GLM-5 kullan
|
|
54
|
+
glmapi
|
|
55
|
+
|
|
56
|
+
# Claude Pro kullan
|
|
57
|
+
claude-pro
|
|
58
|
+
|
|
59
|
+
# DeepSeek kullan
|
|
60
|
+
deepseek
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Dosya Yapısı
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
claude-code-router-config/
|
|
67
|
+
├── cli/
|
|
68
|
+
│ └── ccc.zsh # Ana konfigürasyon dosyası
|
|
69
|
+
├── config/ # Model konfigürasyonları
|
|
70
|
+
├── router/ # Routing mantığı
|
|
71
|
+
└── docs/ # Dokümantasyon
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Sorun Giderme
|
|
75
|
+
|
|
76
|
+
### "GLM_API_KEY not set" hatası
|
|
77
|
+
- `~/.env` dosyasında key'in doğru olduğundan emin olun
|
|
78
|
+
- Dosyayı kaydettikten sonra terminali yeniden açın veya `source ~/.env` yapın
|
|
79
|
+
|
|
80
|
+
### Model çalışmıyorsa
|
|
81
|
+
- API key'in geçerli olduğunu kontrol edin
|
|
82
|
+
- Kotalarınızı kontrol edin (özellikle glmapi için)
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
<a name="english"></a>
|
|
87
|
+
|
|
88
|
+
## Usage
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Add to your .zshrc:
|
|
92
|
+
source ~/code/claude-code-router-config/cli/ccc.zsh
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Aliases
|
|
96
|
+
|
|
97
|
+
| Command | Provider | Endpoint | Model |
|
|
98
|
+
|---------|----------|----------|-------|
|
|
99
|
+
| `glm` | z.ai Coding Plan | `api.z.ai/api/coding/paas/v4` | GLM-5 |
|
|
100
|
+
| `glmapi` | z.ai API (Credits) | `api.z.ai/api/paas/v4` | GLM-5 |
|
|
101
|
+
| `claude-pro` | Anthropic Claude Pro | Official API | Claude Sonnet 4.5 |
|
|
102
|
+
| `deepseek` | DeepSeek | `api.deepseek.com/anthropic` | deepseek-chat |
|
|
103
|
+
|
|
104
|
+
## API Key Setup
|
|
105
|
+
|
|
106
|
+
### 1. z.ai (GLM) API Key
|
|
107
|
+
|
|
108
|
+
Add to your `~/.env`:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
export GLM_API_KEY="your_z.ai_api_key_here"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Get your key from: https://z.ai/apikeys
|
|
115
|
+
|
|
116
|
+
### 2. Claude Pro
|
|
117
|
+
|
|
118
|
+
Claude Pro users can login with `claude login` or:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
export ANTHROPIC_API_KEY="your_anthropic_api_key"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 3. DeepSeek (optional)
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
export DEEPSEEK_API_KEY="your_deepseek_api_key"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Example Usage
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Use GLM-5 with Coding Plan
|
|
134
|
+
glm
|
|
135
|
+
|
|
136
|
+
# Use GLM-5 with API credits
|
|
137
|
+
glmapi
|
|
138
|
+
|
|
139
|
+
# Use Claude Pro
|
|
140
|
+
claude-pro
|
|
141
|
+
|
|
142
|
+
# Use DeepSeek
|
|
143
|
+
deepseek
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## File Structure
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
claude-code-router-config/
|
|
150
|
+
├── cli/
|
|
151
|
+
│ └── ccc.zsh # Main configuration file
|
|
152
|
+
├── config/ # Model configurations
|
|
153
|
+
├── router/ # Routing logic
|
|
154
|
+
└── docs/ # Documentation
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Troubleshooting
|
|
158
|
+
|
|
159
|
+
### "GLM_API_KEY not set" error
|
|
160
|
+
- Make sure the key in `~/.env` is correct
|
|
161
|
+
- After saving, restart terminal or run `source ~/.env`
|
|
162
|
+
|
|
163
|
+
### Model not working
|
|
164
|
+
- Check if your API key is valid
|
|
165
|
+
- Check your quotas (especially for glmapi)
|
package/cli/ccc.zsh
CHANGED
|
@@ -50,28 +50,48 @@ ccc() {
|
|
|
50
50
|
|
|
51
51
|
# 2. CONFIGURATION based on alias
|
|
52
52
|
case "$model_alias" in
|
|
53
|
-
glm
|
|
54
|
-
# z.ai / GLM
|
|
55
|
-
export ANTHROPIC_BASE_URL="https://api.z.ai/api/
|
|
56
|
-
# Priority: 1. ENV, 2. PP_KEY (config), 3. GLM_KEY (config)
|
|
53
|
+
glm)
|
|
54
|
+
# z.ai / GLM Coding Plan endpoint
|
|
55
|
+
export ANTHROPIC_BASE_URL="https://api.z.ai/api/coding/paas/v4"
|
|
57
56
|
export ANTHROPIC_API_KEY="${GLM_API_KEY:-${PPINFRA_API_KEY:-$GLM_KEY}}"
|
|
58
57
|
export ANTHROPIC_AUTH_TOKEN="$ANTHROPIC_API_KEY"
|
|
59
|
-
export ANTHROPIC_MODEL="glm-
|
|
58
|
+
export ANTHROPIC_MODEL="glm-5"
|
|
60
59
|
export API_TIMEOUT_MS=3000000
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
export
|
|
64
|
-
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-4.7"
|
|
61
|
+
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5"
|
|
62
|
+
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5"
|
|
65
63
|
export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-4.5-air"
|
|
66
64
|
export ANTHROPIC_SMALL_FAST_MODEL="glm-4.5-air"
|
|
67
|
-
export CLAUDE_CODE_SUBAGENT_MODEL="glm-
|
|
65
|
+
export CLAUDE_CODE_SUBAGENT_MODEL="glm-5"
|
|
68
66
|
|
|
69
67
|
if [[ -z "$ANTHROPIC_API_KEY" ]]; then
|
|
70
68
|
echo "GLM_API_KEY not set. Add it to ~/.env or ~/.claude-code-router/keys.env" >&2
|
|
71
69
|
return 1
|
|
72
70
|
fi
|
|
73
71
|
|
|
74
|
-
echo "🔄 Provider: z.ai (GLM
|
|
72
|
+
echo "🔄 Provider: z.ai (GLM-5 Coding Plan)"
|
|
73
|
+
;;
|
|
74
|
+
|
|
75
|
+
glmapi)
|
|
76
|
+
# z.ai / GLM Standard API (kredi ile kullanım)
|
|
77
|
+
export ANTHROPIC_BASE_URL="https://api.z.ai/api/paas/v4"
|
|
78
|
+
export ANTHROPIC_API_KEY="${GLM_API_KEY:-${PPINFRA_API_KEY:-$GLM_KEY}}"
|
|
79
|
+
export ANTHROPIC_AUTH_TOKEN="$ANTHROPIC_API_KEY"
|
|
80
|
+
export ANTHROPIC_MODEL="glm-5"
|
|
81
|
+
export API_TIMEOUT_MS=3000000
|
|
82
|
+
|
|
83
|
+
export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5"
|
|
84
|
+
export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5"
|
|
85
|
+
export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-4.5-air"
|
|
86
|
+
export ANTHROPIC_SMALL_FAST_MODEL="glm-4.5-air"
|
|
87
|
+
export CLAUDE_CODE_SUBAGENT_MODEL="glm-5"
|
|
88
|
+
|
|
89
|
+
if [[ -z "$ANTHROPIC_API_KEY" ]]; then
|
|
90
|
+
echo "GLM_API_KEY not set. Add it to ~/.env or ~/.claude-code-router/keys.env" >&2
|
|
91
|
+
return 1
|
|
92
|
+
fi
|
|
93
|
+
|
|
94
|
+
echo "🔄 Provider: z.ai (GLM-5 API - Kredi)"
|
|
75
95
|
;;
|
|
76
96
|
|
|
77
97
|
ds|deepseek)
|
|
@@ -93,7 +113,7 @@ ccc() {
|
|
|
93
113
|
|
|
94
114
|
*)
|
|
95
115
|
echo "Unknown model alias: $model_alias"
|
|
96
|
-
echo "Available: glm, ds, claude"
|
|
116
|
+
echo "Available: glm (coding plan), glmapi (kredi), ds, claude"
|
|
97
117
|
return 1
|
|
98
118
|
;;
|
|
99
119
|
esac
|
|
@@ -110,5 +130,6 @@ ccc() {
|
|
|
110
130
|
|
|
111
131
|
# Shortcuts
|
|
112
132
|
alias glm="ccc glm"
|
|
133
|
+
alias glmapi="ccc glmapi"
|
|
113
134
|
alias deepseek="ccc ds"
|
|
114
135
|
alias claude-pro="ccc claude"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@halilertekin/claude-code-router-config",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Multi-provider configuration for Claude Code Router with intent-based routing, advanced CLI tools, analytics, and smart routing. Setup OpenAI, Anthropic, Gemini, Qwen, GLM, OpenRouter, and GitHub Copilot with intelligent routing.",
|
|
5
5
|
"main": "install.js",
|
|
6
6
|
"bin": {
|
|
@@ -39,7 +39,9 @@
|
|
|
39
39
|
"CHANGELOG.md",
|
|
40
40
|
"LICENSE",
|
|
41
41
|
"README.md",
|
|
42
|
-
"NPM_README.md"
|
|
42
|
+
"NPM_README.md",
|
|
43
|
+
"SETUP.md",
|
|
44
|
+
"quick-setup.sh"
|
|
43
45
|
],
|
|
44
46
|
"keywords": [
|
|
45
47
|
"claude",
|
package/quick-setup.sh
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#!/bin/zsh
|
|
2
|
+
|
|
3
|
+
# Claude Code Router - Quick Setup Script
|
|
4
|
+
# Usage: ./quick-setup.sh
|
|
5
|
+
|
|
6
|
+
echo "🔧 Claude Code Router - Quick Setup / Hızlı Kurulum"
|
|
7
|
+
echo "====================================================="
|
|
8
|
+
|
|
9
|
+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
10
|
+
ZSHRC="$HOME/.zshrc"
|
|
11
|
+
|
|
12
|
+
# 1. Add source line to .zshrc
|
|
13
|
+
SOURCE_LINE='[[ -f "$HOME/code/claude-code-router-config/cli/ccc.zsh" ]] && source "$HOME/code/claude-code-router-config/cli/ccc.zsh"'
|
|
14
|
+
|
|
15
|
+
if grep -q "claude-code-router-config/cli/ccc.zsh" "$ZSHRC" 2>/dev/null; then
|
|
16
|
+
echo "✅ .zshrc already configured"
|
|
17
|
+
else
|
|
18
|
+
echo "" >> "$ZSHRC"
|
|
19
|
+
echo "# Claude Code Router" >> "$ZSHRC"
|
|
20
|
+
echo "$SOURCE_LINE" >> "$ZSHRC"
|
|
21
|
+
echo "✅ .zshrc updated"
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
# 2. Check .env file
|
|
25
|
+
ENV_FILE="$HOME/.env"
|
|
26
|
+
if [[ ! -f "$ENV_FILE" ]]; then
|
|
27
|
+
touch "$ENV_FILE"
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
if grep -q "GLM_API_KEY" "$ENV_FILE" 2>/dev/null; then
|
|
31
|
+
echo "✅ GLM_API_KEY defined"
|
|
32
|
+
else
|
|
33
|
+
echo "" >> "$ENV_FILE"
|
|
34
|
+
echo "# z.ai GLM API Key" >> "$ENV_FILE"
|
|
35
|
+
echo 'export GLM_API_KEY="YOUR_KEY_HERE"' >> "$ENV_FILE"
|
|
36
|
+
echo "⚠️ Added GLM_API_KEY to .env - replace with your actual key"
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
# 3. Reload shell
|
|
40
|
+
source "$ZSHRC"
|
|
41
|
+
|
|
42
|
+
echo ""
|
|
43
|
+
echo "✅ Setup complete!"
|
|
44
|
+
echo ""
|
|
45
|
+
echo "Usage / Kullanım:"
|
|
46
|
+
echo " glm → z.ai Coding Plan (GLM-5)"
|
|
47
|
+
echo " glmapi → z.ai API Credits (GLM-5)"
|
|
48
|
+
echo " claude-pro → Claude Pro"
|
|
49
|
+
echo " deepseek → DeepSeek"
|
|
50
|
+
echo ""
|
|
51
|
+
echo "Next steps / Sonraki adımlar:"
|
|
52
|
+
echo " 1. Get API key from https://z.ai/apikeys"
|
|
53
|
+
echo " 2. Update GLM_API_KEY in ~/.env"
|
|
54
|
+
echo " 3. Restart terminal"
|
|
55
|
+
echo ""
|