Cómo Instalar y Usar OpenCode: Una Guía Completa
Cómo Instalar y Usar OpenCode: Una Guía Completa
OpenCode es un agente de codificación IA de código abierto que lleva el poder de la inteligencia artificial directamente a tu terminal. A diferencia de las herramientas tradicionales de codificación IA que operan en editores o navegadores, OpenCode ofrece una interfaz basada en terminal, una aplicación de escritorio y una extensión para IDE—todo diseñado para hacerte más productivo como desarrollador. Esta guía completa te llevará paso a paso en todo lo que necesitas saber para instalar, configurar y usar OpenCode de forma efectiva.
¿Qué es OpenCode?
OpenCode es un asistente de codificación impulsado por IA que te ayuda a:
- Escribir código más rápido con generación y completado inteligente
- Depurar eficientemente analizando errores y sugiriendo correcciones
- Entender bases de código mediante consultas en lenguaje natural
- Agregar funcionalidades con planificación e implementación automatizadas
- Revisar código con análisis y sugerencias potenciadas por IA
- Automatizar flujos de trabajo usando agentes de IA y herramientas personalizadas
Soporta múltiples proveedores de LLM incluyendo Anthropic, OpenAI, Google y otros, dándote la flexibilidad de elegir los modelos que mejor se adapten a tus necesidades.
Requisitos del Sistema
Prerrequisitos
Antes de instalar OpenCode, asegúrate de tener:
Emulador de Terminal moderno (para uso TUI):
Node.js (para instalación con npm/bun/pnpm/yarn):
- Se recomienda Node.js v18 o superior
Claves API para proveedores de LLM:
- Clave API Anthropic (para modelos Claude)
- Clave API OpenAI (para modelos GPT)
- O claves de otros proveedores soportados
Métodos de Instalación
Método 1: Script de Instalación (Recomendado)
La forma más rápida de instalar OpenCode es usando el script oficial de instalación:
curl -fsSL https://opencode.ai/install | bashEste método funciona en macOS, Linux y Windows (con Git Bash o WSL).
Método 2: Usando Gestores de Paquetes Node.js
Usando npm:
npm install -g opencode-aiUsando Bun:
bun install -g opencode-aiUsando pnpm:
pnpm install -g opencode-aiUsando Yarn:
yarn global add opencode-aiMétodo 3: Usando Homebrew (macOS y Linux)
brew install opencodeMétodo 4: Usando Paru (Arch Linux)
paru -S opencode-binMétodo 5: Instalaciones Específicas para Windows
Usando Chocolatey:
choco install opencodeUsando Scoop:
scoop bucket add extras
scoop install extras/opencodeUsando Mise:
mise use -g github:sst/opencodeMétodo 6: Docker
Para uso en contenedor:
docker run -it --rm ghcr.io/sst/opencodeMétodo 7: Descargar el Binario
Puedes descargar el binario precompilado directamente desde la página de GitHub Releases.
Verificar Instalación
Después de la instalación, verifica que funcione:
opencode --versionDeberías ver el número de versión mostrado.
Configuración Inicial
Conectando a OpenCode Zen (Recomendado para Principiantes)
OpenCode Zen es una lista curada de modelos probados y verificados por el equipo de OpenCode. Es la forma más sencilla de empezar.
- Inicia OpenCode:
cd /ruta/a/tu/proyecto
opencode- Ejecuta el comando connect en el TUI:
/connectSelecciona "opencode" de la lista de proveedores
Visita la URL de autenticación: opencode.ai/auth
Inicia sesión y agrega los datos de facturación (o usa créditos gratuitos si están disponibles)
Copia tu clave API y pégala en la terminal cuando se te solicite
Conectando a Otros Proveedores
También puedes conectar OpenCode a otros proveedores LLM:
Usando el comando /connect:
/connectSelecciona tu proveedor preferido (Anthropic, OpenAI, Google, etc.) y sigue el flujo de autenticación.
Usando autenticación CLI:
opencode auth loginEsto te guiará para configurar claves API para cualquier proveedor disponible en Models.dev.
Listar Proveedores Configurados:
opencode auth listo la versión corta:
opencode auth lsCerrar sesión de un proveedor:
opencode auth logoutConfigurando el Contexto del Proyecto
Después de configurar un proveedor, inicializa OpenCode para tu proyecto:
- Navega a tu proyecto:
cd /ruta/a/tu/proyecto- Inicia OpenCode:
opencode- Ejecuta el comando init:
/initEsto analiza la estructura del proyecto y crea un archivo AGENTS.md en la raíz del proyecto. Este archivo ayuda a OpenCode a entender tus patrones de codificación, frameworks y arquitectura del proyecto.
Consejo: Haz commit del archivo AGENTS.md en Git. Esto ayuda a mantener la consistencia dentro de tu equipo y mejora la comprensión de OpenCode sobre tu proyecto con el tiempo.
Uso de la Interfaz de Usuario en Terminal (TUI)
El TUI de OpenCode ofrece una experiencia interactiva en tu terminal.
Iniciando el TUI
Simplemente ejecuta:
opencodeO con flags opcionales:
# Continuar la última sesión
opencode --continue
# Continuar una sesión específica
opencode --session <session-id>
# Iniciar con un prompt
opencode --prompt "Explica esta base de código"
# Usar un modelo específico
opencode --model anthropic/claude-sonnet-4-5
# Usar un agente específico
opencode --agent planNavegación Básica en el TUI
- Desplazarse: Usa la rueda del ratón o las flechas del teclado
- Cambiar de modo: Presiona
Tabpara alternar entre modo Plan y modo Build - Ejecutar comandos: Escribe
/para acceder a la paleta de comandos - Buscar archivos: Usa
@para búsqueda difusa de archivos en tu proyecto - Salir: Presiona
Ctrl+Co usa/exit
Hacer Preguntas
Puedes hacer preguntas a OpenCode sobre tu base de código:
¿Cómo se maneja la autenticación en @packages/functions/src/api/index.tsUsa el símbolo @ para referenciar archivos específicos. OpenCode analizará esos archivos y te dará explicaciones detalladas.
Añadir Funcionalidades
OpenCode sobresale en agregar nuevas funcionalidades con su flujo de trabajo de dos modos:
Paso 1: Modo Plan
- Cambia a modo Plan presionando
Tab - Describe lo que quieres:
Cuando un usuario elimina una nota, nos gustaría marcarla como eliminada en la base de datos.
Luego crear una pantalla que muestre todas las notas eliminadas recientemente.
Desde esta pantalla, el usuario puede restaurar una nota o eliminarla definitivamente.- Revisa el plan sugerido
- Itera con retroalimentación:
Nos gustaría diseñar esta nueva pantalla usando un diseño que he usado antes.
[Imagen #1] Mira esta imagen y úsala como referencia.Consejo: Puedes arrastrar y soltar imágenes en la terminal. OpenCode las escaneará y analizará.
Paso 2: Modo Build
- Cambia a modo Build presionando
Tabnuevamente - Aprueba la implementación:
¡Perfecto! Adelante, realiza los cambios.OpenCode implementará la funcionalidad, creando y modificando archivos según sea necesario.
Hacer Cambios Directos
Para cambios simples, puedes saltarte la fase de planificación:
Necesitamos agregar autenticación a la ruta /settings.
Mira cómo se maneja en la ruta /notes
en @packages/functions/src/notes.ts e implementa la misma lógica
en @packages/functions/src/settings.tsDeshacer y Rehacer Cambios
¿Cometiste un error? Usa el comando deshacer:
/undoEsto revierte el último conjunto de cambios y te permite refinar tu prompt.
Para rehacer cambios deshechos:
/redoPuedes ejecutar /undo varias veces para revertir múltiples cambios.
Comandos CLI
OpenCode proporciona un CLI poderoso para acceso programático y automatización.
Ejecutar Prompts Directos
Ejecuta OpenCode de forma no interactiva:
opencode run "Explica cómo funcionan los closures en JavaScript"Útil para scripting, automatización o respuestas rápidas sin lanzar el TUI.
Gestión de Modelos
Lista todos los modelos disponibles:
opencode modelsFiltra por proveedor:
opencode models anthropicRefresca la caché de modelos (útil cuando se agregan nuevos modelos):
opencode models --refreshMuestra información detallada incluyendo costos:
opencode models --verboseIniciar un Servidor Headless
Inicia un servidor HTTP para acceso API:
opencode serveCon puerto personalizado:
opencode serve --port 3000Útil para integrar OpenCode en aplicaciones web o para respuestas más rápidas en scripts (evitando el arranque en frío del servidor MCP).
Conectarse a un Servidor
En un terminal, inicia el servidor:
opencode serveEn otro terminal, conéctate para ejecución más rápida:
opencode run --attach http://localhost:4096 "Explica async/await en JavaScript"Gestión de Agentes
Crea un nuevo agente personalizado:
opencode agent createEste comando te guía para crear un agente con prompts de sistema y configuraciones de herramientas personalizadas.
Integración con GitHub
Instala el agente de GitHub para automatización en repositorios:
opencode github installEsto configura flujos de trabajo de GitHub Actions para revisión automática de código y manejo de incidencias.
Actualizar OpenCode
Actualízate a la última versión:
opencode upgradeO a una versión específica:
opencode upgrade v0.1.48Especifica el método de instalación si es necesario:
opencode upgrade --method brewConfiguración
OpenCode soporta configuración flexible mediante archivos JSON.
Ubicaciones de Configuración
Los archivos de configuración se combinan (no se reemplazan), permitiendo tener configuraciones globales, específicas de proyecto y personalizadas.
Configuración Global:
~/.config/opencode/opencode.json- Usada para temas, proveedores, atajos y ajustes generales
Configuración de Proyecto:
opencode.jsonen la raíz del proyecto- Usada para proveedores, agentes o ajustes específicos al proyecto
- Seguro para hacer commit en Git
Ruta de Configuración Personalizada: Definida con la variable de entorno
OPENCODE_CONFIGDirectorio de Configuración Personalizado: Definido con la variable de entorno
OPENCODE_CONFIG_DIR
Ejemplo Básico de Configuración
Crea un archivo de configuración con esta estructura:
{
"$schema": "https://opencode.ai/config.json",
// Selección de tema
"theme": "opencode",
// Modelo principal a usar
"model": "anthropic/claude-sonnet-4-5",
// Modelo pequeño para tareas livianas
"small_model": "anthropic/claude-haiku-4-5",
// Configuración de actualización automática
"autoupdate": true
}Configuración de Proveedores
Configura claves API directamente en la configuración:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}Se recomienda usar variables de entorno por seguridad. Usa la sintaxis {env:NOMBRE_VARIABLE}.
Uso de Referencias a Archivos
También puedes referenciar archivos para datos sensibles:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"apiKey": "{file:~/.secrets/openai-key}"
}
}
}
}Comandos Personalizados
Define comandos personalizados para tareas repetitivas:
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test": {
"template": "Ejecuta toda la suite de pruebas con reporte de cobertura y muestra fallos.\nEnfócate en tests fallidos y sugiere correcciones.",
"description": "Ejecutar pruebas con cobertura",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "Crea un nuevo componente React llamado $ARGUMENTS con soporte TypeScript.\nIncluye typing adecuado y estructura básica.",
"description": "Crear un nuevo componente"
}
}
}Usa comandos personalizados en el TUI escribiendo /test o /component MiComponente.
Agentes Personalizados
Crea agentes especializados:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"code-reviewer": {
"description": "Revisa código buscando buenas prácticas y posibles problemas",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Eres un revisor de código. Enfócate en seguridad, rendimiento y mantenibilidad.",
"tools": {
"write": false,
"edit": false
}
}
}
}Configuración de Permisos
Controla qué puede hacer OpenCode sin preguntar:
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "ask",
"bash": "ask"
}
}Esto requiere aprobación del usuario para operaciones de edición y ejecución de bash.
Formateadores de Código
Configura formateadores para formatear código automáticamente:
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": false
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}Configuración del TUI
Personaliza la interfaz en terminal:
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}Funciones Avanzadas
Compartir Conversaciones
Comparte tus conversaciones con tu equipo:
/shareEsto crea un enlace compartible y lo copia al portapapeles. Las conversaciones no se comparten por defecto.
Configura el comportamiento de compartición:
{
"share": "manual" // "manual", "auto" o "disabled"
}Servidores MCP
Los servidores MCP (Model Context Protocol) extienden las capacidades de OpenCode:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/ruta/a/archivos/permitidos"]
}
}
}Instrucciones y Reglas
Proporciona instrucciones específicas del proyecto:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md"
]
}OpenCode usará estos archivos para entender los estándares y convenciones de codificación de tu proyecto.
Variables de Entorno
Configura OpenCode usando variables de entorno:
# Compartir sesiones automáticamente
export OPENCODE_AUTO_SHARE=true
# Ruta a configuración personalizada
export OPENCODE_CONFIG=/ruta/a/config.json
# Ruta a directorio de configuración
export OPENCODE_CONFIG_DIR=/ruta/a/config-dir
# Deshabilitar actualización automática
export OPENCODE_DISABLE_AUTOUPDATE=true
# Deshabilitar plugins por defecto
export OPENCODE_DISABLE_DEFAULT_PLUGINS=true
# Habilitar modelos experimentales
export OPENCODE_ENABLE_EXPERIMENTAL_MODELS=true
# Habilitar búsqueda web Exa
export OPENCODE_ENABLE_EXA=trueFuncionalidades Experimentales
Activa funciones experimentales:
export OPENCODE_EXPERIMENTAL=trueFunciones experimentales específicas:
# Habilitar descubrimiento de íconos
export OPENCODE_EXPERIMENTAL_ICON_DISCOVERY=true
# Deshabilitar copia al seleccionar en TUI
export OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=true
# Establecer longitud máxima de salida para comandos bash
export OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH=10000
# Establecer timeout por defecto para comandos bash (ms)
export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=30000Mejores Prácticas
Prompts Efectivos
- Sé específico: Da instrucciones claras y detalladas
- Usa contexto: Referencia archivos con
@para mejor comprensión - Proporciona ejemplos: Muestra ejemplos de lo que quieres
- Divide en pasos: Las tareas complejas funcionan mejor en etapas
Trabajando con Proyectos Grandes
- Usa
/init: Deja que OpenCode entienda la estructura del proyecto - Referencia archivos específicos: Usa
@para limitar el contexto - Usa modo Plan: Revisa planes antes de implementar
- Cambios incrementales: Haz cambios pequeños y manejables
Optimización de Costos
- Usa modelos más pequeños: Configura
small_modelpara tareas ligeras - Planifica antes de construir: Revisa en modo Plan para reducir iteraciones
- Comandos personalizados: Define flujos eficientes para tareas comunes
- Monitorea uso: Revisa los paneles de proveedores para estadísticas de uso
Buenas Prácticas de Seguridad
- Nunca hagas commit de claves API: Usa variables de entorno
- Usa permisos: Configura
permissionpara requerir aprobación en operaciones sensibles - Revisa cambios: Siempre inspecciona los cambios sugeridos por OpenCode
- Usa claves separadas: Crea claves API específicas para OpenCode con límites apropiados
Solución de Problemas
Problemas de Instalación
Problema: Comando no encontrado después de instalación
Solución:
- Verifica instalación:
which opencode - Revisa PATH:
echo $PATH - Prueba ruta completa:
~/.local/bin/opencode - Reinstala usando otro método
Problemas de Autenticación
Problema: Clave API no reconocida
Solución:
- Verifica que la clave sea correcta:
opencode auth list - Revisa variables de entorno:
echo $ANTHROPIC_API_KEY - Reautentícate:
opencode auth login
Problemas de Rendimiento
Problema: Respuesta lenta
Solución:
- Usa
opencode servepara ejecución más rápida - Cambia a un modelo más veloz
- Usa ventanas de contexto más pequeñas
- Deshabilita herramientas no usadas en config
Problemas con el TUI
Problema: Problemas de visualización en terminal
Solución:
- Usa un emulador de terminal moderno (WezTerm, Alacritty, etc.)
- Verifica que el terminal soporte colores de 24 bits
- Prueba otro tema
- Deshabilita aceleración de scroll si tienes problemas
Problemas con Modelos
Problema: Modelo no encontrado
Solución:
- Refresca lista de modelos:
opencode models --refresh - Verifica que el proveedor esté configurado:
opencode auth list - Revisa el formato del nombre del modelo:
proveedor/modelo - Asegúrate que el proveedor tenga disponible el modelo
Integrando OpenCode en Tu Flujo de Trabajo
Desarrollo Diario
- Mañana: Ejecuta
/initpara sincronizar con los últimos cambios - Trabajo de funcionalidades: Usa modo Plan para diseñar, luego modo Build para implementar
- Depuración: Haz preguntas sobre errores usando referencias a archivos
- Revisión de código: Usa agente revisor personalizado
- Documentación: Genera docs con comandos personalizados
Colaboración en Equipo
- Comparte configuraciones: haz commit de
opencode.jsonyAGENTS.mden Git - Comparte conversaciones: usa
/sharepara discutir implementaciones - Comandos personalizados: define comandos específicos para el equipo en config de proyecto
- Agentes consistentes: usa definiciones compartidas de agentes para coherencia
Integración CI/CD
- Agente GitHub: Instala para revisiones automáticas de PR
- Pruebas: Usa comandos personalizados de test en CI
- Calidad de código: Configura formateadores y permisos
Conclusión
OpenCode representa un nuevo paradigma en desarrollo asistido por IA al llevar potentes capacidades de IA directamente a tu terminal. Con sus opciones flexibles de configuración, soporte para múltiples proveedores LLM e intuitiva interfaz TUI, está diseñado para mejorar tu productividad sin interrumpir tu flujo de trabajo actual.
Puntos clave:
- Instala usando el script de instalación o tu gestor de paquetes favorito
- Configura claves API vía
/connectoopencode auth login - Inicializa proyectos con
/initpara mejor comprensión del contexto - Usa modo Plan para funciones complejas y modo Build para cambios directos
- Personaliza con archivos de configuración, comandos y agentes
- Aprovecha comandos CLI para automatización y scripting
- Practica buenas prácticas de seguridad con claves API y permisos
Próximos pasos:
- Explora la documentación de OpenCode para funciones avanzadas
- Únete a la comunidad OpenCode en Discord
- Personaliza tu entorno con temas y atajos
- Experimenta con diferentes proveedores LLM y modelos
- Integra OpenCode en el flujo de trabajo de tu equipo
¿Listo para potenciar tu flujo de desarrollo?
Descubre las soluciones de hosting AI-optimizado de LightNode para desplegar aplicaciones con IA usando instancias GPU dedicadas e infraestructura escalable.
OpenCode es open source y está en constante evolución. Contribuye al proyecto, reporta problemas o comparte tu experiencia para hacerlo aún mejor para todos. ¡Feliz codificación!