Open source · iOS e sistemi distribuiti

Codex Relay

v0.1.0

Un’app per seguire e continuare le sessioni Codex da iPhone, collegata alle proprie macchine tramite un Hub self-hosted.

Vedi Codex Relay

Go · Swift · SwiftUI · WebSocket · Self-hosting

Screenshot autentici delle viste SwiftUI con dati dimostrativi. Non documentano una sessione live.

Panoramica

Seguire le sessioni Codex delle proprie macchine da iPhone, senza trasformare il client mobile in un terminale remoto generico.

Progettazione e sviluppo di Hub, Agent, protocollo di sincronizzazione, client SwiftUI nativo, PWA e flusso di rilascio.

Contesto

Seguire sessioni aperte su più macchine richiede di distinguere stato del lavoro, disponibilità della connessione e attività che attendono un intervento. Il client mobile non esegue un terminale remoto generico.

Architettura

Client SwiftUI, Hub e Agent in Go. Il client riceve aggiornamenti attraverso il servizio centrale; SQLite conserva lo stato applicativo. HTTP e WebSocket separano richieste e aggiornamenti, con riconnessione e revoca degli accessi esplicite.

  • Release pubblica v0.1.0
  • Hub e Agent in Go
  • App iOS 17+ in SwiftUI e fallback PWA

Implementazione e decisioni

Hub e agent con responsabilità distinte

L’agent si collega al servizio centrale; il client riceve sessioni e aggiornamenti tramite l’Hub. Riconnessione e stato delle macchine sono problemi espliciti del protocollo, non dettagli nascosti nell’interfaccia.

La lettura è uno stato da preservare

La politica di scorrimento distingue chi segue l’ultimo messaggio da chi sta leggendo la cronologia. Una nuova risposta può aggiornare i dati senza spostare automaticamente il punto di lettura.

Accesso e persistenza

SQLite conserva informazioni applicative e token in forma hash. Revoca degli accessi e riconnessione richiedono percorsi di errore verificabili, oltre al caso di connessione riuscita.

Verifica

Le verifiche documentate includono test Go con race detector, test Swift, build del simulatore e controlli sugli installer. Queste prove non certificano ogni combinazione di rete e dispositivo: l’interazione su iPhone e le notifiche richiedono verifiche dedicate.

Stato attuale

Release pubblica v0.1.0, installazione self-hosted. Non è dichiarata una distribuzione su App Store. Il progetto è indipendente e non è un’app ufficiale OpenAI.

Riferimenti

Attività tecniche collegate