wisecolt bb7e576ee3 README.md Güncelle
"--dangerously-skip-permissions" parametresi eklendi.
2025-11-07 16:11:58 +00:00
2025-11-07 15:29:14 +00:00
2025-11-07 16:11:58 +00:00
2025-11-07 16:11:00 +00:00

🧩 switch_api_key — Claude API Key Switcher for macOS

switch_api_key, proje dizininde bulunan .env dosyasını okuyarak Claude API anahtarları arasında geçiş yapmanızı sağlayan bir Bash betiğidir.
Her çalıştırıldığında aktif anahtarı değiştirir, gerekli ortam değişkenlerini yükler, eski claude CLI oturumlarını kapatır ve yeni ayarlarla CLIı yeniden başlatır.

Bu sayede, örneğin LITE ve PRO API anahtarlarını tek komutla değiştirebilir, her biriyle farklı kota veya model ayarlarını test edebilirsiniz.


⚙️ Özellikler

  • 🔁 Tek komutla API anahtarlarını değiştirir
  • 🧠 Claude CLIı otomatik olarak yeniden başlatır
  • 📦 .env dosyasından ayarları okur ve günceller
  • 🌐 Base URL ve model değerlerini otomatik export eder
  • 🚫 Auth çakışmalarını otomatik temizler
    (ANTHROPIC_AUTH_TOKEN değişkeni varsa kaldırılır)

📂 .env Dosyası Yapısı

Proje dizininde .env dosyanız şu formatta olmalıdır:

# === Claude API Config ===
API_KEY_LITE=LITE_KEY_BURAYA
API_KEY_PRO=PRO_KEY_BURAYA
ACTIVE_KEY=lite

# === Anthropic API Settings ===
ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
ANTHROPIC_MODEL="glm-4.6"
Değişken ıklama
API_KEY_LITE LITE planına ait Claude API anahtarı
API_KEY_PRO PRO planına ait Claude API anahtarı
ACTIVE_KEY Şu anda aktif olan anahtar (lite veya pro)
ANTHROPIC_BASE_URL APInin taban URL adresi
ANTHROPIC_MODEL Kullanılacak model ismi

🧩 Kurulum

  1. Betik dosyasını oluştur:

    sudo nano /usr/local/bin/switch_api_key
    
  2. Aşağıdaki kodu yapıştır:

    #!/bin/bash
    ENV_FILE=".env"
    
    GREEN="\033[0;32m"
    YELLOW="\033[0;33m"
    CYAN="\033[0;36m"
    RESET="\033[0m"
    
    # 0⃣ AUTH TOKEN ÇAKIŞMASINI ENGELLE
    if [[ -n "$ANTHROPIC_AUTH_TOKEN" ]]; then
      echo -e "${YELLOW}⚠️  ANTHROPIC_AUTH_TOKEN tespit edildi. Kaldırılıyor...${RESET}"
      unset ANTHROPIC_AUTH_TOKEN
      sleep 1
    fi
    
    # 1⃣ .env kontrolü
    if [[ ! -f "$ENV_FILE" ]]; then
      echo -e "${YELLOW}⚠️  Bu dizinde .env dosyası bulunamadı.${RESET}"
      exit 1
    fi
    
    # 2⃣ .env dosyasını yükle
    set -a; source "$ENV_FILE"; set +a
    
    echo "----------------------------------------"
    echo -e "${CYAN}🔍 Mevcut aktif key: $ACTIVE_KEY${RESET}"
    
    # 3⃣ Aktif anahtarı değiştir
    if [[ "$ACTIVE_KEY" == "lite" ]]; then
      export ANTHROPIC_API_KEY="$API_KEY_PRO"
      NEW_DESC="Claude Code PRO api key"
      NEW_ACTIVE="pro"
    else
      export ANTHROPIC_API_KEY="$API_KEY_LITE"
      NEW_DESC="Claude Code LITE api key"
      NEW_ACTIVE="lite"
    fi
    
    # 4⃣ Ortam değişkenlerini yükle
    export ANTHROPIC_BASE_URL=$ANTHROPIC_BASE_URL
    export ANTHROPIC_MODEL=$ANTHROPIC_MODEL
    
    # 5⃣ .env güncelle
    sed -i '' "s/^ACTIVE_KEY=.*/ACTIVE_KEY=$NEW_ACTIVE/" "$ENV_FILE"
    
    echo -e "${YELLOW}🧩 Yeni key seçildi:${RESET} $NEW_DESC"
    echo -e "${CYAN}🔁 .env dosyası güncellendi (ACTIVE_KEY=$NEW_ACTIVE)${RESET}"
    
    # 6⃣ Claude süreçlerini kapat
    echo -e "${YELLOW}💀 Çalışan Claude CLI süreçleri kapatılıyor...${RESET}"
    pkill -f "claude" 2>/dev/null
    sleep 3
    
    # 7⃣ Bilgilendirme
    tail4="${ANTHROPIC_API_KEY: -4}"
    echo -e "${GREEN}✅ Yeni key aktif:${RESET} $NEW_DESC"
    echo -e "${CYAN}🔑 Son 4 hane: ****${tail4}${RESET}"
    echo -e "${CYAN}🌐 Base URL:${RESET} $ANTHROPIC_BASE_URL"
    echo -e "${CYAN}🧠 Model:${RESET} $ANTHROPIC_MODEL"
    echo -e "${CYAN}⏳ Son kontroller yapılıyor...${RESET}"
    sleep 3
    
    # 8⃣ Claude CLI başlat
    echo -e "${GREEN}🚀 Yeni key ile Claude CLI başlatılıyor...${RESET}"
    echo "----------------------------------------"
    exec claude --dangerously-skip-permissions
    
  3. Çalıştırılabilir hale getir:

    sudo chmod +x /usr/local/bin/switch_api_key
    

🚀 Kullanım

Proje dizininde .env dosyası mevcutken sadece şu komutu çalıştır:

switch_api_key

🔁 Betik ne yapar?

  1. .env dosyasını okur
  2. ANTHROPIC_AUTH_TOKEN varsa unset eder (çakışmayı önler)
  3. Aktif API anahtarını tespit eder (litepro)
  4. Diğer anahtara geçer
  5. .env dosyasındaki ACTIVE_KEY satırını günceller
  6. Base URL ve modeli export eder
  7. Çalışan claude CLI süreçlerini kapatır
  8. 3 saniye bekler
  9. Yeni anahtar ve ayarlarla claude CLIı başlatır

🧠 Örnek Çalışma Çıktısı

----------------------------------------
🔍 Mevcut aktif key: lite
🧩 Yeni key seçildi: Claude Code PRO api key
🔁 .env dosyası güncellendi (ACTIVE_KEY=pro)
💀 Çalışan Claude CLI süreçleri kapatılıyor...
✅ Yeni key aktif: Claude Code PRO api key
🔑 Anahtar son 4 hane: ****7e8a
🌐 Base URL: https://api.z.ai/api/anthropic
🧠 Model: glm-4.6
🚀 Claude CLI yeni key ve ayarlarla başlatılıyor...
----------------------------------------

💡 İpucu

Her projenin kendi .env dosyası olabilir.
Betik, bulunduğun dizindeki .env dosyasını baz alır.
Farklı projeler farklı API anahtarları ve modellerle izole çalışabilir.

Description
No description provided
Readme 31 KiB
Languages
Shell 100%