SFEIR
Technologie

oh-my-pi

Fork déclaré de Pi par Can Bölük (Stencil Labs), sous MIT : cœur Rust, éditions par hachage, LSP, débogueur, sous-agents ; approbation auto par défaut.

SFEIR AI · Publié le 22 octobre 2026

Un fork de Pi, pas un pack d'extensions

oh-my-pi, commande omp, est un agent de code en terminal publié par Can Bölük sous MIT. Son README le dit dès l'en-tête, « Built by Stencil Labs · Fork of Pi by @mariozechner », et le répète en conclusion : « omp is a fork of pi-mono by Mario Zechner, extended with a batteries-included coding workflow. » Le fichier LICENSE porte trois copyrights, « Copyright (c) 2025 Mario Zechner », « Copyright (c) 2025-2026 Can Bölük » et « Copyright (c) 2026 Stencil Labs, Inc. ». La page « About » de stencil.so présente Stencil Labs comme « a research company » et omp comme « our open-source proving ground for applied AI research » ; elle nomme Can Bölük « founder & CEO », ingénieur système et chercheur en sécurité, et Meehir Patel « co-founder & COO », qui pilote partenariats et adoption en entreprise « from San Francisco ». La société est « a Delaware corporation » ; la page n'indique pas d'adresse de siège au 22 octobre 2026.

C'est un fork « dur » : l'API GitHub ne rattache pas can1357/oh-my-pi au réseau de forks de Pi, les paquets sont republiés sous l'espace @oh-my-pi (le registre npm date @oh-my-pi/pi-coding-agent du 2 janvier 2026), et le dépôt, créé le 31 décembre 2025, embarque son propre code natif. Mario Zechner défend un cœur minimal à quatre outils que l'agent étend lui-même ; omp livre « The Pi you love, with batteries included », soit trente et un outils intégrés d'après le README.

Ce qu'omp ajoute au cœur de Pi

Le README annonce « 60+ providers · 31 built-in tools · 14 lsp ops · 28 dap ops · ~80k lines of Rust core ». Le cœur Rust (crates pi-shell, pi-natives, pi-walker, pi-iso, pi-ast, pi-voice) exécute en mémoire ce que d'autres harnais délèguent à des binaires externes : un Bash embarqué (fork de brush) avec 58 utilitaires portés, ripgrep, la recherche structurelle par tree-sitter et ast-grep, un PTY natif. Le même binaire tourne sur macOS, Linux et Windows sans WSL.

Les outils de code sont câblés sur l'IDE : un serveur de langage (LSP) pour les diagnostics et les renommages, un débogueur par le protocole DAP (lldb, dlv, debugpy), une revue de code par sous-agents avec verdict et priorités P0 à P3, une commande omp commit qui découpe le diff en commits atomiques. Les éditions passent par hashline : chaque ligne reçue par le modèle porte un hachage court de son contenu, le modèle pointe les ancres au lieu de recopier le texte, et un patch sur un fichier modifié entre-temps est rejeté avant d'être appliqué. S'y ajoutent des sous-agents parallèles avec résultats typés, un modèle « conseiller » qui relit chaque tour, des règles injectées en cours de flux (TTSR), des cellules d'exécution Python et JavaScript persistantes qui rappellent les outils de l'agent, une recherche web chaînant vingt-trois fournisseurs, le pilotage d'un navigateur et du bureau, le partage de session par lien, et une mémoire entre sessions.

Ces capacités sont les descriptions du README, non des mesures indépendantes. Les chiffres de performance du même README viennent du billet de Can Bölük du 12 février 2026, « We improved 15 LLMs at coding in one afternoon. Only the harness changed. » : le corps du billet compte seize modèles (le titre en annonce quinze), trois formats d'édition, 3 passes sur 180 tâches à base de bugs injectés dans des fichiers React. Résultat annoncé : « hashline beats patch in 14/16 models », « +15pts avg over patch », et face à str_replace, « hashline matches or beats replace for most », sans décompte précis. Les cas extrêmes : « Grok Code Fast 1 went from 6.7% to 68.3% » et « Grok 4 Fast's output tokens dropped 61% because it stopped burning tokens on retry loops. » Banc d'essai de l'auteur ; au 22 octobre 2026, aucune reproduction indépendante n'est publiée. Un indice sur le poids du harnais, pas un classement.

Contexte partagé : AGENTS.md, CLAUDE.md et les formats des autres outils

omp charge au démarrage les fichiers de contexte des autres harnais. Sa documentation l'écrit à propos d'AGENTS.md, CLAUDE.md et GEMINI.md : « the relevant ones are already discovered, loaded, and placed in context when the session begins ». Le tableau des fournisseurs de découverte couvre .claude/CLAUDE.md, .codex/AGENTS.md, .gemini/GEMINI.md, .config/opencode/AGENTS.md, .github/copilot-instructions.md, les règles Cursor, Windsurf et Cline, les plugins Claude, plus les AGENTS.md et CLAUDE.md isolés trouvés en remontant jusqu'à la racine du dépôt. Le format natif, recommandé pour un nouveau projet, est .omp/AGENTS.md accompagné d'un RULES.md court pour les règles qui doivent rester visibles dans une longue conversation.

Les serveurs MCP, les skills et les hooks suivent la même découverte, depuis .claude, .cursor, .codex ou .vscode ; le README précise qu'ouvrir un dépôt charge « settings, extensions, hooks, tools, commands, skills, rules, and project MCP configuration », et que les drapeaux --no-extensions ou --trusted-extension réduisent cette surface sans changer le modèle de confiance. Un dépôt outillé pour Claude Code, Codex, OpenCode ou Pi se pilote donc avec omp sans réécriture, ce qui en fait un bon banc de test du contexte versionné, dans la ligne de la série sur les harnais ouverts.

Permissions : « yolo » par défaut

La documentation du mode d'approbation classe chaque outil en trois paliers, read, write et exec, et fixe le réglage tools.approvalMode à « yolo (default) », qui approuve les trois paliers sans rien demander. Les autres modes sont always-ask (lecture seule automatique), always-ask-cached (demande aussi avant la lecture d'un fichier non encore autorisé, et mémorise les réponses) et write (lecture et écriture automatiques, confirmation avant exécution). Une politique par outil, allow, deny ou prompt, s'applique dans tous les modes, et des motifs bash.patterns filtrent les commandes.

Deux phrases de la documentation comptent pour une DSI. Sur la page du mode d'approbation : « In yolo, a bare critical override is ignored », les garde-fous intégrés contre rm -rf / ou l'exécution d'un script téléchargé ne s'activent donc pas dans le mode par défaut, sauf politique explicite. Sur la page des réglages : « bash.patterns is an approval policy, not containment. » Une commande approuvée garde l'accès au système de fichiers, au réseau et aux sous-processus du compte ; l'outil eval peut lancer un shell que les règles bash ne voient pas. Sur un poste d'entreprise, la ligne de conduite est la même qu'avec Pi : conteneur ou machine virtuelle dédiés, secrets limités, et un approvalMode réglé sur write ou always-ask dans la configuration globale avant la première session. Les hôtes éditeur (ACP, dans Zed) imposent leur propre demande de permission pour les écritures et les commandes.

Cadence, communauté et ce que mesurent les compteurs

Au 22 octobre 2026, l'API GitHub renvoie 36 200 étoiles et 4 028 forks pour un dépôt créé le 31 décembre 2025, avec un push le jour même ; le registre npm compte 691 versions de @oh-my-pi/pi-coding-agent en dix mois, la dernière du 21 octobre. Ces compteurs disent l'attention et le rythme de publication, pas le nombre d'utilisateurs, que ni Stencil Labs ni l'auteur ne publient. Le README signale un régime de contribution en cours d'essai : « Pull requests are temporarily open to everyone as a trial. We previously required a vouch before accepting PRs », avec un retour possible à la cooptation. Le numéro de version courant se lit sur la page des releases GitHub, pas ici.

La documentation et le README ne précisent pas, à cette date, de modèle économique pour omp : le client est gratuit sous MIT, l'inférence se paie chez le fournisseur choisi, et la page « About » de stencil.so parle d'« enterprise adoption » sans publier d'offre ni de tarif.

Questions fréquentes

oh-my-pi est-il un simple ensemble d'extensions pour Pi ?

Non. Le README le déclare fork de pi-mono de Mario Zechner, le LICENSE porte les copyrights de Zechner, de Can Bölük et de Stencil Labs, et les paquets sont republiés sous l'espace npm @oh-my-pi. Le dépôt n'appartient pas au réseau de forks GitHub de Pi et embarque environ 80 000 lignes de Rust propres, d'après son README.

Qui développe oh-my-pi ?

Can Bölük, compte GitHub can1357, que la page About de stencil.so nomme fondateur et CEO de Stencil Labs, Inc., société de droit du Delaware ; Meehir Patel en est cofondateur et COO, à San Francisco selon la même page, qui ne donne pas d'adresse de siège. Dépôt créé le 31 décembre 2025, premier paquet npm le 2 janvier 2026.

oh-my-pi demande-t-il une confirmation avant d'exécuter une commande ?

Pas par défaut. La documentation fixe tools.approvalMode à yolo, qui approuve lecture, écriture et exécution sans prompt, et précise que les garde-fous critiques intégrés sont ignorés dans ce mode. Les modes always-ask, always-ask-cached et write rétablissent les demandes ; la documentation rappelle que ces règles sont une politique d'approbation, pas un confinement.

oh-my-pi lit-il les fichiers AGENTS.md et CLAUDE.md ?

Oui, au démarrage et sans configuration : AGENTS.md et CLAUDE.md isolés en remontant jusqu'à la racine du dépôt, .claude/CLAUDE.md, .codex/AGENTS.md, .gemini/GEMINI.md, les instructions Copilot, les règles Cursor, Windsurf et Cline, ainsi que les serveurs MCP et les skills de ces outils. Le format natif recommandé est .omp/AGENTS.md avec un RULES.md court.

Qu'est-ce que hashline ?

Le format d'édition d'omp : chaque ligne envoyée au modèle porte un hachage court de son contenu, le modèle désigne les ancres à modifier au lieu de recopier le texte, et un patch visant un fichier modifié entre-temps est rejeté. Le banc d'essai de Can Bölük (12 février 2026) le donne gagnant contre apply_patch sur 14 modèles sur 16, sans reproduction indépendante publiée.

Sous quelle licence oh-my-pi est-il publié ?

MIT, lue dans le fichier LICENSE du dépôt et confirmée par l'API GitHub et le registre npm au 22 octobre 2026. Les composants tiers embarqués sont listés dans THIRD-PARTY-NOTICES.txt avec leurs propres licences. Le client est gratuit ; l'inférence se paie auprès des fournisseurs configurés.

Sources

oh-my-pi dans vos projets

Échanger avec SFEIR

Articles liés