Il progetto ai-relay su GitHub
Il repository
Architettura e requisiti tecnici

Il gateway gira su Vercel Edge Functions e usa Redis per conservare chiavi, quote e statistiche. L'integrazione con Upstash avviene direttamente dal dashboard di Vercel tramite la creazione di un database free. Una volta collegato, il progetto riceve automaticamente le variabili KV_REST_API_URL e KV_REST_API_TOKEN.
L'API resta compatibile con l'SDK OpenAI: basta cambiare la base URL e usare lo stesso endpoint /v1/chat/completions. Il routing multi-provider permette di definire catene di fallback e una logica round-robin con backoff sui codici 429. Esiste anche un pannello admin protetto da chiave separata per gestire chiavi, modelli virtuali e webhook verso Slack o WeChat.
Deploy e configurazione

Il deploy si avvia dal pulsante Deploy with Vercel presente nel repository. Dopo l'inserimento delle tre chiavi (RELAY_API_KEY, RELAY_ADMIN_KEY, RELAY_SIGNING_SECRET) il progetto è online in circa due minuti. Successivamente si collega Upstash for Redis scegliendo il piano gratuito. Non serve configurare server, Docker o pipeline CI esterne.
Per testare si può usare una richiesta curl verso l'endpoint deployato, passando la chiave di relay nell'header Authorization. Il sistema genera anche chiavi temporanee firmate con HMAC-SHA256 che scadono automaticamente.
Limiti pratici
Il piano gratuito di Vercel e Upstash impone restrizioni sul numero di richieste e sulla latenza. Il gateway dipende interamente dall'infrastruttura Vercel: un outage della piattaforma blocca il servizio. La gestione delle quote e dei log avviene solo tramite Redis, quindi la persistenza è legata alla durata del piano scelto. Per carichi elevati o multi-regione servono configurazioni aggiuntive non incluse nel repository.
FAQ
Si può usare senza Redis? No. Il progetto richiede Upstash for Redis per conservare chiavi e contatori.
Il deploy funziona solo su Vercel? Sì. L'architettura è basata su Edge Runtime e variabili iniettate da Vercel.
Supporta modelli custom? Sì. È possibile definire mapping tra nomi virtuali e provider reali tramite la configurazione.
---
📖 Leggi anche
- Agentic Coding: Una Trappola per lo Sviluppo Software?
- Phantom su GitHub: L'AI co-worker auto-evolvente e sicuro
- GitHub: Dashboard web per Hermes Agent e AI chat multicanale
Hai bisogno di una consulenza?
Aiuto aziende e startup a sviluppare software, automatizzare processi e integrare AI. Parliamone.
Scrivimi