Omp un agent de codage qui a lediteur branche dess
| |

OMP : un agent de codage qui a l’éditeur branché dessus

⏱️ Temps de lecture estimé : 2 minutes

https://omp.sh/

📌 OMP est un agent de codage en terminal dont le cœur Rust embarque des fonctions d’éditeur — LSP pour renommer, DAP pour déboguer, exécution de code Python ou JavaScript. On lui confie une tâche en langage courant, il inspecte, modifie, teste, et tout reste visible dans la session.

La plupart des agents de code se contentent d’éditer des blocs de texte à l’aveugle. OMP va plus loin : son noyau natif, écrit en Rust sur environ 80 000 lignes, relie directement le LSP et le protocole de débogage à la session. Un renommage passe par workspace/willRenameFiles, celui qu’utilisent les IDE, et les imports, les fichiers barrel et les alias sont mis à jour avant que le fichier ne bouge. Les serveurs de langage TypeScript, Biome et les autres répondent dans la boucle, pas par-dessus le marché.

Le débogage suit la même logique. Un binaire C qui segfaulte : l’agent attache lldb, avance jusqu’au pointeur fautif et lit la frame. Un service Go qui pend : dlv et la pile de goroutines. Un process Python coincé : debugpy, pause, inspection, évaluation. La démo du site montre l’agent confirmer le calcul lui-même après un breakpoint — x passe de 7 à 57351, soit 7 ^ (7<<13). C'est un détail qui ne semble pas grand-chose tant qu'on n'a pas regardé un agent coder en oubliant la moitié du contexte.

Je trouve l’approche juste : au lieu d’empiler des scripts autour d’un modèle, OMP fournit un harness dont chaque outil a été réglé sur de vraies sessions. Le read résume les fichiers au lieu de les dérouler, le grep tourne en processus natif — ripgrep, glob et find sont compilés dedans, avec 58 utilitaires de ligne de commande portés in-process, sans fork ni exec. Sur Windows, le même binaire tourne sans passer par WSL.

Les capacités d’équipe sont au même niveau. task répartit un chantier entre des subagents, chacun dans son worktree isolé, et renvoie des résultats structurés. Un modèle « advisor » relit chaque tour du pilote et glisse ses notes sans consommer le contexte du principal. Les règles de flux (« TTSR ») restent dormantes jusqu’à ce que le modèle dévie : un motif regex interrompt le token en cours, injecte la règle en rappel système, et reprend. Et /collab partage la session en direct par lien et QR code, en lecture seule ou en lecture-écriture, les trames restant chiffrées côté client.

Points clés d’OMP :

  • 🧠 LSP intégré aux écritures : les renommages propagent imports et barrel files
  • 🐛 Débogage réel via lldb, dlv et debugpy, piloté par l’agent
  • 🌱 Python et Bun joints pour exécuter le code et itérer sans quitter la session
  • 👁️ Un modèle « advisor » qui relit chaque tour et intervient en note
  • 🤝 /collab : partage de session par lien et QR, lecture seule ou complète
  • 📦 60+ providers, 31 outils intégrés, completions bash, zsh et fish

L’installation tient en une ligne — curl -fsSL https://omp.sh/install | sh sur macOS et Linux, un script PowerShell sur Windows — et l’outil se retrouve aussi sur Homebrew, Bun, Nix ou mise. Le projet est sous licence MIT, construit par Stencil Labs autour d’un fork de Pi, le travail de Mario Zechner ; le dépôt, très étoilé, suit des contribs ouvertes. La réserve, à mon sens, tient à la surface : un harness aussi riche demande un peu de lecture pour trouver ses réglages, mais l’écosystème docs est là pour ça. J’ai surtout apprécié qu’une session interrompue se reprenne telle quelle, avec tout son fil de raisonnement.

Sources

Publications similaires

Laisser un commentaire