OpenCode en la consola
Cómo se construye la TUI de OpenCode Lite con Text.js y cómo ejecutarla localmente.
OpenCode es un agente de programación de código abierto. OpenCode Lite es un cliente de consola para este agente, creado con Text.js.
Probar
- En este sitio: visita OpenCode y abre DevTools.
- En local:
bunx create-text-app my-app --template opencode.
El sitio ejecuta un entorno aislado con un agente que sigue un guion. Escribe cualquier prompt.
Anatomía
| Región | Componentes |
|---|---|
| Transcripción | <ScrollBox stickyScroll> + <Markdown> |
| Tarjetas de herramientas | <Code> y <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> );}Teclas
| Tecla | Acción |
|---|---|
Enter | Enviar |
Shift+Tab | Cambiar de agente (compilación / planificación) |
Ctrl+P | Comandos |
Ctrl+X y luego L | Sesiones |
Ctrl+X y luego N | Nueva sesión |
Esc dos veces | Interrumpir la sesión en curso |
Conectar un servidor local
# From any directory:opencode service status # If stopped: opencode service startbunx @textjs/opencode@latest proxyDeja el puente en ejecución. En la página de OpenCode, introduce http://127.0.0.1:4096, pulsa Conectar y permite el acceso a la red local si Chrome lo solicita. Después, introduce el código de vinculación que imprimió el puente. La página permanece vinculada hasta que el puente se reinicie o pulses Desconectar. Usa la URL del puente, no el puerto del servicio: el puente proporciona la credencial del servicio y las cabeceras CORS. Detén el puente con Ctrl+C cuando termines.
Para un servidor en primer plano que ya use el puerto 4096, ejecuta bunx @textjs/opencode@latest proxy --port 4097 --target http://127.0.0.1:4096 y conecta la página al puerto 4097. Para un servidor en primer plano protegido con contraseña, exporta su OPENCODE_PASSWORD en el shell del puente; no incluyas una contraseña en una URL del navegador.
El puente es el paquete @textjs/opencode. No tiene dependencias y también se ejecuta con npx en Node 22 o posterior. Dentro de un proyecto de Text.js, text proxy inicia el mismo puente.