Inicio rápido de OpenCode: instalación, configuración y uso del agente de código IA en la terminal
Cómo instalar, configurar y usar OpenCode
OpenCode es un agente de código con IA de código abierto que puedes ejecutar en la terminal (TUI + CLI) con interfaces de escritorio e IDE opcionales. Este es el Inicio Rápido de OpenCode: instalación, verificación, conexión de un modelo/proveedor y ejecución de flujos de trabajo reales (CLI + API).
Nota sobre la versión: OpenCode se actualiza rápidamente. Los comandos “más recientes” aquí son estables, pero la salida y los valores predeterminados pueden cambiar; siempre cruza la información con la documentación oficial del CLI y el registro de cambios (enlazados a continuación).
Este artículo es parte de Herramientas para Desarrolladores de IA: La Guía Completa para el Desarrollo Potenciado por IA.
Qué es OpenCode (y dónde encaja)
OpenCode está diseñado para la codificación agéntica centrada en la terminal, manteniendo la flexibilidad de proveedor/modelo. En la práctica, es una capa de flujo de trabajo que puede:
- iniciar una interfaz de usuario de terminal cuando ejecutas
opencode - ejecutar prompts “de un solo uso” no interactivos mediante
opencode run(scripts/automatización) - exponer un servidor HTTP sin interfaz gráfica mediante
opencode serve(y una interfaz web medianteopencode web) - controlarse programáticamente mediante el SDK oficial de JS/TS
@opencode-ai/sdk
Si deseas compararlo con otro asistente agéntico de código abierto que pueda ejecutar planes de múltiples pasos en un entorno aislado, consulta Inicio Rápido del Asistente de Código OpenHands.
Para el agente centrado en la terminal de Anthropic con la misma historia de “modelo local vía HTTP” (Ollama o llama.cpp, permisos, precios), consulta Instalación y configuración de Claude Code para Ollama, llama.cpp, precios.

Requisitos previos
Necesitarás:
- Un emulador de terminal moderno (importante para la experiencia TUI).
- Acceso a al menos un modelo/proveedor (claves de API o autenticación por suscripción, dependiendo del proveedor). Las opciones locales como Ollama o llama.cpp funcionan sin claves de API cuando ejecutas un servidor compatible localmente.
Instalar OpenCode (copiar y pegar)
Script de instalación oficial (Linux/macOS/WSL):
curl -fsSL https://opencode.ai/install | bash
Opciones de gestores de paquetes (ejemplos oficiales):
# Instalación global de Node.js
npm install -g opencode-ai
# Homebrew (recomendado por OpenCode para las versiones más actualizadas)
brew install anomalyco/tap/opencode
# Arch Linux (estable)
sudo pacman -S opencode
# Arch Linux (última versión desde AUR)
paru -S opencode-bin
Notas para Windows (la guía oficial suele recomendar WSL para la mejor compatibilidad). Las alternativas incluyen Scoop/Chocolatey o npm.
# chocolatey (Windows)
choco install opencode
# scoop (Windows)
scoop install opencode
Docker (útil para una prueba rápida):
docker run -it --rm ghcr.io/anomalyco/opencode
Verificar la instalación
opencode --version
opencode --help
Forma de la salida esperada (variará según la versión):
# Ejemplo:
# <imprime un número de versión, p. ej. vX.Y.Z>
# <imprime ayuda con los comandos/subcomandos disponibles>
Conectar un proveedor (dos caminos prácticos)
Camino A: TUI /connect (interactivo)
Inicia OpenCode:
opencode
Luego ejecuta:
/connect
Sigue los pasos de la interfaz para seleccionar un proveedor y autenticarte (algunos flujos abren un navegador/inicio de sesión en dispositivo).
Camino B: CLI opencode auth login (claves de proveedor)
OpenCode admite configurar proveedores mediante:
opencode auth login
Notas:
- Las credenciales se almacenan en
~/.local/share/opencode/auth.json. - OpenCode también puede cargar claves desde variables de entorno o un archivo
.enven tu proyecto.
Alojamiento local de LLM (Ollama, llama.cpp)
OpenCode funciona con cualquier API compatible con OpenAI. Para el desarrollo local, muchos usuarios ejecutan Ollama y apuntan OpenCode a ella. Recientemente tuve una muy buena experiencia configurando y ejecutando OpenCode con llama.cpp en su lugar: llama-server expone puntos finales compatibles con OpenAI, por lo que puedes usar modelos GGUF con el mismo flujo de trabajo. Si prefieres un control más detallado sobre la memoria y el tiempo de ejecución, o deseas un stack más ligero sin Python (por cierto, Ollama está implementado en Go), llama.cpp vale la pena probarlo. Disfruté mucho la oportunidad de configurar capas externalizadas, la facilidad de uso de los modelos en formato GGUF y la compatibilidad mucho mejor/más rápida implementada con nuevos modelos, como Qwen3.5. Si quieres saber qué modelos realmente funcionan bien dentro de OpenCode — en tareas de codificación y precisión de salida estructurada — consulta mi comparación práctica de LLM para OpenCode.
Iniciar un proyecto correctamente (primera ejecución recomendada)
Desde tu repositorio:
cd /path/to/your/repo
opencode
Luego inicializa:
/init
Esto analiza tu proyecto y crea un archivo AGENTS.md en la raíz del proyecto. Generalmente vale la pena confirmar este archivo para que OpenCode (y los compañeros de equipo) compartan un contexto de proyecto consistente.
Flujos de trabajo principales de CLI (ejemplos para copiar y pegar)
OpenCode admite ejecuciones no interactivas:
opencode run "Explain how closures work in JavaScript"
Flujo de trabajo: generar código (CLI)
Objetivo: generar una función pequeña y probable con contexto mínimo.
opencode run "Write a Go function ParsePort(envVar string, defaultPort int) (int, error). It should read the env var, parse an int, validate 1-65535, and return defaultPort if empty. Include 3 table-driven tests."
Salida esperada:
- Una explicación más bloques de código (función + pruebas). El código exacto varía según el modelo/proveedor y el prompt.
Flujo de trabajo: refactorizar un archivo de forma segura (CLI + Agente Plan)
Objetivo: refactorizar sin ediciones accidentales utilizando un agente más restrictivo.
opencode run --agent plan --file ./src/auth.ts \
"Refactor this file to reduce complexity. Output: (1) a short plan, (2) a unified diff patch, (3) risks/edge-cases to test. Do not run commands."
Salida esperada:
- Una sección de plan + un bloque de parche
diff --git ...+ una lista de verificación de pruebas. - El contenido varía. Si no produce un diff, vuelve a preguntar: “Return only a unified diff” o “Use
diff --gitformat.”
Flujo de trabajo: hacer preguntas al repositorio (CLI)
Objetivo: localizar detalles de implementación rápidamente.
opencode run --agent explore \
"In this repository, where is authentication validated for API requests? List likely files and explain the flow. If uncertain, say what you checked."
Salida esperada:
- Un mapa corto de rutas de archivos + descripción del flujo.
- La salida depende del tamaño del repositorio y de las herramientas de contexto del modelo/proveedor.
Flujo de trabajo: acelerar ejecuciones repetidas de CLI con un servidor persistente
Si estás creando scripts o ejecutando múltiples llamadas a opencode run, puedes iniciar un servidor sin interfaz gráfica una vez:
Terminal 1:
opencode serve --port 4096 --hostname 127.0.0.1
Terminal 2:
opencode run --attach http://localhost:4096 "Summarize the repo structure and main entrypoints."
opencode run --attach http://localhost:4096 "Now propose 3 high-impact refactors and why."
Salida esperada:
- Igual que
opencode run, pero generalmente con menos sobrecarga de inicio repetida.
Uso programático (SDK oficial de JS/TS)
OpenCode expone un servidor HTTP (OpenAPI) y proporciona un cliente de JS/TS seguro en tipos.
Instalar:
npm install @opencode-ai/sdk
Ejemplo: iniciar servidor + cliente, luego hacer un prompt
Crea scripts/opencode-sdk-demo.mjs:
import { createOpencode } from "@opencode-ai/sdk";
const opencode = await createOpencode({
hostname: "127.0.0.1",
port: 4096,
config: {
// El formato de la cadena del modelo es proveedor/modelo (solo ejemplo)
// model: "anthropic/claude-3-5-sonnet-20241022",
},
});
console.log(`Server running at: ${opencode.server.url}`);
// Verificación básica de estado/versión
const health = await opencode.client.global.health();
console.log("Healthy:", health.data.healthy, "Version:", health.data.version);
// Crear una sesión y hacer un prompt
const session = await opencode.client.session.create({ body: { title: "SDK quickstart demo" } });
const result = await opencode.client.session.prompt({
path: { id: session.data.id },
body: {
parts: [{ type: "text", text: "Generate a small README section describing this repo." }],
},
});
console.log(result.data);
// Cerrar el servidor cuando termines
opencode.server.close();
Ejecutar:
node scripts/opencode-sdk-demo.mjs
Forma de la salida esperada:
- “Server running at …”
- Una respuesta de estado que incluye una cadena de versión
- Un objeto de respuesta de prompt de sesión (la estructura exacta depende de
responseStyley la versión del SDK)
Configuración mínima de OpenCode que puedes copiar
OpenCode admite configuración JSON y JSONC. Este es un punto de partida razonable para una configuración local del proyecto.
Crea opencode.jsonc en la raíz de tu repositorio:
{
"$schema": "https://opencode.ai/config.json",
// Elige un modelo predeterminado (proveedor/modelo). Mantén esto alineado con lo que muestra `opencode models`.
"model": "provider/model",
// Opcional: un "modelo pequeño" más barato para tareas ligeras (títulos, etc.)
"small_model": "provider/small-model",
// Opcional: valores predeterminados del servidor OpenCode (usado por serve/web)
"server": {
"port": 4096,
"hostname": "127.0.0.1"
},
// Seguridad opcional: requerir confirmación antes de ediciones/comandos
"permission": {
"edit": "ask",
"bash": "ask"
}
}
Breve hoja de trucos (referencia rápida)
Comandos que usarás a diario
opencode # iniciar TUI
opencode run "..." # ejecución no interactiva (automatización)
opencode run --file path "..." # adjuntar archivos al prompt
opencode models --refresh # actualizar lista de modelos
opencode auth login # configurar credenciales del proveedor
opencode serve # servidor HTTP sin interfaz gráfica (OpenAPI)
opencode web # servidor sin interfaz gráfica + interfaz web
opencode session list # listar sesiones
opencode stats # estadísticas de tokens/costo
Comandos de TUI que vale la pena memorizar
/connect # conectar un proveedor
/init # analizar repositorio, generar AGENTS.md
/share # compartir una sesión (si está habilitado)
/undo # deshacer un cambio
/redo # rehacer un cambio
/help # ayuda/atajos
Concepto de “tecla líder” predeterminada (TUI)
OpenCode utiliza una “tecla líder” configurable (comúnmente ctrl+x) para evitar conflictos en la terminal. Muchos atajos son “Líder + tecla”.
Hoja de trucos imprimible de OpenCode en una página
Esta versión es intencionalmente densa y “amigable para imprimir”. (Puedes pegarla en una página dedicada /ai-devtools/opencode/cheatsheet/ más tarde.)
| Tarea | Comando / atajo | Notas |
|---|---|---|
| Iniciar TUI | opencode |
El comportamiento predeterminado es lanzar la interfaz de usuario de la terminal |
| Ejecutar prompt de un solo uso | opencode run "..." |
Modo no interactivo para scripting/automatización |
| Adjuntar archivo(s) al prompt | opencode run --file path/to/file "..." |
Usa múltiples banderas --file para múltiples archivos |
| Elegir modelo para una ejecución | opencode run --model provider/model "..." |
Las cadenas de modelo son provider/model |
| Elegir agente | opencode run --agent plan "..." |
Plan está diseñado para trabajo más seguro de “sin cambios” (permisos restringidos) |
| Listar modelos | opencode models [provider] |
Usa --refresh para actualizar la lista en caché |
| Configurar credenciales del proveedor | opencode auth login |
Almacena credenciales en ~/.local/share/opencode/auth.json |
| Listar proveedores autenticados | opencode auth list / opencode auth ls |
Confirma lo que OpenCode ve |
| Iniciar servidor sin interfaz | opencode serve --port 4096 --hostname 127.0.0.1 |
Especificación OpenAPI en http://host:port/doc |
| Adjuntar ejecuciones al servidor | opencode run --attach http://localhost:4096 "..." |
Útil para evitar arranques en frío repetidos |
| Habilitar autenticación básica | OPENCODE_SERVER_PASSWORD=... opencode serve |
El nombre de usuario predeterminado es opencode a menos que se anule |
| Modo interfaz web | opencode web |
Inicia el servidor y abre el navegador |
| Exportar una sesión | opencode export [sessionID] |
Útil para archivar o compartir contexto |
| Importar una sesión | opencode import session.json |
También se puede importar desde una URL compartida |
| Ver banderas globales de CLI | opencode --help / opencode --version |
--print-logs + --log-level para depuración |
| Concepto de tecla líder de TUI | tecla líder predeterminada a menudo ctrl+x |
Personalizable en tui.json |
Oh My Opencode — lleva OpenCode más allá con orquestación multiagente
Una vez que OpenCode está en ejecución, el siguiente paso natural es Oh My Opencode — un plugin de la comunidad que envuelve OpenCode en un arnés multiagente. La idea principal: escribe ultrawork (o ulw) en una sesión y un orquestador (Sisyphus) toma el control, delegando subtareas a agentes especializados que se ejecutan en paralelo, cada uno en la familia de modelos para la que están ajustados sus prompts.
Tres artículos lo cubren en profundidad:
-
Inicio Rápido de Oh My Opencode
Instala víabunx oh-my-opencode install, configura proveedores y ejecuta tu primera tarea ultrawork en menos de diez minutos. -
Análisis en Profundidad de Agentes Especializados
Todos los 11 agentes explicados — Sisyphus, Hephaestus, Oracle, Prometheus, Librarian y más — con enrutamiento de modelos, cadenas de respaldo y orientación práctica para modelos autoalojados. -
Experiencia con Oh My Opencode: Resultados Honestos y Riesgos de Facturación
Benchmarks reales, un incidente de bucle infinito de Gemini de $350 y un veredicto claro sobre cuándo OMO justifica su sobrecarga.
OpenCode fue una de las primeras herramientas afectadas por la política de Anthropic de bloquear el acceso a suscripciones de Claude de terceros — un movimiento realizado en enero de 2026, un mes antes de que la misma restricción afectara a OpenClaw. La línea de tiempo del auge y caída de OpenClaw documenta ambos eventos y el patrón más amplio que representan para las herramientas de agentes construidas sobre computación por suscripción.
Fuentes (oficiales primero)
Oficiales:
- Documentación de OpenCode (Introducción, CLI, Configuración, Servidor, SDK): https://opencode.ai/docs/
- Registro de cambios de OpenCode: https://opencode.ai/changelog
- Repositorio oficial de GitHub: https://github.com/anomalyco/opencode
- Lanzamientos: https://github.com/anomalyco/opencode/releases
Referencia de integración autorizada:
- Registro de cambios de GitHub (Copilot soporta OpenCode): https://github.blog/changelog/2026-01-16-github-copilot-now-supports-opencode/
Comparaciones/tutoriales reputados:
- DataCamp: OpenCode vs Claude Code (2026): https://www.datacamp.com/blog/opencode-vs-claude-code
- Builder.io: OpenCode vs Claude Code (2026): https://www.builder.io/blog/opencode-vs-claude-code
- freeCodeCamp: Integra IA en tu terminal usando OpenCode: https://www.freecodecamp.org/news/integrate-ai-into-your-terminal-using-opencode/