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

AreaComponenti
Trascrizione<ScrollBox stickyScroll> + <Markdown>
Schede degli strumenti<Code> e <Diff>
Prompt<Textarea>
Palette<Modal> + <Select searchable>
app/session/[id]/page.tsxtsx
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

TastoAzione
EnterInviare
Shift+TabCambiare agente (build / plan)
Ctrl+PComandi
Ctrl+X poi LSessioni
Ctrl+X poi NNuova sessione
Esc due volteInterrompere la sessione in esecuzione

Collegare un server locale

# From any directory:opencode service status  # If stopped: opencode service startbunx @textjs/opencode@latest proxy

Lascia 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.

Modifica questa pagina su GitHub