Opencode Web: Usa opencode direttamente dal browser
Come trasformare opencode in una web app accessibile da browser, dalla configurazione del provider LLM all'avvio del server con autenticazione.
Testato il: 2026-07-29 Ambiente: Linux · Node.js v24.15.0 · opencode 1.18.9 · npm 11.6.1
Prerequisiti
- Node.js 18 o superiore (verifica con
node --version) - Una chiave API per almeno un provider LLM supportato da opencode (Anthropic, OpenAI, OpenRouter, Groq e decine di altri)
- Un browser moderno (Firefox, Chrome, Edge o qualunque cosa usi)
- Un terminale con supporto Unicode: WezTerm, Alacritty, Ghostty o Kitty vanno benissimo
1. Installa opencode
Se hai già Node.js, il metodo più diretto è npm:
npm install -g opencode-ai@latestAltre strade possibili:
# Script di installazione ufficiale
curl -fsSL https://opencode.ai/install | bash
# Homebrew (macOS e Linux, sempre aggiornato)
brew install anomalyco/tap/opencodeVerifica che l'installazione sia riuscita:
opencode --versionIl comando restituisce 1.18.9 o superiore. Se non lo trova, chiudi e riapri il terminale, oppure controlla che la directory npm globale sia nel PATH.
2. Configura un provider LLM
A opencode serve una chiave API per parlare con un modello. Supporta oltre 75 provider: Anthropic, OpenAI, Groq, OpenRouter e molti altri.
Il metodo più immediato: il login interattivo.
opencode auth loginTi guida nella scelta del provider (puoi scrivere parte del nome per filtrarlo) e ti chiede la chiave, che finisce in ~/.local/share/opencode/auth.json.
Se sai già quale provider vuoi usare, saltati la selezione iniziale:
opencode auth login --provider anthropicAlcuni provider (OpenAI ChatGPT Plus/Pro, Anthropic Claude Pro/Max) supportano l'autenticazione OAuth: opencode auth login apre il browser per autorizzare l'accesso, niente chiavi da incollare.
Via variabile d'ambiente
Se hai già una chiave a portata di mano e preferisci non usare il comando interattivo, esportala e opencode la rileverà all'avvio:
export ANTHROPIC_API_KEY=sk-ant-api03-la-tua-chiave
# oppure
export OPENAI_API_KEY=sk-la-tua-chiavePer aggiungerla in modo permanente, inserisci la stessa riga nel tuo ~/.bashrc o ~/.zshrc.
Verifica che il provider sia configurato:
opencode auth listIl provider compare nella lista con stato configured.
3. Avvia il server web
Con un provider configurato, puoi avviare l'interfaccia web:
opencode webIl comando avvia un server HTTP su 127.0.0.1 con una porta casuale, apre il browser all'URL del server e carica l'interfaccia web. Tutto in un colpo solo.
Nel terminale vedrai un output simile a:
Local access: http://127.0.0.1:38421La porta cambia ogni volta se non la specifichi: per averla fissa, usa --port (lo vedremo al passo 5).
4. Esplora l'interfaccia web
Il browser mostra la home page dell'interfaccia web di opencode, con due aree distinte.
A sinistra la lista delle sessioni: vuota al primo avvio. "New Session" per crearne una, scegliere il modello e iniziare a interagire con opencode come dalla TUI.
In alto "See Servers" apre la sezione server: stato del server, porta, hostname e connessioni attive.
Nel browser hai la stessa esperienza della TUI: chatti con opencode, carichi file con drag and drop, cambi modello e agente con Tab o /. Tutto quello che faresti da terminale.
5. Configura porta, hostname e mDNS
I flag da linea di comando ti danno il controllo su dove e come il server è accessibile.
Porta fissa
Per evitare porte casuali e avere sempre lo stesso indirizzo:
opencode web --port 4096Accesso dalla rete locale
Di default il server ascolta solo su 127.0.0.1 (localhost). Per renderlo accessibile da altri dispositivi sulla tua rete:
opencode web --hostname 0.0.0.0 --port 4096Il terminale ora mostrerà sia l'indirizzo locale che quello di rete:
Local access: http://localhost:4096
Network access: http://192.168.1.100:4096mDNS discovery
Se vuoi raggiungere il server con un nome facile da ricordare invece dell'IP:
opencode web --mdnsQuesto imposta automaticamente --hostname 0.0.0.0 e pubblica il server come opencode.local sulla rete locale. Per personalizzare il dominio:
opencode web --mdns --mdns-domain mio-progetto.localUtile se hai più istanze di opencode in esecuzione contemporaneamente.
Configurazione via file
Se preferisci non ricordare i flag ogni volta, puoi mettere tutto in opencode.json nella root del tuo progetto (o in ~/.config/opencode/opencode.json per una config globale):
{
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true
}
}I flag da linea di comando hanno la precedenza sulle impostazioni del file: se il file dice "port": 4096 ma avvii con --port 3000, vince 3000.
6. Attacca la TUI al server web
Con il server web puoi collegare la TUI in qualsiasi momento, senza fermare nulla. Apri un altro terminale e lancia:
opencode attach http://localhost:4096Aggancia l'interfaccia testuale al server già in esecuzione: TUI e web condividono sessioni e stato. Puoi iniziare una conversazione nel browser, continuarla da terminale e tornare indietro senza perdere nulla.
Se il server è protetto da password (passo 7), ti serviranno i flag --username e --password:
opencode attach http://localhost:4096 --username opencode --password la-tua-password7. Proteggi l'accesso con autenticazione
Se esponi il server sulla rete (--hostname 0.0.0.0), proteggilo con due variabili d'ambiente:
OPENCODE_SERVER_PASSWORD=unasupersecret opencode web --hostname 0.0.0.0 --port 4096Lo username di default è opencode. Per cambiarlo:
OPENCODE_SERVER_USERNAME=admin OPENCODE_SERVER_PASSWORD=unasupersecret opencode web --hostname 0.0.0.0 --port 4096All'apertura del browser vengono chiesti username e password. Stessa autenticazione per opencode attach, opencode run --attach e qualsiasi altro client.
Verifica
Per verificare che tutto funzioni:
- Server in esecuzione: apri
http://localhost:4096(o la porta che hai scelto) nel browser. Devi vedere l'interfaccia web di opencode con la lista delle sessioni. - Nuova sessione: clicca "New Session", seleziona un modello, scrivi un prompt di prova (ad esempio "Ciao, chi sei?") e invia. Dovresti ricevere una risposta dal modello.
- TUI collegata: da un altro terminale, lancia
opencode attach http://localhost:4096. La TUI dovrebbe connettersi e mostrare le stesse sessioni visibili nell'interfaccia web. - Autenticazione attiva (se l'hai configurata): chiudi la sessione del browser, riapri l'URL e verifica che ti venga chiesto username e password.
Limiti noti
- Su Windows l'interfaccia web è più stabile da WSL che da PowerShell. Se sei su Windows e qualcosa non funziona, installa opencode dentro WSL e avvia il server da lì.
- L'mDNS richiede che il servizio Avahi (Linux) o Bonjour (macOS) sia attivo sulla macchina che ospita il server e sui client che vogliono risolverlo.
Usa il mio link di referral, se ti iscrivi e ti abboni a Go, entrambi riceveremo un credito di utilizzo di $5 da applicare ai limiti di utilizzo Go