OpenCode in der Konsole
Wie die TUI von OpenCode Lite auf Text.js aufbaut und wie du sie lokal startest.
OpenCode ist ein Open-Source-Programmieragent. OpenCode Lite ist ein mit Text.js entwickelter Konsolenclient dafür.
Ausprobieren
- Auf dieser Website: Besuche OpenCode und öffne DevTools.
- Lokal:
bunx create-text-app my-app --template opencode.
Die Website betreibt eine Sandbox mit einem skriptgesteuerten Agenten. Gib einen beliebigen Prompt ein.
Aufbau
| Bereich | Komponenten |
|---|---|
| Gesprächsverlauf | <ScrollBox stickyScroll> + <Markdown> |
| Werkzeugkarten | <Code> und <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> );}Tasten
| Taste | Aktion |
|---|---|
Enter | Senden |
Shift+Tab | Agenten wechseln (build / plan) |
Ctrl+P | Befehle |
Ctrl+X dann L | Sitzungen |
Ctrl+X dann N | Neue Sitzung |
Zweimal Esc | Laufende Sitzung unterbrechen |
Einen lokalen Server verbinden
# From any directory:opencode service status # If stopped: opencode service startbunx @textjs/opencode@latest proxyLass die Bridge laufen. Gib auf der OpenCode-Seite http://127.0.0.1:4096 ein, drücke Verbinden und erlaube den Zugriff auf das lokale Netzwerk, falls Chrome danach fragt. Gib dann den Kopplungscode ein, den die Bridge ausgegeben hat. Die Seite bleibt gekoppelt, bis die Bridge neu startet oder du Trennen drückst. Verwende die Bridge-URL, nicht den Dienst-Port: Die Bridge liefert die Zugangsdaten für den Dienst und die CORS-Header. Beende sie mit Ctrl+C, wenn du fertig bist.
Für einen Vordergrundserver, der bereits auf Port 4096 läuft, führe bunx @textjs/opencode@latest proxy --port 4097 --target http://127.0.0.1:4096 aus und verbinde die Seite mit Port 4097. Für einen passwortgeschützten Vordergrundserver exportiere dessen OPENCODE_PASSWORD in der Bridge-Shell; trage kein Passwort in eine Browser-URL ein.
Die Bridge ist das Paket @textjs/opencode. Es hat keine Abhängigkeiten und läuft auch mit npx unter Node 22 oder neuer. In einem Text.js-Projekt startet text proxy dieselbe Bridge.