OpenCode nella console
Come la TUI di OpenCode Lite è costruita su Text.js e come eseguirla in locale.
OpenCode è un agente di programmazione open source. OpenCode Lite è un client console per OpenCode, realizzato con Text.js.
Provarlo
- Su questo sito: visita OpenCode e apri DevTools.
- In locale:
bunx create-text-app my-app --template opencode.
Il sito esegue una sandbox con un agente che segue uno script. Digita un prompt qualsiasi.
Anatomia
| Area | Componenti |
|---|---|
| Trascrizione | <ScrollBox stickyScroll> + <Markdown> |
| Schede degli strumenti | <Code> e <Diff> |
| Prompt | <Textarea> |
| Palette | <Modal> + <Select searchable> |
export default function SessionPage({ params }: PageProps<{ id: string }>) { const { messages, send } = useSession(params.id); return ( <Box className="flex-col grow"> <ScrollBox stickyScroll className="grow"> {messages.map((m) => <MessageView key={m.id} message={m} />)} </ScrollBox> <Textarea placeholder="Ask anything…" onSubmit={send} autoFocus /> </Box> );}Tasti
| Tasto | Azione |
|---|---|
Enter | Inviare |
Shift+Tab | Cambiare agente (build / plan) |
Ctrl+P | Comandi |
Ctrl+X poi L | Sessioni |
Ctrl+X poi N | Nuova sessione |
Esc due volte | Interrompere la sessione in esecuzione |
Collegare un server locale
# From any directory:opencode service status # If stopped: opencode service startbunx @textjs/opencode@latest proxyLascia il bridge in esecuzione. Nella pagina OpenCode, inserisci http://127.0.0.1:4096, premi Connetti e consenti l’accesso alla rete locale se Chrome lo richiede. Poi inserisci il codice di abbinamento stampato dal bridge. La pagina resta abbinata finché il bridge non si riavvia o premi Disconnetti. Usa l’URL del bridge, non la porta del servizio: il bridge fornisce la credenziale del servizio e gli header CORS. Arrestalo con Ctrl+C quando hai finito.
Per un server in primo piano già sulla porta 4096, esegui bunx @textjs/opencode@latest proxy --port 4097 --target http://127.0.0.1:4096 e collega la pagina alla porta 4097. Per un server in primo piano protetto da password, esporta la sua OPENCODE_PASSWORD nella shell del bridge; non inserire una password in un URL del browser.
Il bridge è il pacchetto @textjs/opencode. Non ha dipendenze e funziona anche con npx su Node 22 o versioni successive. All’interno di un progetto Text.js, text proxy avvia lo stesso bridge.