AIProxyServer - Home

AIProxyServer è un proxy locale che espone una singola API compatibile con OpenAI per undici grandi fornitori di AI cloud. Le tue altre app si connettono a http://localhost, mentre AIProxyServer custodisce le API key, instrada le richieste upstream e traduce il protocollo di ogni fornitore nel formato OpenAI che già conosci.

AIProxyServer

AIProxyServer

AIProxyServer - Main Screen

AIProxyServer - Main Screen

Perché AIProxyServer?

  • Un caveau, ogni fornitore — Memorizza le tue API key di ChatGPT, Claude, Gemini, Grok e altri una sola volta. Ogni app connessa le riutilizza senza mai vedere i segreti.
  • Compatibile con App Store — Le app per mobile e tablet distribuite tramite gli store non possono includere schermate di registrazione delle API key. Punta quelle app a AIProxyServer in esecuzione sul tuo Mac e questa limitazione scompare.
  • Compatibilità OpenAI plug-and-play — Qualsiasi client che parla l'API OpenAI Chat Completions funziona subito. Nessun adattatore personalizzato richiesto per Claude, Gemini, ERNIE o qualunque altro cloud supportato.
  • Cifrato su disco — Le API key sono memorizzate in un caveau cifrato usando una master key per macchina con permessi di file ristretti.

Funzionalità principali

  • Undici fornitori cloud — OpenAI (ChatGPT), Anthropic (Claude), Google (Gemini), xAI (Grok), Azure OpenAI (Copilot), Perplexity, Groq, DeepSeek, Moonshot (Kimi), Alibaba (Qwen) e Baidu (ERNIE)
  • Endpoint compatibili con OpenAI — /<provider>/v1/chat/completions e /<provider>/v1/models su ogni fornitore
  • Streaming in tempo reale — Server-Sent Events (SSE) inoltrati per ogni fornitore, inclusi Anthropic e Gemini i cui formati nativi vengono tradotti al volo
  • Autenticazione Bearer Token opzionale — Disattivata di default per un uso locale senza problemi, facilmente attivabile quando esponi il proxy alla tua LAN
  • Solo localhost di default — L'esposizione di rete è opt-in; il proxy si associa solo a 127.0.0.1 finché non abiliti l'accesso LAN
  • Caveau di credenziali cifrato — API key e secret key memorizzate con cifratura Fernet e un file master key con permessi 0600
  • Avvio automatico al lancio — Avvia l'app e il proxy è subito pronto a ricevere richieste
  • Note e link per fornitore — Accesso rapido alla pagina delle API key di ciascun fornitore direttamente dalla finestra principale

Perfetto per

  • Sviluppatori che creano app multipiattaforma che non possono incorporare UI di registrazione delle API key a causa delle policy degli store
  • Sviluppatori Flutter, Swift, Electron e di app web che vogliono un singolo backend compatibile con OpenAI per ogni AI cloud
  • Power user abbonati a più servizi AI che vogliono cambiare fornitore senza modificare il codice client
  • Piccoli team che condividono un singolo Mac come gateway AI per telefoni, tablet e laptop sulla stessa rete Wi-Fi
  • Chiunque preferisca tenere le API key in un unico caveau sulla propria macchina piuttosto che sparse nelle impostazioni di ogni app

Per iniziare

  • Avvia AIProxyServer — il proxy parte automaticamente sulla porta 8421
  • Scegli un fornitore dall'elenco e clicca Set API Key, poi incolla la chiave ottenuta dalla console del fornitore
  • Per ERNIE aggiungi sia API Key che Secret Key. Per Azure OpenAI incolla l'URL dell'endpoint di distribuzione
  • Punta la tua app client a http://localhost:8421/<provider>/v1 usando l'OpenAI SDK o qualunque client HTTP compatibile
  • Se vuoi accedere al proxy da un altro dispositivo sulla stessa Wi-Fi, abilita Allow LAN Access e attiva Require Bearer Token per proteggerlo

Privacy

  • Le API key non lasciano mai il tuo computer. Memorizzate cifrate con una master key in ~/Library/Application Support/AIProxyServer/ con permessi 0600
  • Il proxy inoltra le richieste solo ai fornitori che hai configurato esplicitamente — nulla viene inviato altrove
  • Nessuna telemetria, analitica o chiamata in background di alcun tipo
  • Nessun account, nessuna registrazione, nessun componente cloud. Tu esegui il proxy, tu possiedi le chiavi
  • Ascolto solo su localhost di default; l'esposizione LAN deve essere attivata da te