OpenCode w konsoli

Jak interfejs TUI OpenCode Lite powstał na bazie Text.js i jak uruchomić go lokalnie.

OpenCode to otwartoźródłowy agent do programowania. OpenCode Lite to jego klient konsolowy zbudowany za pomocą Text.js.

Wypróbowanie

  • Na tej stronie: przejdź do OpenCode i otwórz DevTools.
  • Lokalnie: bunx create-text-app my-app --template opencode.

Strona uruchamia środowisko testowe z agentem działającym według skryptu. Wpisz dowolny prompt.

Budowa

ObszarKomponenty
Zapis rozmowy<ScrollBox stickyScroll> + <Markdown>
Karty narzędzi<Code> i <Diff>
Prompt<Textarea>
Paleta<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>  );}

Skróty klawiszowe

KlawiszDziałanie
EnterWysłanie
Shift+TabZmiana agenta (build / plan)
Ctrl+PPolecenia
Ctrl+X, potem LSesje
Ctrl+X, potem NNowa sesja
Esc dwa razyPrzerwanie bieżącej sesji

Podłączanie lokalnego serwera

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

Pozostaw most uruchomiony. Na stronie OpenCode wpisz http://127.0.0.1:4096, naciśnij Połącz i zezwól na dostęp do sieci lokalnej, jeśli przeglądarka Chrome o to poprosi. Następnie wpisz kod parowania wyświetlony przez most. Strona pozostaje sparowana do ponownego uruchomienia mostu lub naciśnięcia Rozłącz. Użyj adresu URL mostu zamiast portu usługi: most dostarcza dane uwierzytelniające usługi i nagłówki CORS. Po zakończeniu zatrzymaj go skrótem Ctrl+C.

Jeśli serwer działa już na pierwszym planie na porcie 4096, uruchom bunx @textjs/opencode@latest proxy --port 4097 --target http://127.0.0.1:4096 i połącz stronę z portem 4097. Jeśli serwer działający na pierwszym planie jest chroniony hasłem, wyeksportuj jego zmienną OPENCODE_PASSWORD w powłoce mostu; nie umieszczaj hasła w adresie URL przeglądarki.

Most to pakiet @textjs/opencode. Nie ma zależności i działa również z npx w środowisku Node 22 lub nowszym. W projekcie Text.js polecenie text proxy uruchamia ten sam most.

Edytuj tę stronę w serwisie GitHub