OpenCode vs Pi Agent: ¿Cuál Agente de Codificación en Terminal Deberías Usar?

Comparación práctica de los agentes de codificación en terminal OpenCode y Pi. Cubre instalación, soporte de modelos, extensiones, diferencias de flujo de trabajo, precios y cuál se adapta a tu estilo.

OpenCode vs Pi Agent: ¿Cuál Agente de Codificación en Terminal Deberías Usar?

He estado usando OpenCode y Pi en paralelo durante las últimas semanas. Ambos son agentes de codificación en terminal open source, ambos se conectan a modelos baratos, y ambos corren en un VPS de $6/mes. Pero funcionan de manera suficientemente diferente como para que elegir uno u otro importe.

OpenCode te da todo desde el principio. Lo instalas, conectas un modelo, y ya tienes modo plan, soporte de imágenes, servidores MCP, deshacer/rehacer, y una TUI rica. Pi te da cuatro herramientas y un sistema de extensiones en TypeScript. Añades memoria, planificación, soporte MCP y sub-agentes a través de extensiones que tú eliges.

Terminé usando ambos para cosas diferentes. Esto es lo que encontré.

Lo que cubre esta comparación

  • Cómo difieren los dos agentes en filosofía y comportamiento por defecto
  • Instalación y configuración de modelos lado a lado
  • Diferencias de flujo de trabajo: modo plan, extensiones, memoria, sesiones
  • Precios con modelos baratos a través de OpenRouter y OpenCode Go
  • Cuándo elegir uno sobre el otro (o ambos)

Para instrucciones completas de configuración, consulta la guía de OpenCode y la guía de Pi coding agent. Si quieres comparar estos agentes con Claude Code también, ambas guías incluyen tablas comparativas.

Filosofía: todo incluido vs construye lo tuyo

Esta es la diferencia central y todo lo demás se deriva de ella.

OpenCode es todo incluido. Obtienes una TUI pulida con modo plan, modo construcción, arrastrar y soltar imágenes, soporte de servidores MCP, deshacer/rehacer, compartir conversaciones, y un comando /init que inicializa tu proyecto. En el momento en que terminas de instalar, tienes un agente de codificación totalmente funcional. Eliges un modelo y empiezas a trabajar.

Pi empieza con cuatro herramientas: lectura, escritura, edición y bash. Sin modo plan. Sin MCP. Sin memoria. Sin sub-agentes. Añades lo que necesitas a través de extensiones en TypeScript. Eso suena como una desventaja hasta que te das cuenta de que puedes construir exactamente el agente que quieres, sin que ninguna función que no vayas a usar se interponga.

Ningún enfoque es mejor. Depende de cómo trabajes. Si quieres sentarte y empezar a programar de inmediato, OpenCode te lleva ahí más rápido. Si quieres diseñar un flujo de trabajo específico y estás dispuesto a dedicar una hora a configurar extensiones, Pi te da más control sobre lo que el agente puede hacer.

Instalación

Ambos se instalan en menos de un minuto en cualquier VPS Linux con Node.js 18+.

OpenCode

curl -fsSL https://opencode.ai/install | bash

También disponible a través de npm (npm install -g opencode-ai), Bun, Homebrew, y Docker.

Pi

npm install -g @mariozechner/pi-coding-agent

Ejecútalo con pi en cualquier directorio de proyecto.

OpenCode tiene su propio script de instalación y distribución binaria. Pi es un paquete npm estándar. Para Docker, ambos funcionan bien:

# OpenCode
docker run -it --rm ghcr.io/anomalyco/opencode

# Pi
docker run -it --rm -v $(pwd):/workspace -w /workspace node:22 \
  npx @mariozechner/pi-coding-agent

Soporte de modelos

Ambos agentes se conectan a los mismos modelos baratos. La diferencia está en cómo los configuras.

OpenCode

OpenCode tiene más de 75 proveedores integrados. Configuras variables de entorno o usas el comando /connect en la TUI. OpenRouter, Anthropic, OpenAI, Google, MiniMax, DeepSeek, ZAI (GLM), Xiaomi MiMo, Moonshot (Kimi), y docenas más están listos para usar.

Pi

Pi tiene más de 20 proveedores integrados con el mismo enfoque de variables de entorno. Para cualquier cosa que no esté integrada, creas ~/.pi/agent/models.json para añadir proveedores personalizados, Ollama, o cualquier API compatible con OpenAI. El archivo models.json se recarga al abrir /model, así que puedes editarlo en medio de una sesión.

Ambos soportan OpenRouter, que es la forma más fácil de acceder a todos los modelos baratos con una sola clave:

export OPENROUTER_API_KEY=sk-or-...

Ambos también soportan OpenCode Go como proveedor integrado. A $10/mes, incluye 12 modelos como MiniMax M2.7, Qwen 3.6 Plus, GLM 5.1, DeepSeek V4 Pro, y Kimi K2.6. Para un análisis detallado con límites y uso real, consulta la guía de OpenCode Go. Para un análisis de estos modelos y sus benchmarks, consulta la guía de mejores modelos baratos.

Modelos que uso con ambos agentes

TareaModeloCoste
Ediciones diariasMiniMax M2.7$0.30/M entrada
Trabajo frontend / UIQwen 3.6 Plus$0.33/M entrada
Refactorización multi-archivoGLM 5.1$1.05/M entrada
Repos grandes, largo contextoDeepSeek V4 Pro$0.435/M entrada

Comparación de flujos de trabajo

Modo plan

OpenCode tiene modo plan integrado. Presiona Tab para cambiar entre modo plan (solo lectura, el agente describe lo que haría) y modo construcción (el agente hace cambios). Este es el patrón de flujo de trabajo al que siempre vuelvo en OpenCode.

Pi tiene modo plan a través de la extensión pi-plan. La instalas, y Pi obtiene la misma planificación de solo lectura con ejecución basada en aprobación. Funciona de la misma manera conceptualmente, pero tienes que instalarla primero.

Soporte MCP

OpenCode soporta servidores MCP desde el inicio. Los configuras en la configuración de OpenCode y están disponibles inmediatamente.

Pi necesita la extensión pi-mcp-adapter. Una vez instalada, se conecta a cualquier servidor de herramientas compatible con MCP — GitHub, Playwright, Brave Search, Postgres, Notion, Slack. Si ya tienes servidores MCP configurados para otros agentes como Hermes Agent, puedes reutilizarlos.

Memoria

OpenCode no tiene memoria persistente. Cada sesión empieza desde cero.

Pi obtiene memoria a través de la extensión pi-memory-md. El agente almacena lo que aprende sobre tu proyecto en archivos Markdown y los carga en la siguiente sesión. Esta es la primera extensión que instalo al configurar Pi. Después de unas sesiones, el agente ya conoce la estructura de tu proyecto, convenciones y peculiaridades.

Sub-agentes

OpenCode no soporta sub-agentes.

Pi tiene pi-subagents. Cuando una tarea tiene partes independientes, los sub-agentes las abordan en paralelo. Esto importa para refactorizaciones complejas o cambios multi-archivo donde diferentes partes del trabajo no dependen unas de otras.

Soporte de imágenes

OpenCode soporta arrastrar y soltar imágenes en terminales que lo soporten (WezTerm, Ghostty, Kitty, Alacritty). Sobre SSH con tmux, puedes pegar imágenes en su lugar.

Pi soporta tanto pegar como arrastrar. La experiencia es similar a través de SSH.

Inicialización del proyecto

OpenCode tiene /init. Lee tu base de código y crea un archivo AGENTS.md con convenciones del proyecto, estructura y patrones de codificación. Puedes editarlo manualmente.

Pi no tiene un comando init integrado. Creas AGENTS.md tú mismo. Pi lo carga desde ~/.pi/agent/AGENTS.md (global) y desde la raíz de tu proyecto. Con el repositorio comunitario pi-config, puedes copiar configuraciones curadas de extensiones y habilidades para empezar más rápido.

Sesiones

Ambos agentes guardan sesiones automáticamente.

OpenCode: /undo, /redo, /share, e historial de conversaciones.

Pi: /resume, /new, /tree, /fork, /clone. Pi también soporta modo no interactivo con pi -p "prompt" para comandos de una sola vez en scripts o CI. Los flags --mode json y --mode rpc te dan salida estructurada para integración con procesos.

Extensiones y personalización

Aquí es donde los dos agentes más divergen.

OpenCode

OpenCode se configura a través de archivos y variables de entorno. Configuras proveedores de modelos en .env, configuras servidores MCP en la configuración, y usas AGENTS.md para instrucciones del proyecto. No hay sistema de plugins ni API de extensiones. Lo que ves es lo que obtienes.

Pi

Pi tiene un sistema completo de extensiones en TypeScript. Las extensiones son archivos .ts que dejas en ~/.pi/agent/extensions/. Pueden:

  • Registrar herramientas personalizadas que el LLM puede llamar
  • Intercept llamadas a herramientas antes de la ejecución (para bloquear comandos peligrosos, por ejemplo)
  • Añadir comandos slash
  • Modificar el prompt del sistema
  • Construir componentes de TUI personalizados
  • Recargar en caliente con /reload sin reiniciar

La comunidad alrededor de este sistema de extensiones está creciendo. LazyPi incluye más de 60 habilidades, 76 temas, soporte MCP, sub-agentes, memoria, y modo plan en un solo comando. El repositorio pi-config tiene extensiones curadas para búsqueda web, guardias de bash, Reddit, lectura de PDF, y más.

Si quieres construir un flujo de trabajo específico, el sistema de extensiones te da control que OpenCode no ofrece. Pero lleva tiempo configurarlo, y necesitas estar cómodo escribiendo o al menos configurando TypeScript.

Precios

Ambos agentes son gratuitos y open source. Pagas por el uso de la API del LLM.

EscenarioCoste
MiniMax M2.7 vía OpenRouter$3-10/mes uso típico de codificación
Qwen 3.6 Plus vía OpenRouter$5-15/mes
Suscripción OpenCode Go$5 primer mes, $10/mes después
Claude Sonnet vía Anthropic$15-50/mes según el uso

OpenCode Go funciona con ambos agentes. Suscríbete una vez y usa la clave en OpenCode y Pi. Los límites de uso se comparten: $12 por 5 horas, $30 por semana, $60 por mes.

Para el desglose completo de precios, consulta la guía de mejores modelos baratos para Hermes Agent.

Resumen lado a lado

CaracterísticaOpenCodePi
InstalaciónBinario/npm/Homebrew/DockerPaquete npm
Herramientas por defectoJuego completo4 (read, write, edit, bash)
Modo planIntegrado (tecla Tab)Vía extensión
Soporte MCPIntegradoVía extensión
MemoriaNoVía extensión
Sub-agentesNoVía extensión
Soporte de imágenesArrastrar y soltar + pegarPegar + arrastrar
Proveedores de modelos75+ integrados20+ integrados + models.json
Inicialización /initNo (AGENTS.md manual)
Sistema de extensionesNingunoExtensiones TypeScript
TemasIntegrados2 integrados + 76 comunitarios
Características de sesiónDeshacer, rehacer, compartirÁrbol, bifurcar, clonar, modo no interactivo
PrecioGratis (pagas API)Gratis (pagas API)
Soporte OpenCode Go

Cuándo elegir OpenCode

  • Quieres un agente que funcione inmediatamente después de instalar, sin necesidad de configuración
  • El modo plan y modo construcción son centrales en tu flujo de trabajo
  • Quieres más de 75 proveedores de modelos sin tocar archivos de configuración
  • El arrastrar y soltar imágenes importa (maquetas, capturas, feedback de UI)
  • Quieres /init para inicializar convenciones del proyecto
  • Te gusta una TUI pulida con atajos de teclado

Cuándo elegir Pi

  • Quieres construir un flujo de trabajo de agente personalizado desde partes
  • La memoria persistente entre sesiones te importa
  • Necesitas sub-agentes para trabajo paralelo en tareas complejas
  • Quieres escribir extensiones TypeScript para herramientas personalizadas
  • Te importan los 76 temas de terminal
  • Quieres modo no interactivo (pi -p) para CI o scripting
  • Quieres que LazyPi configure más de 60 habilidades en un solo comando

Cuándo usar ambos

Esto es lo que yo hago. OpenCode para sesiones de codificación rápidas donde sé lo que quiero y solo necesito hacerlo. Pi para proyectos más largos donde la memoria, sub-agentes y un flujo de trabajo a la medida compensan a lo largo del tiempo. Ambos agentes se conectan a la misma clave de OpenRouter, así que el coste es el mismo de cualquier forma.

Ejecútalos en el mismo VPS si quieres. No entran en conflicto. Usa tmux o mosh para conectarte desde tu portátil.

¿Puedo usar la misma API key para ambos?

Sí. Ambos agentes leen OPENROUTER_API_KEY de las variables de entorno. Si usas OpenCode Go, configura OPENCODE_API_KEY y ambos agentes pueden acceder a la misma suscripción. Los límites de uso se comparten.

¿Puedo ejecutar ambos en el mismo VPS?

Sí. Son binarios separados que trabajan en directorios separados. Sin conflictos de puertos, sin estado compartido. Usa diferentes sesiones de tmux: tmux new -s opencode y tmux new -s pi.

¿Cuál es mejor para Ollama / modelos locales?

Ambos soportan Ollama. OpenCode usa variables de entorno (OPENAI_BASE_URL). Pi usa models.json con flags de compatibilidad para modelos que no soportan el rol developer. El enfoque de Pi te da más control sobre configuraciones de compatibilidad para modelos de razonamiento. Consulta nuestra guía de Ollama con Docker para la configuración.

¿Cuál tiene mejores extensiones comunitarias?

Pi, por bastante margen. El sistema de extensiones en TypeScript, LazyPi (más de 60 habilidades), pi-config (extensiones comunitarias curadas), y 76 temas dan a Pi un ecosistema mucho más grande de complementos. OpenCode no tiene sistema de extensiones.

Para más guías de agentes, consulta la guía de Hermes Agent, el artículo de alternativas a GitHub Copilot, y la guía de Qwen 3.6 para agentes de codificación IA.