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
| Obszar | Komponenty |
|---|---|
| Zapis rozmowy | <ScrollBox stickyScroll> + <Markdown> |
| Karty narzędzi | <Code> i <Diff> |
| Prompt | <Textarea> |
| Paleta | <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> );}Skróty klawiszowe
| Klawisz | Działanie |
|---|---|
Enter | Wysłanie |
Shift+Tab | Zmiana agenta (build / plan) |
Ctrl+P | Polecenia |
Ctrl+X, potem L | Sesje |
Ctrl+X, potem N | Nowa sesja |
Esc dwa razy | Przerwanie bieżącej sesji |
Podłączanie lokalnego serwera
# From any directory:opencode service status # If stopped: opencode service startbunx @textjs/opencode@latest proxyPozostaw 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.