Sobre el proyecto

oh-my-pi (omp) es un agente de programación que se ejecuta en la terminal y fue creado por Stencil Labs como un fork de Pi de Mario Zechner. Se distribuye mediante un instalador de shell, Homebrew, Bun, Nix, PowerShell y mise, y es compatible con macOS, Linux y Windows con Bun 1.3.14 o posterior. El proyecto enfatiza la integración profunda con las herramientas de desarrollo en lugar de ser un simple envoltorio de chat. La compatibilidad con el protocolo de servidor de lenguaje está integrada en las escrituras, por lo que los renombrados fluyen a través de workspace/willRenameFiles y actualizan las reexportaciones y las importaciones con alias. Una capa del protocolo de adaptador de depuración permite al agente conectar depuradores reales como lldb, dlv y debugpy para recorrer paso a paso procesos nativos, de Go y de Python. Las utilidades de búsqueda y shell, incluidos ripgrep, glob, find y una implementación de bash con muchas coreutils portadas, se ejecutan en proceso para evitar la sobrecarga de fork-exec. Más allá de la edición, omp ofrece celdas de ejecución persistentes de Python y JavaScript que pueden volver a llamar a las propias herramientas del agente, subagentes de primera clase que se despliegan en worktrees aislados y devuelven resultados validados por esquema, un modelo asesor que revisa cada turno, sesiones colaborativas compartidas mediante enlace o código QR, y un sistema de memoria que el agente cura entre sesiones. También incluye revisión de código con prioridades P0-P3, edición basada en hash de contenido, GitHub tratado como un sistema de archivos, resolución de conflictos de fusión mediante URL, control de navegador y escritorio, y división atómica de commits. La compatibilidad de modelos abarca más de 60 proveedores entre API de frontera, suscripciones de planes de programación y servidores locales compatibles con OpenAI, con nueve roles de enrutamiento como default, smol, slow, plan, commit, vision, task, advisor y tiny. Los proveedores personalizados, las cadenas de respaldo y la asignación de modelos por rol son configurables. El README señala que las solicitudes de extracción están temporalmente abiertas para todos como prueba.