claude-code-router-config 1.0.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.
@@ -0,0 +1,489 @@
1
+ # Claude Code Router - Tam Dokümantasyon
2
+
3
+ > **Versiyon**: 1.0.73
4
+ > **Tarih**: 2025-12-20
5
+ > **Amaç**: Tek Claude Code arayüzünden birden fazla AI provider'a intent-based routing
6
+
7
+ ---
8
+
9
+ ## İçindekiler
10
+
11
+ 1. [Genel Bakış](#genel-bakış)
12
+ 2. [Mimari](#mimari)
13
+ 3. [Desteklenen Provider'lar](#desteklenen-providerlar)
14
+ 4. [Routing Stratejisi](#routing-stratejisi)
15
+ 5. [Kurulum](#kurulum)
16
+ 6. [Konfigürasyon Detayları](#konfigürasyon-detayları)
17
+ 7. [Intent Router Mantığı](#intent-router-mantığı)
18
+ 8. [Kullanım Rehberi](#kullanım-rehberi)
19
+ 9. [Sorun Giderme](#sorun-giderme)
20
+ 10. [API Key Alma Rehberi](#api-key-alma-rehberi)
21
+
22
+ ---
23
+
24
+ ## Genel Bakış
25
+
26
+ Claude Code Router, Claude Code CLI'ı bir proxy üzerinden çalıştırarak istekleri farklı AI provider'lara yönlendirir. Bu sayede:
27
+
28
+ - **Maliyet optimizasyonu**: Basit işler ucuz modellere gider
29
+ - **Performans optimizasyonu**: Hızlı cevap gereken işler hızlı modellere gider
30
+ - **Yetenek optimizasyonu**: Her iş için en uygun model seçilir
31
+ - **Tek arayüz**: Tüm modellere Claude Code üzerinden erişim
32
+
33
+ ---
34
+
35
+ ## Mimari
36
+
37
+ ```
38
+ ┌─────────────────┐
39
+ │ Claude Code │
40
+ │ (CLI/UI) │
41
+ └────────┬────────┘
42
+ │ localhost:3456
43
+
44
+ ┌─────────────────┐
45
+ │ Claude Code │
46
+ │ Router │
47
+ │ (Proxy Server) │
48
+ └────────┬────────┘
49
+
50
+ ┌────┴────┐
51
+ ▼ ▼
52
+ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────────┐
53
+ │OpenAI │ │Anthro │ │Gemini │ │ Qwen │ │ GLM │ │OpenRouter │
54
+ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘ └───────────┘
55
+ ```
56
+
57
+ ### Akış
58
+
59
+ 1. Kullanıcı Claude Code'a istek gönderir
60
+ 2. İstek `localhost:3456`'ya (router) gider
61
+ 3. Router, `intent-router.js` ile intent analizi yapar
62
+ 4. İstek uygun provider'a yönlendirilir
63
+ 5. Cevap kullanıcıya döner
64
+
65
+ ---
66
+
67
+ ## Desteklenen Provider'lar
68
+
69
+ ### 1. OpenAI
70
+ | Özellik | Değer |
71
+ |---------|-------|
72
+ | **API URL** | `https://api.openai.com/v1/chat/completions` |
73
+ | **Modeller** | gpt-4o, gpt-4-turbo, gpt-4o-mini, o1, o1-mini |
74
+ | **Kullanım** | Coding, debugging, refactoring |
75
+ | **Maliyet** | Orta-Yüksek |
76
+ | **Env Var** | `OPENAI_API_KEY` |
77
+
78
+ ### 2. Anthropic (Claude)
79
+ | Özellik | Değer |
80
+ |---------|-------|
81
+ | **API URL** | `https://api.anthropic.com/v1/messages` |
82
+ | **Modeller** | claude-sonnet-4-latest, claude-3-5-sonnet-latest |
83
+ | **Kullanım** | Deep reasoning, architecture, analysis |
84
+ | **Maliyet** | Yüksek |
85
+ | **Env Var** | `ANTHROPIC_API_KEY` |
86
+ | **Transformer** | `Anthropic` (gerekli) |
87
+
88
+ ### 3. Google Gemini
89
+ | Özellik | Değer |
90
+ |---------|-------|
91
+ | **API URL** | `https://generativelanguage.googleapis.com/v1beta/openai/chat/completions` |
92
+ | **Modeller** | gemini-2.5-flash, gemini-2.5-pro, gemini-2.0-flash |
93
+ | **Kullanım** | Hızlı cevaplar, uzun context (1M token) |
94
+ | **Maliyet** | Düşük-Orta |
95
+ | **Env Var** | `GEMINI_API_KEY` |
96
+ | **Transformer** | `gemini` (gerekli) |
97
+
98
+ ### 4. Alibaba Qwen (DashScope)
99
+ | Özellik | Değer |
100
+ |---------|-------|
101
+ | **API URL** | `https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions` |
102
+ | **Modeller** | qwen-plus, qwen-max, qwen3-coder-plus, qwen-turbo |
103
+ | **Kullanım** | Ucuz coding, basit işler |
104
+ | **Maliyet** | Çok Düşük |
105
+ | **Env Var** | `QWEN_API_KEY` |
106
+
107
+ ### 5. Zhipu GLM (Z.ai)
108
+ | Özellik | Değer |
109
+ |---------|-------|
110
+ | **API URL** | `https://api.z.ai/api/paas/v4/chat/completions` |
111
+ | **Modeller** | glm-4.6, glm-4.5, glm-4-plus |
112
+ | **Kullanım** | Çok dilli, Çince, çeviri |
113
+ | **Maliyet** | Düşük |
114
+ | **Env Var** | `GLM_API_KEY` |
115
+
116
+ ### 6. OpenRouter
117
+ | Özellik | Değer |
118
+ |---------|-------|
119
+ | **API URL** | `https://openrouter.ai/api/v1/chat/completions` |
120
+ | **Modeller** | Tüm modeller (Claude, GPT, Gemini, Llama, DeepSeek...) |
121
+ | **Kullanım** | Fallback, çeşitlilik |
122
+ | **Maliyet** | Değişken |
123
+ | **Env Var** | `OPENROUTER_API_KEY` |
124
+ | **Transformer** | `openrouter` (gerekli) |
125
+
126
+ ---
127
+
128
+ ## Routing Stratejisi
129
+
130
+ ### Otomatik Intent-Based Routing
131
+
132
+ | Intent | Tetikleyici Kelimeler | Provider | Model |
133
+ |--------|----------------------|----------|-------|
134
+ | **CODING** | implement, refactor, debug, fix, code, function, class, typescript, python, api, database | OpenAI | gpt-4o |
135
+ | **REASONING** | architect, design, analyze, plan, why, explain, compare, evaluate, best practice | Anthropic | claude-sonnet-4 |
136
+ | **FAST** | fast, quick, brief, summary, tldr, overview, hızlı, scan, check | Gemini | gemini-2.5-flash |
137
+ | **SIMPLE** | list, show, what is, simple, basic, help, format, rename, mkdir, ucuz, basit | Qwen | qwen-plus |
138
+ | **MULTILINGUAL** | translate, çevir, tercüme, chinese, türkçe, Çince karakterler | GLM | glm-4.6 |
139
+ | **HEAVY_REASONING** | complex algorithm, optimization, performance critical, prove, mathematical | OpenAI | o1 |
140
+
141
+ ### Built-in Router Ayarları
142
+
143
+ | Senaryo | Provider | Model | Açıklama |
144
+ |---------|----------|-------|----------|
145
+ | **default** | OpenAI | gpt-4o | Eşleşme yoksa |
146
+ | **background** | Qwen | qwen-turbo | Arka plan görevleri |
147
+ | **think** | Anthropic | claude-sonnet-4 | Düşünme/reasoning |
148
+ | **longContext** | Gemini | gemini-2.5-flash | >60K token |
149
+
150
+ ---
151
+
152
+ ## Kurulum
153
+
154
+ ### Gereksinimler
155
+ - Node.js 18+
156
+ - pnpm (tercih edilen) veya npm
157
+
158
+ ### Adım 1: Paket Kurulumu
159
+
160
+ ```bash
161
+ pnpm add -g @musistudio/claude-code-router
162
+ mkdir -p ~/.claude-code-router
163
+ ```
164
+
165
+ ### Adım 2: Environment Variables
166
+
167
+ `~/.zshrc` veya `~/.bashrc` dosyasına ekle:
168
+
169
+ ```bash
170
+ # ═══════════════════════════════════════════════════
171
+ # Claude Code Router - API Keys
172
+ # ═══════════════════════════════════════════════════
173
+
174
+ # OpenAI (GPT-4o, O1, Codex)
175
+ export OPENAI_API_KEY="sk-..."
176
+
177
+ # Anthropic (Claude)
178
+ export ANTHROPIC_API_KEY="sk-ant-..."
179
+
180
+ # Google Gemini
181
+ export GEMINI_API_KEY="AIza..."
182
+
183
+ # Alibaba Qwen (DashScope)
184
+ export QWEN_API_KEY="sk-..."
185
+
186
+ # Zhipu GLM (Z.ai)
187
+ export GLM_API_KEY="..."
188
+
189
+ # OpenRouter (fallback)
190
+ export OPENROUTER_API_KEY="sk-or-..."
191
+
192
+ # ═══════════════════════════════════════════════════
193
+ # Router Connection
194
+ # ═══════════════════════════════════════════════════
195
+ export ANTHROPIC_BASE_URL="http://127.0.0.1:3456"
196
+ export NO_PROXY="127.0.0.1"
197
+ ```
198
+
199
+ ### Adım 3: Shell'i Yenile
200
+
201
+ ```bash
202
+ source ~/.zshrc
203
+ ```
204
+
205
+ ### Adım 4: Başlat
206
+
207
+ ```bash
208
+ ccr code
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Konfigürasyon Detayları
214
+
215
+ ### config.json Yapısı
216
+
217
+ ```json
218
+ {
219
+ "LOG": true, // Loglama aktif
220
+ "LOG_LEVEL": "info", // Log seviyesi: fatal|error|warn|info|debug|trace
221
+ "API_TIMEOUT_MS": 300000, // 5 dakika timeout
222
+ "CUSTOM_ROUTER_PATH": "$HOME/.claude-code-router/intent-router.js",
223
+
224
+ "Providers": [
225
+ {
226
+ "name": "provider_adi", // Benzersiz isim
227
+ "api_base_url": "https://...", // API endpoint
228
+ "api_key": "$ENV_VAR", // Env var referansı
229
+ "models": ["model1", "model2"], // Desteklenen modeller
230
+ "transformer": { "use": [] } // Gerekli transformer'lar
231
+ }
232
+ ],
233
+
234
+ "Router": {
235
+ "default": "provider,model", // Varsayılan
236
+ "background": "provider,model", // Arka plan görevleri
237
+ "think": "provider,model", // Reasoning görevleri
238
+ "longContext": "provider,model", // Uzun context
239
+ "longContextThreshold": 60000 // Token eşiği
240
+ }
241
+ }
242
+ ```
243
+
244
+ ### Transformer'lar
245
+
246
+ | Transformer | Kullanım |
247
+ |-------------|----------|
248
+ | `Anthropic` | Anthropic API formatı için |
249
+ | `gemini` | Google Gemini API formatı için |
250
+ | `openrouter` | OpenRouter API formatı için |
251
+ | `deepseek` | DeepSeek modelleri için |
252
+ | `maxtoken` | Max token limiti ayarı için |
253
+
254
+ ---
255
+
256
+ ## Intent Router Mantığı
257
+
258
+ ### Çalışma Prensibi
259
+
260
+ 1. İstek gelir
261
+ 2. Mesaj içeriği çıkarılır (user + system mesajları)
262
+ 3. Her intent için pattern eşleşmesi sayılır
263
+ 4. En yüksek skora sahip intent seçilir
264
+ 5. İlgili provider'a yönlendirilir
265
+
266
+ ### Pattern Öncelik Sırası
267
+
268
+ 1. **HEAVY_REASONING** - Karmaşık algoritmalar
269
+ 2. **CODING** - Kod yazma/düzeltme
270
+ 3. **REASONING** - Analiz/açıklama
271
+ 4. **MULTILINGUAL** - Çeviri
272
+ 5. **FAST** - Hızlı cevaplar
273
+ 6. **SIMPLE** - Basit işler
274
+
275
+ ### Özelleştirme
276
+
277
+ `intent-router.js` dosyasını düzenleyerek:
278
+ - Yeni intent'ler ekleyebilirsin
279
+ - Pattern'leri değiştirebilirsin
280
+ - Route'ları güncelleyebilirsin
281
+
282
+ ---
283
+
284
+ ## Kullanım Rehberi
285
+
286
+ ### Temel Komutlar
287
+
288
+ ```bash
289
+ # Router'ı başlat
290
+ ccr start
291
+
292
+ # Claude Code ile birlikte başlat
293
+ ccr code
294
+
295
+ # Durum kontrolü
296
+ ccr status
297
+
298
+ # Router'ı durdur
299
+ ccr stop
300
+
301
+ # Router'ı yeniden başlat
302
+ ccr restart
303
+
304
+ # Web UI aç
305
+ ccr ui
306
+
307
+ # Model seçim arayüzü
308
+ ccr model
309
+ ```
310
+
311
+ ### Runtime Model Değiştirme
312
+
313
+ Claude Code içinde `/model` komutu:
314
+
315
+ ```
316
+ /model openai,gpt-4o
317
+ /model openai,o1
318
+ /model anthropic,claude-sonnet-4-latest
319
+ /model gemini,gemini-2.5-flash
320
+ /model gemini,gemini-2.5-pro
321
+ /model qwen,qwen-plus
322
+ /model qwen,qwen3-coder-plus
323
+ /model glm,glm-4.6
324
+ /model openrouter,deepseek/deepseek-chat
325
+ ```
326
+
327
+ ### Örnek Kullanım Senaryoları
328
+
329
+ ```bash
330
+ # Coding → OpenAI gpt-4o
331
+ claude "Write a Python function to implement merge sort"
332
+
333
+ # Deep Analysis → Anthropic Claude
334
+ claude "Analyze the trade-offs between microservices and monolith architecture"
335
+
336
+ # Quick Summary → Gemini Flash
337
+ claude "Give me a quick summary of GraphQL vs REST"
338
+
339
+ # Simple Task → Qwen
340
+ claude "List all TypeScript files in src directory"
341
+
342
+ # Translation → GLM
343
+ claude "Translate this to Chinese: Hello, how are you?"
344
+
345
+ # Complex Algorithm → OpenAI O1
346
+ claude "Design an optimal caching algorithm for a distributed system"
347
+ ```
348
+
349
+ ### Logları İzleme
350
+
351
+ ```bash
352
+ # Tüm loglar
353
+ tail -f ~/.claude-code-router/logs/*.log
354
+
355
+ # Sadece router kararları
356
+ tail -f ~/.claude-code-router/logs/*.log | grep "Router"
357
+ ```
358
+
359
+ ---
360
+
361
+ ## Sorun Giderme
362
+
363
+ ### Router Başlamıyor
364
+
365
+ ```bash
366
+ # Port kullanımda mı kontrol et
367
+ lsof -i :3456
368
+
369
+ # Varsa kapat
370
+ kill -9 <PID>
371
+
372
+ # Tekrar başlat
373
+ ccr start
374
+ ```
375
+
376
+ ### API Hatası Alıyorum
377
+
378
+ 1. API key'in doğru mu kontrol et:
379
+ ```bash
380
+ echo $OPENAI_API_KEY
381
+ echo $ANTHROPIC_API_KEY
382
+ # ... diğerleri
383
+ ```
384
+
385
+ 2. Key'i test et:
386
+ ```bash
387
+ curl https://api.openai.com/v1/models \
388
+ -H "Authorization: Bearer $OPENAI_API_KEY"
389
+ ```
390
+
391
+ ### Model Bulunamıyor Hatası
392
+
393
+ `config.json`'daki model adının doğru olduğundan emin ol:
394
+ - OpenAI: `gpt-4o` (not: `gpt-4-o` değil)
395
+ - Anthropic: `claude-sonnet-4-latest`
396
+ - Gemini: `gemini-2.5-flash`
397
+
398
+ ### Routing Çalışmıyor
399
+
400
+ 1. Custom router'ın yüklendiğini kontrol et:
401
+ ```bash
402
+ cat ~/.claude-code-router/config.json | grep CUSTOM_ROUTER
403
+ ```
404
+
405
+ 2. Router dosyasının var olduğunu kontrol et:
406
+ ```bash
407
+ ls -la ~/.claude-code-router/intent-router.js
408
+ ```
409
+
410
+ 3. Syntax hatası var mı kontrol et:
411
+ ```bash
412
+ node -c ~/.claude-code-router/intent-router.js
413
+ ```
414
+
415
+ ---
416
+
417
+ ## API Key Alma Rehberi
418
+
419
+ ### OpenAI
420
+ 1. https://platform.openai.com/api-keys adresine git
421
+ 2. "Create new secret key" tıkla
422
+ 3. Key'i kopyala (`sk-...` ile başlar)
423
+
424
+ ### Anthropic
425
+ 1. https://console.anthropic.com/settings/keys adresine git
426
+ 2. "Create Key" tıkla
427
+ 3. Key'i kopyala (`sk-ant-...` ile başlar)
428
+
429
+ ### Google Gemini
430
+ 1. https://aistudio.google.com/apikey adresine git
431
+ 2. "Create API Key" tıkla
432
+ 3. Key'i kopyala (`AIza...` ile başlar)
433
+
434
+ ### Alibaba Qwen (DashScope)
435
+ 1. https://dashscope.console.aliyun.com/apiKey adresine git
436
+ 2. Aliyun hesabı oluştur (international)
437
+ 3. API key al
438
+
439
+ ### Zhipu GLM (Z.ai)
440
+ 1. https://open.bigmodel.cn/usercenter/apikeys adresine git
441
+ 2. Hesap oluştur
442
+ 3. API key al
443
+
444
+ ### OpenRouter
445
+ 1. https://openrouter.ai/keys adresine git
446
+ 2. GitHub/Google ile giriş yap
447
+ 3. "Create Key" tıkla
448
+ 4. Key'i kopyala (`sk-or-...` ile başlar)
449
+
450
+ ---
451
+
452
+ ## Dosya Yapısı
453
+
454
+ ```
455
+ ~/.claude-code-router/
456
+ ├── config.json # Ana konfigürasyon
457
+ ├── intent-router.js # Custom routing logic
458
+ ├── README.md # Kısa dokümantasyon
459
+ ├── FULL_DOCUMENTATION.md # Bu dosya
460
+ └── logs/ # Log dosyaları
461
+ └── *.log
462
+ ```
463
+
464
+ ---
465
+
466
+ ## Notlar
467
+
468
+ - Router her zaman `localhost:3456` üzerinde çalışır
469
+ - `ANTHROPIC_BASE_URL` Claude Code'un router'a bağlanmasını sağlar
470
+ - `NO_PROXY` sistem proxy'sinin router'ı atlamamasını sağlar
471
+ - Env var'lar `$VAR_NAME` formatında config.json'da kullanılabilir
472
+
473
+ ---
474
+
475
+ ## Atıf (Attribution)
476
+
477
+ Bu yapılandırma paketi [@musistudio/claude-code-router](https://github.com/musistudio/claude-code-router) için tasarlanmıştır. Bu, Claude Code'u birden fazla AI sağlayıcısıyla kullanmanızı sağlayan mükemmel bir araçtır.
478
+
479
+ Orijinal Claude Code Router projesi musistudio tarafından geliştirilmektedir ve bakımı yapılmaktadır. Bu paket, kullanıcıların hızla başlamasına yardımcı olmak için önceden yapılandırılmış routing mantığı ve sağlayıcı konfigürasyonları içermektedir.
480
+
481
+ ## Kaynaklar
482
+
483
+ - [GitHub - musistudio/claude-code-router](https://github.com/musistudio/claude-code-router)
484
+ - [npm - @musistudio/claude-code-router](https://www.npmjs.com/package/@musistudio/claude-code-router)
485
+ - [OpenAI API Docs](https://platform.openai.com/docs)
486
+ - [Anthropic API Docs](https://docs.anthropic.com)
487
+ - [Gemini API Docs](https://ai.google.dev/gemini-api/docs)
488
+ - [DashScope Docs](https://www.alibabacloud.com/help/en/model-studio)
489
+ - [Z.ai Docs](https://docs.z.ai)