Guía de OpenCode Web
OpenCode Web en el navegador: configura el puerto y protege el acceso
La respuesta corta: ejecuta opencode web cuando quieras usar OpenCode desde un navegador, conserva localhost para un equipo personal y define una contraseña antes de permitir conexiones externas. Esta guía cubre la interfaz Web, puertos, nombres de host, CORS, sesiones, opencode attach, Windows, WSL y la separación entre un error del navegador, del proveedor y del proyecto.
- Respuesta rápida
- OpenCode Web en el navegador
- Comprobación documental
- Comprobado el 25 de octubre de 2026
- Tiempo de lectura
- 14 min de lectura
Respuesta rápida
OpenCode Web de un vistazo

| Objetivo | Comando o ajuste | Qué comprobar |
|---|---|---|
| Iniciar en local | opencode web | El navegador abre y el servidor queda en localhost. |
| Fijar un puerto | opencode web --port 4096 | El puerto está libre y se guarda la URL. |
| Permitir la red | --hostname 0.0.0.0 | Se define una contraseña antes de conectar otro dispositivo. |
| Proteger un servidor compartido | OPENCODE_SERVER_PASSWORD | El secreto se inyecta en runtime y no se sube al repositorio. |
| Conectar la TUI | opencode attach http://localhost:4096 | La Web y la terminal usan la sesión correcta. |
Respuesta rápida: empieza en local y amplía el límite de forma consciente
OpenCode Web es una interfaz de navegador para el servidor de OpenCode. Sirve para ver sesiones, abrir un proyecto en una pestaña o mantener una segunda vista sin trabajar todo el tiempo en la TUI. Sigue siendo un servicio de desarrollo local; no es una cuenta alojada que gestione tus credenciales de proveedor.
El primer comando debe ser opencode web sin cambiar el hostname. La documentación oficial indica que el servidor usa 127.0.0.1, elige un puerto disponible y abre el navegador predeterminado. Con ese límite local puedes comprobar carpeta, proveedor, permisos y sesiones antes de exponer nada.
Solo después elige un puerto fijo, un hostname de red, mDNS o CORS. Cada opción cambia quién puede conectar. Un navegador que no carga suele señalar proceso o puerto; un servidor visible para personas equivocadas es un problema de límite y requiere reducir la exposición.
Inicia OpenCode Web y anota la URL local
opencode webEjecuta el comando desde el repositorio que quieres usar. OpenCode inicia el servidor Web y abre el navegador. Mantén visible la terminal que posee el proceso para anotar dirección, puerto y avisos. Que una pestaña cargue no demuestra que el proceso vea los archivos correctos o alcance el modelo elegido.
Para una configuración repetible usa opencode web --port 4096. Un puerto fijo facilita marcadores, scripts y opencode attach, pero puede chocar con otro proceso. Si falla, identifica primero quién ocupa el puerto; no publiques todos los puertos del equipo como solución.
La primera tarea Web debe ser de solo lectura: listar el proyecto, resumir un archivo pequeño y revisar la sesión o el estado del servidor. Después comprueba Git status y el modelo desde el mismo workspace. Así separas navegador, proceso, repositorio y proveedor.
Puerto, hostname, mDNS y CORS: qué cambia cada opción
El puerto es un número del host; el hostname define qué interfaces aceptan conexiones. El valor 127.0.0.1 es local. --port 4096 cambia el número, mientras que --hostname 0.0.0.0 cambia la exposición y permite que otros equipos intenten conectar.
mDNS resulta cómodo en una red local de confianza. El ejemplo oficial usa opencode web --mdns y anuncia opencode.local; --mdns-domain separa varias instancias. Descubrir un servicio no cifra el tráfico ni sustituye la autenticación.
CORS controla qué orígenes del navegador pueden hacer peticiones entre dominios. Puede ser necesario para un frontend propio, pero no vuelve privado un servidor expuesto. Mantén una lista exacta y prueba el Origin real, no una regla comodín.
| Ajuste | Predeterminado o ejemplo | Límite que debes revisar |
|---|---|---|
| Puerto | Aleatorio; --port 4096 | Conflicto, marcador y URL de attach |
| Hostname | 127.0.0.1; LAN con 0.0.0.0 | Interfaces y equipos que pueden entrar |
| mDNS | --mdns y dominio opcional | Red de confianza y colisiones de nombre |
| CORS | --cors https://example.com | Origen exacto, no permiso global |
Protege OpenCode Web antes de permitir acceso de red
La advertencia oficial es clara: sin OPENCODE_SERVER_PASSWORD el servidor queda sin protección. Puede valer para una prueba solo local, pero no cuando otro dispositivo puede conectarse. Inyecta la contraseña al iniciar y no la guardes en opencode.json, historial, capturas ni .env versionados.
El usuario predeterminado es opencode y OPENCODE_SERVER_USERNAME permite cambiarlo. Estas credenciales protegen el servidor Web, no el proveedor ni el repositorio. Revisa por separado las claves, permisos, montajes y el usuario que ejecuta el proceso.
Antes de usar --hostname 0.0.0.0, revisa firewall y segmento de red. Prefiere una red privada, una contraseña temporal y un puerto conocido. Si hay proxy, VPN o frontend, documenta dónde termina TLS y qué capa sigue viendo la sesión.

Gestiona sesiones y conecta la terminal
La página inicial Web muestra sesiones activas y permite crear otras. Confirma el proyecto antes de enviar una petición. Una pestaña puede sobrevivir a un cambio de proceso o repositorio, así que vuelve a comprobar el estado del servidor en vez de confiar en una pestaña antigua.
El estado del servidor ayuda a distinguir el proceso Web de una sesión conectada. Si falta el modelo, revisa proveedor e ID; si faltan archivos, revisa directorio de trabajo y usuario del proceso antes de cambiar el prompt o reinstalar.
Para usar ambas interfaces inicia el servidor y ejecuta opencode attach http://localhost:4096 en otra terminal. La documentación oficial describe sesiones y estado compartidos. Mantén un solo responsable de escritura y revisa el diff tras cada cambio pequeño.
Windows y WSL: comprueba el límite de ejecución
La página oficial recomienda ejecutar opencode web desde WSL en Windows para mejorar la integración de archivos y terminal. Es relevante si el repositorio está en una ruta Linux, las herramientas viven en WSL o PowerShell usa otro PATH y home.
Anota dónde se ejecuta el comando, dónde está el repositorio y qué usuario posee el proceso. Un navegador de Windows puede conectar con WSL, pero localhost, firewall y rutas pueden cruzar límites que la terminal no muestra. Prueba solo lectura antes de editar.
Si la página carga pero fallan comandos o referencias, compara opencode --version, carpeta actual, variables del proveedor y el shell que inició Web. Las guías de despliegue, VS Code y permisos cubren las capas cercanas; esta página se centra en el servidor del navegador.
Solución de problemas: aísla la capa que falla
Empieza por proceso y URL y avanza hacia dentro. Un error de conexión apunta a proceso, puerto, hostname, firewall o CORS. Una página que carga pero no crea sesión apunta a proyecto, proveedor, permisos o modelo. Cambiar todo a la vez elimina la evidencia.
Con un puerto fijo comprueba quién escucha y que la URL impresa use el mismo número. Con un hostname de red prueba primero localhost y la contraseña, después el segundo equipo. Con mDNS compara el nombre anunciado con la dirección real.
Si una sesión se comporta raro, guarda comando, directorio, ID de modelo, origen de variables y Git status. Reproduce una petición corta de solo lectura y luego un cambio pequeño. Detente si el diff contiene secretos, archivos ajenos o rutas fuera del worktree.
| Síntoma | Capa probable | Primera comprobación |
|---|---|---|
| El navegador rechaza la conexión | Proceso, puerto, hostname o firewall | Leer la URL de la terminal y probar localhost |
| La página carga pero no inicia sesión | Proveedor, modelo o workspace | Estado del servidor, ID de modelo y carpeta |
| Otro equipo no conecta | Binding, firewall o contraseña | Hostname, puerto conocido y contraseña de runtime |
| El frontend propio queda bloqueado | CORS | Comparar Origin con la lista permitida |
| La TUI ve otro estado | URL de attach o proceso | Conectar al puerto impreso y comparar sesiones |
Cuándo conviene OpenCode Web
Usa Web cuando el navegador facilite revisar proyecto y conversación, cuando necesites otra vista del servidor o cuando el equipo quiera una URL local repetible. La TUI sigue siendo mejor para navegación por teclado, trabajo intenso de shell o entornos sin navegador.
Web no sustituye las guías de proveedor, permisos o Docker: solo cambia cómo llegas al servidor. Credenciales, permisos, montajes, herramientas MCP y revisión Git conservan sus propias comprobaciones. Enlaza la guía concreta para no duplicar todas las reglas aquí.
Una rutina estable es: iniciar en local, validar proyecto y modelo, poner contraseña antes de ampliar hostname, registrar el puerto, conectar TUI solo cuando haga falta y cerrar el servidor al terminar. Así conservas la comodidad sin convertir un listener de desarrollo en un servicio público.
Preguntas frecuentes sobre OpenCode Web
¿Qué es OpenCode Web?
Es la interfaz de navegador servida por la CLI de OpenCode. Ejecuta opencode web para iniciar un servidor local y abrir la UI.
¿Cómo inicio OpenCode Web?
Ejecuta opencode web en el proyecto. Usa localhost y un puerto disponible por defecto y abre el navegador.
¿Cómo fijo el puerto?
Usa opencode web --port 4096, confirma que esté libre y utiliza la URL mostrada para el navegador o opencode attach.
¿Es seguro sin contraseña?
La documentación oficial indica que sin OPENCODE_SERVER_PASSWORD el servidor no está protegido. Define una contraseña antes del acceso de red.
¿Puedo entrar desde otro equipo?
Sí, con un hostname adecuado, contraseña, firewall revisado y una red de confianza. No expongas un servidor de desarrollo sin revisar.
¿Cómo conecto la terminal?
Inicia Web y ejecuta opencode attach http://localhost:4096 en otra terminal, cambiando el puerto por el real.
¿Conviene WSL en Windows?
La documentación oficial recomienda WSL para mejorar archivos y terminal. Comprueba rutas, PATH, variables y firewall en el shell que inicia el servidor.
Fuentes oficiales
Comprueba el contrato Web actual
- Documentación de OpenCode Web
- Documentación de OpenCode CLI
- Documentación de configuración de OpenCode
Los comandos y el comportamiento se comprobaron en las páginas oficiales Web, CLI y configuración el 25 de octubre de 2026. Las opciones pueden cambiar; verifica de nuevo antes de exponer un servidor.