- Pi es un agente de programación minimalista basado en terminal, que ofrece una estructura extensible para adaptarse al flujo de trabajo del usuario
- Puedes armar tu propio entorno de desarrollo combinando extensiones en TypeScript, skills, plantillas de prompts y temas, y compartirlo como paquetes de npm o git
- Soporta más de 15 proveedores de IA y cientos de modelos, y permite cambiar de modelo durante la sesión o agregar modelos personalizados
- Las sesiones se guardan con un historial en estructura de árbol, por lo que puedes volver a puntos anteriores o exportarlas a HTML o GitHub gist
- Mantiene las funciones centrales al mínimo y una filosofía de diseño centrada en la extensibilidad, para que los desarrolladores implementen solo lo que necesiten o lo agreguen como paquetes
Resumen de Pi
- Pi es un arnés de programación en terminal con una estructura que permite personalizar las herramientas sin cambiar el flujo de trabajo del usuario
- Soporta componentes extensibles como extensiones en TypeScript, skills, plantillas de prompts y temas
- Los paquetes de pi que agrupan estos elementos pueden instalarse y compartirse mediante npm o git
- La configuración predeterminada es potente, pero no incluye funciones como subagentes o modo de planificación
- Ofrece cuatro modos (interactivo, print/JSON, RPC y SDK), y clawdbot muestra un caso real de integración
Modelos y proveedores
- Soporta más de 15 proveedores y cientos de modelos, entre ellos Anthropic, OpenAI, Google, Azure, Bedrock, Mistral, Groq, Cerebras, xAI, Hugging Face, Kimi, MiniMax, OpenRouter y Ollama
- La autenticación puede hacerse con API key u OAuth
- Puedes cambiar de modelo durante la sesión con el comando
/model o Ctrl+L, y recorrer modelos favoritos con Ctrl+P
- Se pueden agregar modelos personalizados mediante models.json o extensiones
Gestión de sesiones
- Las sesiones se guardan en una estructura de árbol, y puedes volver a puntos anteriores con el comando
/tree
- Todas las ramas se guardan en un solo archivo, y se admite filtrado por tipo de mensaje y etiquetado con marcadores
- Con
/export puedes exportar a HTML, y con /share subir a GitHub gist y generar una URL para compartir
Ingeniería de contexto
- Un prompt de sistema mínimo y la extensibilidad permiten controlar con precisión la ventana de contexto
- AGENTS.md: carga automáticamente las instrucciones del proyecto al iniciar
- SYSTEM.md: reemplaza o agrega el prompt de sistema base por proyecto
- Compaction: cuando se alcanza el límite de contexto, resume automáticamente mensajes anteriores; mediante extensiones pueden implementarse resúmenes por tema o resúmenes con reconocimiento de código
- Skills: paquetes de funcionalidad que se cargan cuando hacen falta, mantienen la caché de prompts y ofrecen funciones de manera gradual
- Prompt templates: prompts reutilizables y extensibles con el comando
/name
- Dynamic context: mediante extensiones se pueden insertar mensajes, filtrar historial, implementar RAG y construir memoria de largo plazo
Encolado de mensajes
- Puedes enviar mensajes incluso cuando el agente está trabajando
Enter: mensaje de steering que se entrega después de la ejecución actual de la herramienta
Alt+Enter: mensaje de follow-up que se entrega al terminar la tarea
Estructura de extensiones
- Pi está diseñado en torno a primitivas, no a funciones cerradas, para que el usuario pueda implementar capacidades por su cuenta
- Las extensiones toman la forma de módulos TypeScript y pueden acceder a herramientas, comandos, atajos, eventos y a toda la TUI
- Ejemplos de extensiones: subagentes, modo de planificación, puertas de permisos, protección de rutas, ejecución por SSH, sandboxing, integración con MCP, editor personalizado y overlays
- Incluso existe una extensión de overlay de juego, como muestra el ejemplo “Yes, Doom runs.”
- Si no quieres implementarlo tú mismo, puedes agregar funciones instalando paquetes de pi
- En GitHub hay disponibles más de 50 ejemplos de extensiones
Gestión de paquetes
- Las extensiones, skills, prompts y temas pueden agruparse en paquetes e instalarse desde npm o git
- Puedes descubrir y compartir paquetes con la búsqueda de npm
pi-package o en el canal de Discord
Modos de integración
- Interactive: entorno TUI completo
- Print/JSON:
pi -p "query" para scripts, --mode json para flujo de eventos
- RPC: protocolo JSON sobre stdin/stdout para integraciones en entornos que no usan Node
- SDK: permite incrustarlo dentro de aplicaciones; clawdbot ofrece un ejemplo de uso real
Filosofía de diseño
- Pi está diseñado para maximizar la extensibilidad, reducir el núcleo al mínimo y permitir que el usuario defina su propio flujo de trabajo
- No incluye funciones como MCP, subagentes, ventanas emergentes de permisos, modo de planificación, TODOs integrados o bash en segundo plano
- En su lugar, esas mismas capacidades pueden implementarse mediante extensiones, skills y paquetes, o integrarse con herramientas externas
- Soporta ejecución y observación en paralelo mediante tmux
- Este enfoque permite una configuración del entorno de desarrollo guiada por el propio usuario
- La filosofía completa se explica con más detalle en la publicación del blog correspondiente
2 comentarios
Me encanta muchísimo pi
Comentarios en Hacker News
Lo que me parece interesante de Pi y del fenómeno de “claw” es que muestra el futuro del software de código abierto
Ahora estamos entrando en una era en la que, en vez de enviar solicitudes de funciones o PRs, descargas un archivo de skill que le dice al agente de código cómo agregar la funcionalidad
El software ya no es un producto fijo, sino una herramienta viva distinta para cada usuario
Me da curiosidad qué tipo de tooling surgirá en este nuevo paradigma de colaboración
El software actual hace que los usuarios no puedan controlar su entorno, y eso genera una sensación de alienación
Pero un software personalizado, barato y flexible puede dar una verdadera sensación de propiedad
Antes los escritorios Linux ofrecían esa libertad; ahora parece que todos podrán disfrutar de ese beneficio
Soy optimista sobre ese futuro
Creo que vamos hacia un aumento del software extremadamente personalizado — hasta el punto de que solo una persona o un grupo pequeño pueda entenderlo
Últimamente he usado Claude para crear muchas herramientas que solo usamos yo y unas cuantas personas
Por ejemplo, una app para programar partidas de DnD, un visor de noticias de Formula E sin spoilers y un sitio de votación para una cooperativa de escalada
Antes no había razón para hacer algo así, pero ahora sí es posible
Lo resumí en Releasing Software Now
No veo a grandes empresas ni gobiernos permitiendo sistemas tan inconsistentes
Más bien creo que va a generar herramientas peores
Estoy acostumbrado a OpenCode, así que he estado pensando si usar Pi como espacio de trabajo personal con IA
Pi tiene un ecosistema más pequeño, pero parece ofrecer más flexibilidad y extensibilidad, y también se siente el entusiasmo de la comunidad
Me pregunto si valdrá más la pena usar Pi en lugar de OpenCode y qué opciones de UI existen
He usado OpenCode con archivos .md para escribir y organizar cosas, y me ha funcionado bastante bien
Ahora estoy buscando un nuevo harness que se adapte mejor a ese trabajo
Es mi harness favorito en estos días
Como se puede ampliar directamente, es muy eficiente, y lo integré en el proyecto vibes
Es mucho más rápido que ACP
Yo estaba buscando un protocolo genérico para la interacción entre agentes, y ACP parecía una opción
Pero viendo que ni siquiera OpenCode usa ACP en la UI, parece que algo pasa
También me gustaría saber si hay opciones mejores para reemplazarlo
No he visto a nadie que, después de usar Pi unos días, dejara de usarlo en su día a día
Una vez que pruebas la libertad de configurar la herramienta a tu gusto, es difícil volver atrás
Además, encima puedes crear extensiones geniales
La extensibilidad de Pi es interesante, pero la calidad del trabajo real se quedó corta
No entiendo por qué habría que programar a la fuerza en una app de terminal
Como extensión del IDE se puede hacer lo mismo y mejor, y en VSCode también se puede restaurar exactamente la disposición de ventanas
Se siente como dar instrucciones por chat de texto a un compañero desarrollador
Por ejemplo, le dejo a Claude un programa de mantenimiento de servidores, me pongo a hacer otra cosa y luego solo reviso el resultado
Si las pruebas pasan, no me importa cómo quedó el código
En la práctica, he podido llevar varias tareas en paralelo con solo unos 15 minutos de trabajo activo
Yo uso Pi con el paquete pi-coding-agent para Emacs
Con el modo RPC crea buffers Markdown para entrada/salida, así que se siente mucho más cómodo que otros TUI
También integré fácilmente el rastreador de issues y redefiní los comandos
readywritepara que se basen en buffers de EmacsTambién quiero mejorar el comando
editusando consultas de tree-sitter de EmacsAdemás, con el comando
emacs_evaltambién hice posible explorar documentación mediante EWWreadywritea los buffers de EmacsPor cierto, el modo Emacs de Pi se puede instalar aquí
También estoy agregando una función para abrir directamente ese archivo desde el resultado de las llamadas a
read,writeyeditPronto también planeo dar soporte a la navegación de sesiones y árbol de Pi, además de la integración con Magit
Empecé con Pi y en las últimas dos semanas he estado usando oh-my-pi
El repositorio de oh-my-pi es una versión con baterías incluidas de Pi
Yo también estoy pensando en clonar un proyecto existente y publicarlo con otro nombre
Algo como “Waterfox — consumidor web mínimo”
Versión preconfigurada de Pi: oh-my-pi
Haría falta un entorno aislado donde se pueda instalar y probar de forma segura, como si fuera una app
Fui pasando de codex/claude code → opencode → pi → oh-my-pi
Algún día quiero intentar hacerlo yo mismo
El atractivo de Pi está en su ligereza y autonomía, mientras que oh-my-pi, con tantas funciones, termina sintiéndose pesado como OpenCode
Pi realmente tomó decisiones de diseño excelentes
Mis respetos a Mario y Armin — el buen gusto siempre termina notándose