Skip to content

fuko2935/AIstudioProxyAPI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

389 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Studio Proxy API

Bu, Qwen Chat (chat.qwen.ai) web arayüzünü OpenAI uyumlu API'ye dönüştüren Python tabanlı bir proxy sunucusudur. Camoufox (parmak izi algılamayı önleyen Firefox) ve Playwright otomasyonu ile stabil API erişimi sağlar.

Star History Chart

This project is generously sponsored by ZMTO. Visit their website: https://zmto.com/

Bu proje ZMTO'nun cömert sunucu sponsorluğuyla destekleniyor. Web sitelerini ziyaret edin: https://zmto.com/


Teşekkürler (Acknowledgements)

Bu projenin doğuşu ve gelişimi, aşağıdaki bireyler, organizasyonlar ve toplulukların cömert desteği ve akıllı katkıları olmadan mümkün değildi:

Aynı zamanda, sorun göndererek, öneriler sunarak, kullanım deneyimleri paylaşarak ve kod düzeltmeleri katkıda bulunarak bu projeye sessizce adanan her arkadaşa içtenlikle teşekkür ederiz. Ortak çabalarınız bu projeyi daha iyi hale getirdi!


Bu, şu anda sürdürülen Python sürümüdür. Artık sürdürülmeyen Javascript sürümü için deprecated_javascript_version/README.md'ye bakın.

ℹ️ 2025'ten itibaren, proje Alibaba Cloud Qwen Chat'e (https://chat.qwen.ai/) taşındı. Script otomatik olarak bu siteye bağlanacak ve Qwen3-Max, Qwen3-VL gibi resmi modelleri destekleyecek. Google AI Studio ile ilgili mantık kaldırıldı.

Sistem Gereksinimleri

  • Python: >=3.9, <4.0 (3.10+ önerilir en iyi performans için, Docker ortamında 3.10 kullanılır)
  • Bağımlılık yönetimi: Poetry (Modern Python bağımlılık yönetim aracı, geleneksel requirements.txt'yi değiştirir)
  • Tip kontrolü: Pyright (İsteğe bağlı, geliştirme sırasında tip kontrolü ve IDE desteği için)
  • İşletim sistemi: Windows, macOS, Linux (Tamamen platformlar arası destek, Docker dağıtımı x86_64 ve ARM64'i destekler)
  • Bellek: 2GB+ kullanılabilir bellek önerilir (Tarayıcı otomasyonu gerektirir)
  • : Google AI Studio'ya erişim için stabil internet bağlantısı (Proxy yapılandırması desteklenir)

Ana Özellikler

  • OpenAI uyumlu API: /v1/chat/completions uç noktasını destekler, OpenAI istemcileri ve üçüncü taraf araçlarla tamamen uyumludur
  • Üç katmanlı akış yanıt mekanizması: Akış proxy'si → Dış Helper hizmeti → Playwright sayfa etkileşimi çoklu garantisi entegrasyonu
  • Akıllı model değiştirme: API isteğindeki model alanı aracılığıyla AI Studio'daki modelleri dinamik olarak değiştirir
  • Tam parametre kontrolü: temperature, max_output_tokens, top_p, stop, reasoning_effort gibi tüm ana parametreleri destekler
  • Parmak izi algılama karşıtı: Camoufox tarayıcısı kullanarak otomatikleştirilmiş script olarak algılanma riskini düşürür
  • Script enjeksiyon özelliği v3.0: Playwright yerel ağ müdahalesini kullanır, yağlı maymun script'leri dinamik montajı destekler, %100 güvenilir 🆕
  • Modern Web UI: Yerleşik test arayüzü, gerçek zamanlı sohbet, durum izleme, kademeli API anahtar yönetimi destekler
  • Grafiksel arayüz başlatıcısı: Özellik zengin GUI başlatıcısı sağlar, yapılandırma ve süreç yönetimini basitleştirir
  • Esnek kimlik doğrulama sistemi: İsteğe bağlı API anahtar kimlik doğrulaması destekler, OpenAI standart Bearer token formatıyla tamamen uyumludur; Qwen oturum açma akışı varsayılan olarak devre dışı, doğrudan ziyaretçi moduyla çalışır
  • Modüler mimari: Net modül ayrımı tasarımı, api_utils/, browser_utils/, config/ gibi bağımsız modüller
  • Birleşik yapılandırma yönetimi: .env dosyasına dayalı birleşik yapılandırma şekli, ortam değişkeni geçersiz kılma, Docker uyumlu destekler
  • Modern geliştirme araçları: Poetry bağımlılık yönetimi + Pyright tip kontrolü, mükemmel geliştirme deneyimi sağlar

Qwen Oturum Açma Desteği (İsteğe Bağlı)

Mevcut Qwen Chat ziyaretçi modu sağlar, herhangi bir tarayıcı kimlik doğrulama dosyası kaydetmeye veya yüklemeye gerek yok. Proje bu nedenle tüm oturum açma ile ilgili akışları varsayılan olarak devre dışı bıraktı (ENABLE_QWEN_LOGIN_SUPPORT=false). Eğer sonraki Qwen stratejisini değiştirir ve etkileşimli oturum açmayı yeniden etkinleştirmeye ihtiyaç olursa, sadece ortam değişkeninde ENABLE_QWEN_LOGIN_SUPPORTtrue olarak ayarlayın, ilgili GUI/CLI seçenekleri ve kimlik doğrulama dosyası yönetim işlevleri otomatik olarak geri yüklenir。

Sistem Mimarisi

graph TD
    subgraph "Kullanıcı Ucu (User End)"
        User["Kullanıcı (User)"]
        WebUI["Web UI (Browser)"]
        API_Client["API İstemcisi (API Client)"]
    end

    subgraph "Başlatma ve Yapılandırma (Launch & Config)"
        GUI_Launch["gui_launcher.py (Grafiksel Başlatıcı)"]
        CLI_Launch["launch_camoufox.py (Komut Satırı Başlatma)"]
        EnvConfig[".env (Birleşik Yapılandırma)"]
        KeyFile["auth_profiles/key.txt (API Keys)"]
        ConfigDir["config/ (Yapılandırma Modülleri)"]
    end

    subgraph "Çekirdek Uygulama (Core Application)"
        FastAPI_App["api_utils/app.py (FastAPI Uygulaması)"]
        Routes["api_utils/routes.py (Rota İşleme)"]
        RequestProcessor["api_utils/request_processor.py (İstek İşleme)"]
        AuthUtils["api_utils/auth_utils.py (Kimlik Doğrulama Yönetimi)"]
        PageController["browser_utils/page_controller.py (Sayfa Kontrolü)"]
        ScriptManager["browser_utils/script_manager.py (Script Enjeksiyonu)"]
        ModelManager["browser_utils/model_management.py (Model Yönetimi)"]
        StreamProxy["stream/ (Akış Proxy Sunucusu)"]
    end

    subgraph "Dış Bağımlılıklar (External Dependencies)"
        CamoufoxInstance["Camoufox Tarayıcısı (Parmak İzi Karşıtı)"]
        AI_Studio["Google AI Studio"]
        UserScript["Yağlı Maymun Script'leri (İsteğe Bağlı)"]
    end

    User -- "Çalıştır (Run)" --> GUI_Launch
    User -- "Çalıştır (Run)" --> CLI_Launch
    User -- "Erişim (Access)" --> WebUI

    GUI_Launch -- "Başlat (Starts)" --> CLI_Launch
    CLI_Launch -- "Başlat (Starts)" --> FastAPI_App
    CLI_Launch -- "Yapılandır (Configures)" --> StreamProxy

    API_Client -- "API İsteği (Request)" --> FastAPI_App
    WebUI -- "Sohbet İsteği (Chat Request)" --> FastAPI_App

    FastAPI_App -- "Yapılandırma Oku (Reads Config)" --> EnvConfig
    FastAPI_App -- "Rotaları Kullan (Uses Routes)" --> Routes
    AuthUtils -- "Anahtar Doğrula (Validates Key)" --> KeyFile
    ConfigDir -- "Ayarlar Sağla (Provides Settings)" --> EnvConfig

    Routes -- "İsteği İşle (Processes Request)" --> RequestProcessor
    Routes -- "Kimlik Doğrulama Yönetimi (Auth Management)" --> AuthUtils
    RequestProcessor -- "Tarayıcı Kontrol Et (Controls Browser)" --> PageController
    RequestProcessor -- "Proxy Kullan (Uses Proxy)" --> StreamProxy

    PageController -- "Model Yönetimi (Model Management)" --> ModelManager
    PageController -- "Script Enjeksiyonu (Script Injection)" --> ScriptManager
    ScriptManager -- "Script Yükle (Loads Script)" --> UserScript
    ScriptManager -- "İşlevsellik Geliştir (Enhances)" --> CamoufoxInstance
    PageController -- "Otomasyon (Automates)" --> CamoufoxInstance
    CamoufoxInstance -- "Erişim (Accesses)" --> AI_Studio
    StreamProxy -- "İsteği İlet (Forwards Request)" --> AI_Studio

    AI_Studio -- "Yanıt (Response)" --> CamoufoxInstance
    AI_Studio -- "Yanıt (Response)" --> StreamProxy

    CamoufoxInstance -- "Veri Döndür (Returns Data)" --> PageController
    StreamProxy -- "Veri Döndür (Returns Data)" --> RequestProcessor

    FastAPI_App -- "API Yanıtı (Response)" --> API_Client
    FastAPI_App -- "UI Yanıtı (Response)" --> WebUI
Loading

Yapılandırma Yönetimi ⭐

Yeni Özellik: Proje şimdi .env dosyası aracılığıyla yapılandırma yönetimini destekliyor, sabit kodlanmış parametrelerden kaçınıyor!

Hızlı Yapılandırma

# 1. Yapılandırma şablonunu kopyala
cp .env.example .env

# 2. Yapılandırma dosyasını düzenle
nano .env  # veya başka bir düzenleyici kullan

# 3. Hizmeti başlat (otomatik yapılandırma oku)
python gui_launcher.py
# veya doğrudan komut satırı başlat
python launch_camoufox.py --headless

Ana Avantajlar

  • Sürüm güncellemesi endişesi yok: Bir git pull ile güncelleme tamamlanır, yeniden yapılandırmaya gerek yok
  • Yapılandırma merkezi yönetimi: Tüm yapılandırma öğeleri .env dosyasında birleştirildi
  • Başlatma komutları basitleştirildi: Karmaşık komut satırı parametreleri olmadan, tek tıklama başlatma
  • Güvenlik: .env dosyası .gitignore tarafından yoksayılır, yapılandırma sızmaz
  • Esneklik: Farklı ortamların yapılandırma yönetimini destekler
  • Docker uyumlu: Docker ve yerel ortam aynı yapılandırma şeklini kullanır

Ayrıntılı yapılandırma açıklaması için Ortam Değişkeni Yapılandırma Kılavuzu'na bakın.

Kullanım Kılavuzu

gui_launcher.py (grafiksel arayüz) veya doğrudan launch_camoufox.py (komut satırı) kullanarak günlük çalıştırma önerilir. Sadece ilk kurulum veya kimlik doğrulama süresi dolduğunda hata ayıklama modunu kullanın.

Hızlı Başlangıç

Bu proje modern Python geliştirme araç zincirini kullanıyor, bağımlılık yönetimi için Poetry, tip kontrolü için Pyright.

🚀 Tek Tıklama Kurulum Script'i (Önerilir)

# macOS/Linux kullanıcıları
curl -sSL https://raw.githubusercontent.com/CJackHwang/AIstudioProxyAPI/main/scripts/install.sh | bash

# Windows kullanıcıları (PowerShell)
iwr -useb https://raw.githubusercontent.com/CJackHwang/AIstudioProxyAPI/main/scripts/install.ps1 | iex

📋 Manuel Kurulum Adımları

  1. Poetry'yi Kur (henüz kurulu değilse):

    # macOS/Linux
    curl -sSL https://install.python-poetry.org | python3 -
    
    # Windows (PowerShell)
    (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
    
    # veya paket yöneticisi kullan
    # macOS: brew install poetry
    # Ubuntu/Debian: apt install python3-poetry
  2. Projeyi Klonla:

    git clone https://github.com/CJackHwang/AIstudioProxyAPI.git
    cd AIstudioProxyAPI
  3. Bağımlılıkları Kur: Poetry otomatik olarak sanal ortam oluşturur ve tüm bağımlılıkları kurar:

    poetry install
  4. Sanal Ortamı Aktifleştir:

    # Yöntem 1: Shell'i aktifleştir (günlük geliştirme için önerilir)
    poetry env activate
    
    # Yöntem 2: Doğrudan komut çalıştır (otomatikleştirilmiş script'ler için önerilir)
    poetry run python gui_launcher.py

🔧 Sonraki Yapılandırma Adımları

  1. Ortam Yapılandırması: Ortam Değişkeni Yapılandırma Kılavuzu'na bakın - Önce yapılandırma önerilir
  2. İlk Kimlik Doğrulama: Kimlik Doğrulama Ayar Kılavuzu'na bakın
  3. Günlük Çalıştırma: Günlük Çalıştırma Kılavuzu'na bakın
  4. API Kullanımı: API Kullanım Kılavuzu'na bakın
  5. Web Arayüzü: Web UI Kullanım Kılavuzu'na bakın

🛠️ Geliştirici Seçenekleri

Eğer geliştiriciyseniz, ayrıca şunları yapabilirsiniz:

# Geliştirme bağımlılıklarını kur (tip kontrolü, test araçları vb. içerir)
poetry install --with dev

# Tip kontrolünü etkinleştir (pyright kurulu olmalı)
npm install -g pyright
pyright

# Proje bağımlılık ağacını görüntüle
poetry show --tree

# Bağımlılıkları güncelle
poetry update

📚 Ayrıntılı Belgeler

🚀 Hızlı Başlangıç

🔧 Özellik Kullanımı

⚙️ Gelişmiş Yapılandırma

🛠️ Geliştirme İlgili

About

aistudioproxyapi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.1%
  • JavaScript 24.7%
  • CSS 5.6%
  • HTML 2.4%
  • PowerShell 0.9%
  • Shell 0.8%
  • Dockerfile 0.5%