Inicio rápido de OpenCode: instalar, configurar y utilizar el agente de codificación de IA para terminal
Cómo instalar, configurar y utilizar OpenCode
OpenCode es un agente de codificación de IA de código abierto que puedes ejecutar en la terminal (TUI + CLI) con superficies opcionales para escritorio e IDE. Este es el Inicio rápido de OpenCode: instala, verifica, conecta un modelo/proveedor y ejecuta flujos de trabajo reales (CLI + API).
Nota sobre la versión: OpenCode se publica con rapidez. Los comandos “latest” de aquí son estables, pero la salida y los valores predeterminados pueden cambiar; verifica siempre la documentación oficial de la CLI y el registro de cambios (enlazado más abajo).
Este artículo es parte de Herramientas de desarrollo de IA: La guía completa para el desarrollo impulsado por IA. Si también mantienes un asistente autoalojado como Nous Hermes, la hoja de referencia de Hermes Agent CLI mapea el conjunto de comandos de hermes junto a este inicio rápido de OpenCode.
Qué es OpenCode (y dónde encaja)
OpenCode está diseñado para codificación agéntica centrada en la terminal, manteniéndose flexible en proveedores/modelos. En la práctica, es una capa de flujo de trabajo que puede:
- iniciar una interfaz de usuario de terminal (TUI) cuando ejecutas
opencode - ejecutar prompts “one-shot” no interactivos mediante
opencode run(scripts/automatización) - exponer un servidor HTTP sin interfaz (headless) mediante
opencode serve(y una interfaz web medianteopencode web) - ser controlado 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 puede ejecutar planes multietapa en un entorno aislado, consulta el Inicio rápido de la CLI de 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 la instalación y configuración de Claude Code para Ollama, llama.cpp y precios.
Para un enfoque deliberadamente minimalista de la misma idea de agente de terminal —cuatro herramientas predeterminadas, sin entorno aislado integrado, todo lo demás mediante extensiones—, consulta la reseña de Pi Coding Agent.

Prerrequisitos
Necesitarás:
- Un emulador de terminal moderno (importante para la experiencia TUI).
- Acceso a al menos un modelo/proveedor (claves API o autenticación por suscripción, dependiendo del proveedor). Las opciones locales como Ollama o llama.cpp funcionan sin claves API cuando ejecutas un servidor compatible localmente.
Instalar OpenCode (copia y pega)
Script de instalación oficial (Linux/macOS/WSL):
curl -fsSL https://opencode.ai/install | bash
Opciones de gestor 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 (la más reciente desde AUR)
paru -S opencode-bin
Notas para Windows (la guía oficial recomienda comúnmente 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 un intento rápido):
docker run -it --rm ghcr.io/anomalyco/opencode
Verificar la instalación
opencode --version
opencode --help
Formato de salida esperado (variará según la versión):
# Ejemplo:
# <imprime un número de versión, p. ej. vX.Y.Z>
# <imprime ayuda con 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 inicio de sesión en el navegador/dispositivo).
Camino B: CLI opencode auth login (claves del proveedor)
OpenCode admite la configuración de 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 de LLM locales (Ollama, llama.cpp)
OpenCode funciona con cualquier API compatible con OpenAI. Para desarrollo local, muchos usuarios ejecutan Ollama y dirigen OpenCode a él. Recientemente tuve una experiencia muy buena configurando y ejecutando OpenCode con llama.cpp} —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 granular 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. Realmente disfruté la oportunidad de configurar capas descargadas (offloaded layers), la facilidad de uso de los modelos en formato GGUF y la compatibilidad implementada mucho mejor/más rápida con modelos nuevos, como Qwen3.5. Si quieres saber qué modelos realmente rinden 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 enviar este archivo a control de versiones para que OpenCode (y los compañeros de equipo) compartan un contexto de proyecto consistente.
Flujos de trabajo de CLI principales (ejemplos de copia y pega)
OpenCode admite ejecuciones no interactivas:
opencode run "Explain how closures work in JavaScript"
Para patrones de flujo de trabajo de línea de comandos —canalización de la salida de git, objetivos de Makefile y CI, políticas de permisos para ejecuciones sin supervisión— y los modos de fallo esperables, consulta la guía práctica de la CLI de OpenCode. Se basa en este inicio rápido en lugar de repetirlo.
Flujo de trabajo: generar código (CLI)
Objetivo: generar una pequeña función probable con el 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: confirmar que el agente plan más restrictivo se ejecuta antes de depender de él.
opencode run --agent plan --file ./src/auth.ts \
"Refactor this file to reduce complexity. Output a short plan only. Do not run commands."
Salida esperada: una sección de plan, sin ediciones de archivos, sin comandos ejecutados.
Flujo de trabajo: hacer preguntas al repositorio (CLI)
Objetivo: confirmar que el agente explore puede localizar detalles de implementación.
opencode run --agent explore \
"Where is authentication validated for API requests in this repository?"
Salida esperada: un breve mapa de rutas de archivos y una descripción del flujo.
Ambos son pruebas de humo de un solo disparo. Para la versión de producción restringida de las mismas tareas —salida explícita de riesgos/casos límite, parches unified-diff, prompts de exploración conscientes de permisos y qué hacer cuando el modelo no cumpla—, consulta la sección “Mejores casos de uso de la CLI de OpenCode” de la guía práctica de la CLI de OpenCode.
Flujo de trabajo: acelerar ejecuciones CLI repetidas con un servidor persistente
Si estás escribiendo scripts o ejecutando múltiples llamadas a opencode run, puedes iniciar un servidor sin interfaz 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 arranque repetida.
Uso programático (SDK oficial de JS/TS)
OpenCode expone un servidor HTTP (OpenAPI) y proporciona un cliente de JS/TS con tipos seguros.
Instalación:
npm install @opencode-ai/sdk
Ejemplo: iniciar servidor + cliente, luego 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 de modelo es provider/model (solo un ejemplo)
// model: "anthropic/claude-3-5-sonnet-20241022",
},
});
console.log(`Server running at: ${opencode.server.url}`);
// Verificación básica de salud/versión
const health = await opencode.client.global.health();
console.log("Healthy:", health.data.healthy, "Version:", health.data.version);
// Crea una sesión y envía 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);
// Cierra el servidor cuando termines
opencode.server.close();
Ejecuta:
node scripts/opencode-sdk-demo.mjs
Formato de salida esperado:
- “Server running at …”
- Una respuesta de salud 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 de proyecto.
Crea opencode.jsonc en la raíz de tu repositorio:
{
"$schema": "https://opencode.ai/config.json",
// Elige un modelo predeterminado (provider/model). Mantén esto alineado con lo que muestra `opencode models`.
"model": "provider/model",
// Opcional: un "small model" más barato para tareas ligeras (títulos, etc.)
"small_model": "provider/small-model",
// Opcional: valores predeterminados del servidor de 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"
}
}
Para una política de permisos más completa orientada a trabajos de opencode run sin supervisión, consulta la guía práctica de la CLI de OpenCode.
La memoria del proyecto entre sesiones es una instalación separada. Hindsight Memory para OpenCode, Cursor y otros agentes de codificación agrega el plugin al archivo ~/.config/opencode/opencode.json de nivel de usuario, un archivo diferente del opencode.jsonc de proyecto anterior.
Hoja de referencia breve (referencia rápida)
Comandos que usarás a diario
opencode # inicia TUI
opencode run "..." # ejecución no interactiva (automatización)
opencode run --file path "..." # adjunta archivos al prompt
opencode models --refresh # actualiza la lista de modelos
opencode auth login # configura credenciales del proveedor
opencode serve # servidor HTTP sin interfaz (OpenAPI)
opencode web # servidor sin interfaz + interfaz web
opencode session list # lista sesiones
opencode stats # estadísticas de tokens/costo
Comandos TUI que vale la pena memorizar
/connect # conecta un proveedor
/init # analiza el repositorio, genera AGENTS.md
/share # comparte una sesión (si está habilitado)
/undo # deshace un cambio
/redo # rehace 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 de la terminal. Muchos atajos son “Líder + tecla”.
Tabla de hoja de referencia de OpenCode de una página para imprimir
Esta versión está intencionadamente densa y “amigable para imprimir”. (Puedes pegarla en una página dedicada en /ai-devtools/opencode/cheatsheet/ más adelante.)
| Tarea | Comando / atajo | Notas |
|---|---|---|
| Iniciar TUI | opencode |
El comportamiento predeterminado es lanzar la interfaz de terminal |
| Ejecutar prompt one-shot | 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 “sin cambios” (restringido por permisos) |
| 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 ve OpenCode |
| 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 sobrepone |
| Modo de interfaz web | opencode web |
Inicia el servidor + 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 puede importar desde una URL de compartición |
| Ver banderas globales de CLI | opencode --help / opencode --version |
--print-logs + --log-level para depuración |
| Concepto de tecla líder TUI | la tecla líder predeterminada a menudo es 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 especialistas que se ejecutan en paralelo, cada uno en la familia de modelos para la que sus prompts están ajustados.
Tres artículos lo cubren en profundidad:
-
Inicio rápido de Oh My Opencode
Instala mediantebunx oh-my-opencode install, configura proveedores y ejecuta tu primera tarea ultrawork en menos de diez minutos. -
Inmersión profunda en agentes especializados
Los 11 agentes explicados —Sisyphus, Hephaestus, Oracle, Prometheus, Librarian y más— con enrutamiento de modelos, cadenas de respaldo y guía 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 de terceros a la suscripción de Claude —una medida tomada en enero de 2026, un mes antes de que la misma restricción afectara a OpenClaw. La línea de tiempo del ascenso y caída de OpenClaw documenta ambos eventos y el patrón más amplio que representan para las herramientas de agentes construidas sobre cómputo por suscripción.
Fuentes (oficiales primero)
Oficiales:
- Documentación de OpenCode (Intro, CLI, Config, Server, SDK): https://opencode.ai/docs/
- Registro de cambios de OpenCode: https://opencode.ai/changelog
- Repositorio oficial de GitHub: https://github.com/anomalyco/opencode
- Versiones de lanzamiento: https://github.com/anomalyco/opencode/releases
Referencia autorizada de integración:
- Registro de cambios de GitHub (Copilot admite OpenCode): https://github.blog/changelog/2026-01-16-github-copilot-now-supports-opencode/
Comparaciones/tutoriales respetables:
- 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: Integrar IA en tu terminal usando OpenCode: https://www.freecodecamp.org/news/integrate-ai-into-your-terminal-using-opencode/