OpenCode CLI frente a Desktop: comparación del flujo de trabajo de 2026

Table of Contents
OpenCode CLI y Desktop son clientes del mismo producto de agente de código. La interfaz de terminal sirve para el trabajo con teclado y los scripts. La aplicación de escritorio ofrece un espacio de trabajo gráfico. La comparación importante incluye el servidor, el proyecto, el proveedor y la configuración detrás de cada cliente.
Elige la interfaz después de identificar el backend. Dos ventanas de OpenCode no tienen por qué usar el mismo servidor o sesión. Una aplicación de escritorio conectada a otro servidor es un entorno de ejecución distinto, aunque la etiqueta del modelo parezca conocida.
Puntos clave
- Usa CLI para el trabajo de terminal y los comandos no interactivos.
- Usa Desktop para un espacio gráfico, después de comprobar el servidor seleccionado.
- La configuración del proveedor determina la inferencia, sin depender de la interfaz.
- La misma identidad del producto no garantiza el mismo estado de sesión entre servidores o versiones separados.
Alcance y fecha: Documentación oficial comprobada el 6 de octubre de 2026. Esta guía compara interfaces, no la calidad de los modelos. Necesitas un repositorio, una conexión de proveedor funcional y conocimientos básicos de terminal. Reserva entre 45 y 60 minutos para la prueba.
El cliente y el servidor
OpenCode separa la interfaz del servidor. La
documentación del servidor
describe la UI de terminal como un cliente y opencode serve como un servidor independiente. Esta arquitectura admite varias formas de interactuar con el agente.
Desktop inicia un servidor local de forma predeterminada. La
guía de solución de problemas
identifica su sidecar opencode-cli y la opción de conectarse a una URL de servidor configurada. Cuando los clientes se comporten de forma distinta, inspecciona esta conexión antes de cambiar el prompt.
| Capa | Pregunta que debes responder |
|---|---|
| Cliente | ¿UI de terminal, aplicación de escritorio o comando no interactivo? |
| Servidor del agente | ¿Qué proceso recibe la solicitud? |
| Repositorio | ¿A qué directorio accede el servidor? |
| Proveedor del modelo | ¿Qué servicio proporciona la inferencia? |
| Sesión | ¿Conversación existente o tarea nueva? |
La ubicación del servidor no es la ubicación de la inferencia. Un servidor de agente en tu ordenador sigue enviando solicitudes a un modelo alojado configurado. Un servicio local de inferencia compatible es un proceso separado, con su propio modelo y requisitos de recursos.
La referencia oficial del servidor indica 127.0.0.1 como nombre de host predeterminado para opencode serve. Mantén el servicio en loopback durante una prueba local:
opencode serve --hostname 127.0.0.1
Usa una dirección de enlace más amplia solo después de definir la autenticación, las reglas del firewall y las rutas del repositorio expuestas al servidor.

Comprueba por separado el servidor del agente y el proveedor de inferencia
Interacción de terminal y automatización
opencode
El comando predeterminado abre la UI de terminal. La referencia de CLI también documenta comandos programáticos. Empieza en el repositorio previsto y confirma el agente y el modelo seleccionados antes de pedir cambios.
opencode run "Identify this project's test command. Do not modify files."
Usa opencode run para una solicitud no interactiva acotada. Establece la política de permisos adecuada por separado. Pedir que no se hagan cambios orienta, pero no impone el aislamiento del sistema de archivos.
Elige este flujo cuando importe combinar comandos del shell. Un wrapper repetible debe capturar la solicitud, el estado de salida, la salida relevante y los archivos modificados. Haz explícito el tratamiento de errores. Un diff vacío y un mensaje de éxito requieren una interpretación distinta de una corrección verificada.
Configuración y compatibilidad de Desktop
Usa la página oficial de descarga para la versión prevista. La página de descarga de OpenCode enumera paquetes de terminal y escritorio. En esta comprobación, la página anuncia paquetes de terminal v2, mientras la documentación general también contiene ejemplos de instalación antiguos. Registra las versiones exactas del cliente y backend. No mezcles instrucciones de distintas líneas de versiones.
Evalúa la interacción de escritorio con una tarea real pequeña. Abre un proyecto, confirma el servidor, envía una solicitud acotada, inspecciona los archivos modificados y pide una corrección. Evalúa cuánto esfuerzo requiere entender las acciones del agente. No supongas que un cliente gráfico sustituye por completo a tu editor y depurador.
| Prueba de escritorio | Evidencia esperada |
|---|---|
| Selección del proyecto | El agente identifica el repositorio previsto |
| Selección del modelo | El proveedor y el modelo coinciden con el registro de prueba |
| Ejecución de comandos | El runtime y las pruebas necesarias están disponibles |
| Inspección del cambio | El parche completo es fácil de localizar y revisar |
| Reinicio | El proyecto y la sesión previstos siguen identificables |
Configuración y acceso al modelo
OpenCode combina la configuración desde varias ubicaciones. La referencia de configuración explica la precedencia y la conservación de ajustes sin conflictos. Compara el modelo, el agente y los permisos efectivos, no solo un archivo del proyecto.
El acceso al proveedor pertenece a la configuración de ejecución. La guía de proveedores describe servicios compatibles y endpoints compatibles. Importan las credenciales, la accesibilidad del endpoint y el soporte de herramientas del modelo. Un servidor que funciona en otro lugar necesita su propio acceso válido al proveedor y al repositorio.
El cliente no fija tu coste total de inferencia. Compara el uso facturado con modelos y tareas equivalentes. Incluye las ejecuciones repetidas causadas por errores de configuración. Si usas inferencia local, registra la memoria del sistema, el formato del modelo, el tamaño del contexto y la configuración del runtime. No presentes una descarga de escritorio como sustituto gratuito del cálculo alojado.
Sesiones y cambio seguro
Verifica la continuidad en lugar de asumirla. Registra el proyecto y la sesión activos antes de cambiar de cliente. Comprueba que el destino se conecta al servidor previsto y muestra el historial previsto. Si inicias una sesión nueva, entrega un resumen conciso con el objetivo, el trabajo terminado y las comprobaciones pendientes.
Evita cambios simultáneos en un checkout. Dos conversaciones con planes distintos comparten archivos cuando apuntan al mismo directorio. Usa worktrees o checkouts separados para experimentos independientes. Revisa los cambios antes de integrarlos.
Handover record
Goal:
Current branch and working directory:
Files changed:
Checks already completed:
Known failures:
Next approved action:
Este registro hace que la entrega sea inspeccionable. También ayuda a distinguir un problema de interfaz de una instrucción ausente o un desajuste del entorno. Mantén las credenciales fuera del registro.
Acceso al servidor y permisos
Trata el servidor del agente como un servicio de ejecución. La documentación del servidor describe autenticación opcional mediante OPENCODE_SERVER_PASSWORD. Configura el acceso de forma intencionada antes de conectar máquinas. Un servidor de agente accesible no equivale a un sitio estático inofensivo.
Revisa los permisos de las herramientas por separado. La guía de permisos define el comportamiento allow, ask y deny. Aplica la misma política durante la prueba de la interfaz. No consideres más seguro o capaz un cliente con menos avisos sin comprobar las reglas efectivas.
Empieza con una prueba de política inocua. Pide una inspección de archivo permitida y una edición prohibida en un proyecto desechable. Verifica el comportamiento observado y luego pasa a una implementación acotada. Así la suposición sobre permisos se vuelve comprobable.
Solución de problemas y elección
| Síntoma | Primera inspección |
|---|---|
| Fallo de conexión de Desktop | Servidor seleccionado y estado del sidecar local |
| Falta un modelo en un cliente | Versión del servidor, acceso al proveedor y configuración |
| Resultado de prueba distinto | Directorio del proyecto y entorno de ejecución |
| Falta una conversación | Identidad del servidor y de la sesión |
| Funciona hasta cargar un plugin | Configuración del plugin y compatibilidad de versión |
Elige la terminal si las solicitudes con scripts y el contexto del shell facilitan el trabajo. Elige Desktop si la navegación gráfica del proyecto mejora tu supervisión. Mantén las decisiones sobre proveedor y política separadas de esta preferencia.
Siguientes pasos: Compara alternativas de terminal en el resumen de CLI . Para requisitos de inferencia local, lee la guía de OpenCode y Strata . Para alternativas gráficas, usa el resumen de GUI .







