No hay una razón urgente para abandonar Oh My Pi, y la lista honesta de alternativas es corta: un cliente que pida confirmación antes de ejecutar comandos o una superficie gestionada que no ejecutes tú mismo. Oh My Pi está activo y es gratuito: la API de GitHub informa de que can1357/oh-my-pi no está archivado, tiene licencia MIT, alrededor de 32.300 estrellas y recibió su último push el día de la comprobación; además, omp.sh sirve una Offer legible por máquina de 0 $ (ambos comprobados el 21 de septiembre de 2026). Por tanto, esta es una página de orientación, no un artículo de rescate.
Dos combinaciones ya están cubiertas y no se repiten aquí. Para el proyecto original del que hizo fork, consulta Oh My Pi vs Pi. Para el otro agente de terminal que la mayoría compara con él, consulta Oh My Pi vs OpenCode. Todo lo que sigue trata sobre los clientes que esas dos páginas no mencionan.
Dos de las cuatro razones habituales para cambiar no aplican
Los resúmenes de alternativas suelen clasificar los agentes de programación en categorías local-first, de API abierta, autónomos y nativos del IDE. Frente a Oh My Pi, dos de esas categorías están vacías, y decirlo es más útil que rellenarlas.
Local-first no es una razón para salir. El README de omp tiene una sección "Run it yourself" que dice "OpenAI-compatible /v1/models. Local instances skip the key.", y enumera Ollama, Ollama Cloud, LM Studio, llama.cpp, vLLM y LiteLLM. Lee las etiquetas, no solo la lista: el README marca Ollama, LM Studio, llama.cpp y vLLM con local — su propia leyenda define esto como "runs against a local server with the key optional" — mientras que LiteLLM y Ollama Cloud no llevan esa etiqueta, y docs/models.md tiene descubrimiento de LiteLLM mediante LITELLM_API_KEY o credenciales almacenadas cuando el proxy requiere una clave. Su campo discovery.type acepta ollama, llama.cpp, lm-studio, openai-models-list, proxy y litellm (el mismo archivo, leído el 21 de septiembre de 2026). Dejar omp para ejecutar un modelo local es irse por algo que ya hace.
Una superficie de API abierta y sin restricciones tampoco es una razón para salir. omp tiene licencia MIT, no vende nada y su models.yml documentado acepta once valores api: openai-completions, openai-responses, openai-codex-responses, azure-openai-responses, anthropic-messages, bedrock-converse-stream, google-generative-ai, google-gemini-cli, google-vertex, typesafe y openrouter-decisions, de los cuales la documentación señala que los dos últimos son API de evaluación y no transportes de chat (docs/models.md, leído el 21 de septiembre de 2026). El titular de su README cuenta "60+ providers". Nada de ese recorrido está restringido por un plan, porque no existe ningún plan.
Las razones que sí se mantienen
| Por qué te irías | ¿Oh My Pi ya lo cubre? | Dónde buscar en su lugar |
|---|---|---|
| Quieres que el agente se detenga y pregunte antes de ejecutar un comando | No de forma predeterminada. yolo es el modo predeterminado documentado y aprueba automáticamente read, write y exec, sin pedir confirmación | Cambia primero tools.approvalMode a always-ask o write. Solo si eso no basta, pasa a un cliente cuyo valor predeterminado solicite confirmación |
| Quieres una superficie gestionada o autónoma que no ejecutes tú mismo | No. omp es un CLI de terminal en tu propia máquina | OpenHands, que tiene su propio producto alojado. No se verificó ningún precio ni licencia de OpenHands para esta página |
| Quieres la superficie integrada de tu editor en lugar de una terminal | No. omp es un cliente de terminal | Cline, Continue o Zed |
| Quieres modelos locales | Sí: hay seis backends autoejecutables enumerados, cuatro de ellos etiquetados con local, donde la clave es opcional | Quédate. Consulta la documentación de la API compatible con Ollama si combinas servicios locales y alojados |
| Quieres un cliente abierto sin cuenta ni plan | Sí: licencia MIT, 0 $ en su propio JSON-LD, ninguna página de checkout en su sitemap, nueve protocolos de comunicación de chat más dos API de evaluación | Quédate |
La fila del modo de aprobación es la importante. Según la propia tabla de modos de aprobación de omp, leída el 21 de septiembre de 2026, always-ask aprueba automáticamente read y solicita confirmación para write y exec; write aprueba automáticamente read y write y solicita confirmación para exec; yolo, el valor predeterminado, no solicita confirmación para nada. Es un valor predeterminado documentado, no un defecto, y cambiar una configuración cuesta menos que cambiar de cliente. Conviene mencionar una precaución: Roo Code está archivado (archived=true, último push el 2026-05-15, API de GitHub, 21 de septiembre de 2026), y no se nombró ningún sucesor en el comienzo de su README, por lo que no es un objetivo de migración, diga lo que diga un resumen antiguo. Aquí no se estableció el motivo del archivado.
Migrar desde omp cuesta más que migrar a él
Esta es la asimetría que nadie calcula antes de empezar. El README de omp dice que "On first run omp inherits whatever is already on disk: rules, skills, and MCP servers from .claude, .cursor, .windsurf, .gemini, .codex, .cline, .github/copilot, and .vscode" — sin script de migración. Llegar es gratis. Nada de la superficie documentada de omp vuelve a escribir esos formatos, así que salir significa volver a crear manualmente la configuración de proveedores, las entradas de modelos y las reglas en el destino.
Las transcripciones son un segundo coste independiente. omp conserva las sesiones como JSONL bajo ~/.omp/agent/sessions/<encoded-cwd>/, y los comandos de exportación de su página de operaciones de sesión producen HTML (/export) y texto para el portapapeles, además de un archivo JSON temporal asociado (/dump); ninguno de los dos es el formato de sesión de otro agente. La documentación de omp advierte que el archivo asociado "persists after the command and can contain raw context or secrets; protect or remove it accordingly". No se comprobó para esta página si algún otro agente o conversor de terceros puede leer ese JSONL, así que planifica trasladar el contexto manualmente y no mediante una importación.
La reversión es sencilla, y esa es la buena noticia. Como la importación solo lee los directorios de tus otros agentes, probar una alternativa deja ~/.omp/ intacto: conserva ~/.omp/agent/models.yml y config.yml en su sitio y omp seguirá funcionando exactamente como antes. Haz la comprobación inversa antes de borrar nada: confirma primero que el destino completa una tarea real en tu repositorio.
Una trampa de nombres mientras mueves archivos: buscar omp.json devuelve Oh My Posh, un renderizador de prompts de shell multiplataforma no relacionado cuyos temas se llaman literalmente *.omp.json. La configuración de Oh My Pi es ~/.omp/agent/models.yml, y ningún archivo terminado en .omp.json le pertenece.
Qué exige cada alternativa de tu propia clave de API
Ninguno de estos clientes mide tus tokens por su cuenta; la factura llega de quien emitió la clave. Crush, Codex CLI, goose y OpenHands se pueden descargar gratis; para esta página no se comprobaron las condiciones propias de Claude Code. Lo que cambia es la forma de la configuración y, en dos casos, si tu endpoint habla siquiera el protocolo que el cliente espera.
| Cliente | Licencia | Cómo se declara un endpoint personalizado | La restricción que debes vigilar |
|---|---|---|---|
| Crush | FSL-1.1-MIT, no una licencia OSI | provider add --type openai-compat --base-url --api-key en un crushrc, después model add por modelo | La ventana de contexto y cuatro campos de precio se introducen manualmente para cada modelo. Un crushrc es Bash y se ejecuta en un shell completo, y el README de Crush dice que cualquier $(...) en crush.json se ejecuta en el momento de la carga |
| Claude Code | No se verificó aquí | ANTHROPIC_BASE_URL más una credencial de gateway | La guía de compatibilidad de Anthropic exige el formato sin procesar Anthropic Messages, Bedrock InvokeModel o Agent Platform rawPredict; un endpoint de Chat-Completions no es ninguno de ellos. Anthropic también afirma que una credencial de gateway sustituye una suscripción a claude.ai para esa sesión y que los límites de la suscripción dejan de aplicarse, mientras que establecer solo la URL base no lo hace. Consulta la documentación de la URL base |
| Codex CLI | Apache-2.0 | ~/.codex/config.toml, model_providers.<id>.base_url y env_key | La restricción más difícil para un endpoint de Chat-Completions. Según el código fuente del proveedor, wire_api acepta únicamente responses; chat se eliminó y ahora produce un error por nombre. Un endpoint que solo ofrezca Chat-Completions no puede hacerlo funcionar |
| goose | Apache-2.0 | OPENAI_API_KEY, OPENAI_HOST, OPENAI_BASE_PATH | El proyecto se trasladó a aaif-goose/goose y la documentación a goose-docs.ai; la raíz de block.github.io/goose ahora solo sirve un stub de redirección de "goose has moved", y las rutas que están debajo devuelven 404 |
| OpenHands | No se verificó aquí | LLM_BASE_URL, LLM_API_KEY, LLM_MODEL: se establecen en la configuración de la interfaz de usuario o como variables de entorno o entradas config.toml | Las cadenas de modelo siguen la lista de proveedores de LiteLLM, por lo que un modelo no incluido necesita el ID con el prefijo del proveedor de LiteLLM, como openai/<id> (documentación de LLM de OpenHands) |
Licencias y datos de repositorios leídos de la API de GitHub y de los archivos propios de cada proyecto el 21 de septiembre de 2026; el texto de Anthropic procede de su página de gateways de LLM, que también dice que Anthropic "doesn't endorse, maintain, or audit third-party gateway products". Las variables de goose se volvieron a leer ese mismo día en la página actual de proveedores de goose, que documenta OPENAI_HOST como "Custom endpoint URL (defaults to api.openai.com)" y OPENAI_BASE_PATH como "Request path appended to the host (defaults to v1/chat/completions)".
# goose reaches an OpenAI-compatible endpoint through the built-in
# OpenAI provider. OPENAI_HOST is the host root; OPENAI_BASE_PATH is the
# request path appended to it, and defaults to v1/chat/completions.
export OPENAI_API_KEY="your-key"
export OPENAI_HOST="https://api.kunavo.com"
export OPENAI_BASE_PATH="v1/chat/completions"Kunavo publica guías de configuración para cada uno de estos clientes: Crush, Claude Code, Codex CLI, goose, OpenHands; una referencia de configuración publicada no es una prueba de compatibilidad. Ninguno de estos clientes se ha probado en ejecución contra el endpoint de Kunavo, incluido el propio Oh My Pi.
Cambia el cliente; no cambia la factura de tokens
Como ninguno de estos clientes cobra nada por su cuenta, el modelo que selecciones influye mucho más en el coste que el cliente en el que lo ejecutes. Las cifras siguientes son cálculos ilustrativos de tokens, no costes medidos de tareas ni un límite máximo de factura. Supón una sesión que envía 200.000 tokens de entrada sin caché y recibe 15.000 tokens de salida, aplicando las tarifas actuales del catálogo de Kunavo por millón de tokens.
| Modelo | Entrada/salida por 1M | Coste estimado de esa sesión |
|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $0.192 |
| GPT-5.6 Terra | $0.70 / $4.20 | $0.203 |
| Claude Sonnet 4.6 | $2.10 / $10.50 | $0.578 |
| Claude Opus 5 | $3.50 / $17.50 | $0.963 |
Bajo estos supuestos, la misma sesión oscila entre $0.192 en Claude Haiku 4.5 y $0.963 en Claude Opus 5; una diferencia a la que ninguna elección de cliente en esta página se acerca. Ten en cuenta que la tarifa más barata de la lista y el coste más bajo para terminar la tarea son afirmaciones diferentes: un modelo más barato que necesite tres intentos puede costar más que uno que lo haga en una sola pasada, así que mide en tu propio repositorio. El importe del catálogo de Kunavo es un mínimo de facturación, no un máximo: cuando el proveedor ascendente informa de su cargo, la factura es el mayor entre el coste del catálogo y el coste ascendente multiplicado por el margen aplicable. Los cargos de caché y las herramientas externas quedan fuera de este ejemplo, y la recarga mínima es de $10 en crédito prepagado, que financia un saldo en lugar de comprar un plan. Consulta los detalles de facturación.
Una nota sobre el alcance antes de planificar un cambio de IDE: Kunavo no ofrece ningún modelo de embeddings, por lo que un cliente que indexe tu repositorio localmente necesita organizar ese paso en otro lugar. El catálogo de Kunavo contiene modelos de chat-completion y multimedia.
Prueba una tarea acotada antes de comprometerte
Elige la única alternativa a la que realmente apunta tu razón para salir, configúrala con la estructura de la tabla anterior y ejecuta una tarea que ya hayas ejecutado en omp. Conserva ~/.omp/ intacto mientras lo haces. Si el destino es Codex CLI, verifica primero la restricción de protocolo: un endpoint que solo ofrezca Chat-Completions no funcionará allí, independientemente del resto de tu configuración. Si vas a quedarte con omp y solo querías un control de ejecución más estricto, el cambio consiste en una configuración. En cualquier caso, empieza por la guía de integración de Oh My Pi y crea una cuenta de Kunavo cuando estés listo para financiar una clave. Para un análisis más amplio de clientes, consulta el directorio de API de agentes de IA.
Preguntas frecuentes
¿Cuáles son las mejores alternativas a Oh My Pi?
Depende de por qué quieras cambiar, y dos motivos habituales no son motivos reales. Si quieres modelos locales, quédate: el README de omp incluye Ollama, Ollama Cloud, LM Studio, llama.cpp, vLLM y LiteLLM en «Ejecutarlo tú mismo»; docs/models.md documenta el descubrimiento implícito del entorno de ejecución para Ollama, llama.cpp, LM Studio y LiteLLM; y el README dice «Las instancias locales omiten la clave». La etiqueta local cubre allí Ollama, LM Studio, llama.cpp y vLLM, pero no LiteLLM, cuyo descubrimiento sigue esperando una clave cuando el proxy la requiere. Si quieres un cliente abierto y sin restricciones, quédate: omp usa la licencia MIT, omp.sh publica un precio legible por máquina de $0 y su mapa del sitio de 36 URL no contiene ninguna página de precios, compra, registro, inicio de sesión o cuenta. Sí hay dos motivos válidos. Si quieres un agente que se detenga y pregunte antes de ejecutar un comando, el modo de aprobación predeterminado documentado de omp es yolo: aprueba automáticamente las operaciones de lectura, escritura y ejecución y no pregunta nada. Cambia primero esa configuración y solo después considera Cline, Continue o Zed para una interfaz nativa del editor, u OpenHands para una interfaz gestionada. Si estás eligiendo específicamente entre omp y Pi u OpenCode, esas dos comparaciones ya existen en este sitio.
¿Oh My Pi sigue recibiendo mantenimiento?
Sí, según todas las señales fechadas disponibles el 2026-09-21. La API de GitHub informa que can1357/oh-my-pi tiene archived=false, fork=false, licencia MIT, fue creado el 2025-12-31, cuenta con aproximadamente 32,300 estrellas y recibió su último push el propio 2026-09-21. En ese momento se publicaban versiones a diario: v18.2.6 el 2026-09-18, y después v18.2.7 y v18.2.8, ambas el 2026-09-21, mientras que el paquete npm @oh-my-pi/pi-coding-agent incluía las versiones correspondientes. Esas cifras y etiquetas cambian constantemente, así que considérelas una instantánea de ese día y no una cifra actual. Ten también en cuenta que el README de omp lo describe como un fork de Pi, mientras que ambos numeran sus versiones en escalas no relacionadas: omp en 18.x y Pi en 0.x. Por tanto, ninguno de los dos números indica madurez frente al otro. Aquí no se determinó por qué divergen.
¿Puedo trasladar la configuración de Oh My Pi a otro agente de programación?
No automáticamente. La importación funciona en un solo sentido. El README de Oh My Pi indica que, en la primera ejecución, hereda las reglas, habilidades y servidores MCP que ya existan en el disco desde .claude, .cursor, .windsurf, .gemini, .codex, .cline, .github/copilot y .vscode, sin ningún script de migración. Nada de la interfaz documentada de omp escribe esos formatos de vuelta, así que llegar a omp es sencillo, pero salir implica volver a crear manualmente en el destino la configuración de proveedores, las entradas de modelos y cualquier regla específica de omp. Las sesiones son otro problema: omp las almacena como JSONL en ~/.omp/agent/sessions, y los comandos de exportación documentados en su página de operaciones de sesión producen HTML (/export) y texto en el portapapeles, además de un archivo JSON temporal (/dump); ninguno es el formato de sesión de otro agente. Aquí no se comprobó si existe un conversor de terceros para ese JSONL.
¿Qué agentes de programación no pueden usar una puerta de enlace de OpenAI Chat Completions?
Dos de los que aparecen aquí: Codex CLI y Claude Code, según el código fuente y la documentación consultados el 2026-09-21. Codex CLI es el caso más tajante. En openai/codex, en codex-rs/model-provider-info/src/lib.rs, el enum WireApi contiene exactamente una variante, Responses, descrita como la API Responses en /v1/responses, y una constante con nombre rechaza la configuración antigua con el mensaje de que wire_api = "chat" ya no es compatible y de que debe configurarse wire_api = "responses". Por tanto, un punto de conexión que solo sirva /v1/chat/completions no puede respaldar Codex CLI, independientemente del base_url que pongas en ~/.codex/config.toml. La configuración de alcance de proyecto de Codex tampoco puede sobrescribir el proveedor o la autenticación locales de la máquina: la referencia de configuración avanzada incluye model_provider y model_providers entre las claves que se ignoran en un .codex/config.toml local del proyecto. Claude Code es el caso más discreto y el que resulta más fácil de expresar de forma demasiado amplia: la guía de compatibilidad de puertas de enlace de Anthropic indica que una puerta de enlace debe exponer el formato sin procesar de Anthropic Messages, Amazon Bedrock InvokeModel o Agent Platform rawPredict, y un punto de conexión de Chat Completions no es ninguno de ellos. Por ello, ANTHROPIC_BASE_URL necesita un punto de conexión con formato de Anthropic, no uno de Chat Completions. De los clientes restantes de la tabla anterior, Crush, goose y OpenHands documentan cada uno una ruta de Chat Completions compatible con OpenAI. Las extensiones de editor quedan fuera de lo comprobado aquí.
¿Crush es de código abierto?
No bajo una licencia aprobada por la OSI a día de hoy. La lectura de charmbracelet/crush/LICENSE.md el 2026-09-21 muestra el título "Functional Source License, Version 1.1, MIT Future License", la abreviatura FSL-1.1-MIT y la línea de copyright "Copyright 2025-2026 Charmbracelet, Inc." La propia API de GitHub informa de la licencia únicamente como NOASSERTION. Esa es la diferencia de licencia más marcada respecto de Oh My Pi, Pi y OpenCode, los tres con licencia MIT. Crush se puede descargar gratis; la distinción que merece publicarse es la licencia, no una tarifa. Existe otro proyecto con el nombre OpenCode, con propietarios diferentes, opencode-ai/opencode, archivado y con su último push el 2025-09-18, cuyo trabajo continuó como Crush; no uses nunca la documentación ni el formato de configuración de ese repositorio archivado para ninguno de los dos proyectos.
¿Goose se trasladó? ¿Sigue siendo un proyecto de Block?
Sí, se trasladó. La API de GitHub resuelve block/goose como aaif-goose/goose, con licencia Apache-2.0 y goose-docs.ai como página de inicio, según la consulta del 2026-09-21. La propia publicación de anuncio del proyecto, fechada el 7 de abril de 2026, dice que Block donó goose a la Agentic AI Foundation de la Linux Foundation, junto con MCP de Anthropic y AGENTS.md de OpenAI, y que goose "sigue siendo de código abierto, sigue desarrollándose activamente y sigue siendo el mismo agente que conoces". El antiguo host de documentación está medio desaparecido, no completamente: block.github.io/goose todavía responde en su raíz, pero solo con una página de "goose has moved" que redirige a goose-docs.ai, mientras que las rutas de documentación — /goose/docs/ y las inferiores — devuelven 404. En cualquier caso, un marcador o comando copiado que apunte al host antiguo está obsoleto.
¿Oh My Pi cuesta algo? ¿Y sus alternativas?
El cliente omp es gratuito: omp.sh sirve un bloque JSON-LD de SoftwareApplication con una Offer cuyo precio es "0" en USD y una URL de licencia para MIT, comprobado el 2026-09-21, y su sitemap de 36 URL no incluía ese mismo día ninguna página de precios, checkout, registro, inicio de sesión o cuenta. Crush, goose y Codex CLI también se pueden descargar gratis. Lo que realmente pagas en todos los casos son los tokens del modelo, facturados por quien emitió la clave de API, así que cambiar de cliente no cambia por sí mismo la factura. Una alternativa sí vende su propio plan de modelo: Charm Hyper, que el README de Crush denomina "the official Crush provider", publicó el 2026-09-21 un nivel gratuito de 100 Hypercredits al mes, una suscripción de 20 $ al mes con 250 Hypercredits que se renuevan diariamente y paquetes prepagados de 5 $ por 100, 10 $ por 200 y 20 $ por 400 créditos que nunca caducan, indicando que un Hypercredit "actualmente cuesta 5¢". Esas son las tarifas publicadas por Charm para el servicio de Charm, no las de Kunavo, y Crush no las exige: también acepta tu propia clave mediante un proveedor personalizado compatible con OpenAI.
¿Debería cambiar de Oh My Pi a Pi o a OpenCode?
Esas dos preguntas tienen sus propias páginas en este sitio y no se responden de nuevo aquí, porque la respuesta depende de detalles que esta página no contiene. Pi es el proyecto original del que Oh My Pi hizo fork; su repositorio pasó de badlogic/pi-mono a earendil-works/pi, está activo y tiene licencia MIT, con aproximadamente 108.000 estrellas el 2026-09-21, y lee un archivo de configuración diferente: ~/.pi/agent/models.json en lugar de ~/.omp/agent/models.yml de omp, por lo que la configuración escrita para uno no se carga en el otro. Aquí OpenCode significa el proyecto activo anomalyco/opencode, al que redirige sst/opencode, no el CLI de Go archivado con el mismo nombre.
Comprobado el 21 de septiembre de 2026 mediante la consulta, para esta página, del README de Oh My Pi, docs/models.md, docs/approval-mode.md y su página de operaciones de sesión en main; la enumeración WireApi de Codex; el LICENSE.md y el README de Crush; la guía de compatibilidad de gateways de Anthropic; la documentación actual de proveedores de goose y su anuncio de traslado; y los precios publicados de hyper.charm.land. Las cantidades de repositorios, fechas, licencias y números de versión proceden de consultas a las API de GitHub y npm fechadas ese mismo día. Ningún cliente de esta página se probó en ejecución contra el endpoint de Kunavo. Las tarifas de tokens de Kunavo se leen del catálogo activo, y cada cifra en dólares aquí es un cálculo ilustrativo de tokens.