Découvrez Dirge : l'agent IA codé en Rust qui n'oublie rien
Dirge : l'agent IA qui ne vous fait pas tout répéter
Avouons-le : la plupart des agents de coding IA, c'est un peu comme embaucher un développeur junior à chaque session. Ils débarquent, ils font leur taf, et dès que la conversation se ferme — pouf — ils ont tout oublié. Votre codebase, vos préférences, vos patterns. Tout. À,重新解释. Encore et encore. C'est épuisant.
C'est exactement le problème que Dirge veut résoudre.
Conçu en Rust,optimisé pour la vitesse
Dès le premier regard, ce qui frappe, c'est l'empreinte de Dirge. On parle de ~8 Mo de RAM au repos, un binaire de 36 Mo, et zéro dépendance runtime. C'est tout. Comparez ça aux alternatives Electron qui vous bouffent allégrement des gigaoctets avant même que vous ayez tapé une seule ligne de code.
Pourquoi c'est important ? Parce qu'un outil de coding IA, ça ne devrait pas être une diva. Ça devrait être discret, efficace, et prêt quand vous en avez besoin. Pas un monstre affamé qui ruine les performances de votre machine dès que vous ouvrez un terminal.
L'interface TUI en terminal (construite avec ratatui et crossterm) reste légère et orientée clavier. Streaming de tokens en direct, arbre de sessions avec branches pour suivre l'historique, panneaux d'info configurables. C'est l'interface qu'un développeur veut : rapide, dense en informations, et sans souris.
Un agent qui ne panique pas
Là où Dirge devient intéressant, c'est dans sa boucle d'agent. Ce n'est pas juste « envoie prompt, reçois réponse, exécute outils ».
Les modèles hallucinent des appels d'outils. Ils produisent du JSON malformé. Ils interprètent mal les chemins. Les agents standards s'effondrent à ce moment-là — soit ils crashent, soit ils bouclent à l'infini, soit ils sortent du garbage que vous devez nettoyer manuellement.
Dirge répare les appels d'outils malformés. Il valide chaque écriture de fichier via tree-sitter avant que ça touche le disque. Il a des circuit breakers pour les boucles répétitives.
Mais la fonctionnalité clé ? Quand un modèle continue de foirer, Dirge ne lâche pas juste l'affaire. Il injecte un checkpoint de récupération, suggère ce que le modèle voulait probablement faire (l'outil ou le chemin), et si ça ne marche toujours pas, il escalade automatiquement vers un modèle plus puissant. C'est la différence entre un agent qui se tape la tête contre un mur et un agent qui livre le résultat.
Une mémoire qui persiste
Le nom « dirge » n'est pas anodin. Une dirge, si vous ne connaissez pas, c'est un chant qu'on chante pour guider les morts — pour éviter qu'ils ne s'égarent. Dans le contexte des agents IA, c'est exactement ce que Dirge fait avec le contexte de votre projet.
Dirge implémente un système de mémoire à deux niveaux. Le niveau « hot » garde les faits inline pour un accès immédiat par le modèle. Le reste va dans un index de breadcrumbs recherchable. Et il y a un niveau global cross-project pour vos préférences personnelles — votre façon préférée de formater le code, vos patterns, vos détestations. Ça persiste à travers les sessions, à travers les projets.
Entre les sessions, un orchestrateur post-session extrait les apprentissages et trie la mémoire et les compétences. Si vous avez passé 20 minutes à débugger un problème de lifetime Rust tricky avec un pattern précis, Dirge sen souvient. La prochaine fois que vous tombez sur quelque chose de similaire, il a le contexte.
Les sessions longue durée utilisent des checkpoints durables et incrémentalement rafraîchis, ancrés à une identité stable. Reprendre une session compactée récupère son état live — pas un snapshot périmé. Si vous avez déjà essayé de reprendre une tâche de coding d'une semaine et passé 30 minutes à vous réorienter, vous comprenez pourquoi c'est crucial.
Routing intelligent et multi-providers
Dirge ne vous lock pas sur un seul provider IA. Il supporte OpenAI, Anthropic, DeepSeek, Gemini, Ollama, OpenRouter et GLM — plus n'importe quel endpoint compatible OpenAI. OpenRouter est le défaut, donc ça marche out of the box pour la plupart des utilisateurs.
Mais voici la partie sophistiquée : vous pouvez router différentes tâches vers différents modèles. La boucle principale, la review, l'escalation, la sommation et les rôles de subagent peuvent chacun pointer vers des modèles différents. Vous voulez utiliser un modèle bon marché et rapide pour les edits de routine mais escalader vers quelque chose de plus costaud pour du refactoring complexe ? C'est trivial à configurer.
Sécurité sans compromis
Dirge prend la sécurité au sérieux avec un moteur de permissions unifié — un Policy Decision Point avec quatre modes, des règles basées sur les opérations et des allowlists de session. La commande /why trace exactement quelle politique a pris une décision et pourquoi. Pas de black boxes.
Pour les paranoïaques (et vous devriez l'être), il y a le sandbox mode. Lancez des commandes bash en isolation en utilisant bubblewrap pour une jail namespacée, ou tirez parti des microVMs libkrun isolées matériellement. De la défense en profondeur par-dessus le moteur de permissions.
Construit pour le développement sérieux
Au-delà de la boucle d'agent core, Dirge intègre des fonctionnalités dont les développeurs sérieux ont besoin :
Le workflow de planification en phases exécute explore → plan → implement → review comme des phases isolées par le contexte. Un agent read-only cartographie le code, un second rédige le plan, puis un reviewer write-disabled execute le code et renvoie les gaps pour un retry borné. C'est comme avoir une review architecturale intégrée à votre workflow.
Le workflow driven par les specs track les changements en tant que lignes SQLite (pas des fichiers markdown fragiles). Propositions, deltas de requirements et checklists de tâches avec un vrai statut — le changement actif est toujours injecté dans le contexte, et l'archivage forme une mémoire durable.
L'intelligence de code vient de l'intégration tree-sitter, avec des diagnostics LSP inline pour plus de 10 langages surface directement dans la sortie des outils pour que l'agent fixe les erreurs de compilation sur le même tour. Plus de « essaye ce fix... le build fails... réessaie » en boucle.
Et si vous avez besoin de débugger ? Dirge a un client Debug Adapter Protocol intégré qui pilote de vrais debuggers — posez des breakpoints, steppez à travers le code, inspectez les stacks et variables — directement depuis la boucle d'agent.
Extensible by design
Le système de plugins Janet hook tout le lifecycle : intercepte les outils, réécrit les prompts, enregistre des commandes. Il y a aussi des skills compatibles Claude chargés on demand. Et le support MCP/ACP signifie que Dirge peut être à la fois provider et consumer d'outils — vous pourriez avoir Claude Code qui délègue des tâches d'implémentation à Dirge et les review ensuite, par exemple.
Le mot de la fin
Dirge ne cherche pas à être l'outil de coding IA le plus tape-à-l'œil. Il cherche à être le plus fiable.
La persistence de mémoire, la récupération d'erreurs, l'I/O efficiente en tokens (les fichiers sont lus comme skeletons quand possible, les outputs trop gros sont relayés sur disque avec des sommaires), la flexibilité multi-providers — tout ça s'additionne pour un agent qui travaille avec vous dans le temps au lieu de se reset à chaque session.
Pour les développeurs fatigués de recommencer de zéro. Pour les startups qui ont besoin d'une assistance IA cohérente sans vendor lock-in. Et pour tous ceux qui se sont fait avoir par une IA qui a oublié tout ce qui comptait — Dirge mérite un coup d'œil.
Installez-le en une ligne depuis crates.io (cargo install dirge-agent), configurez une clé API, et commencez à coder. C'est aussi simple que ça.
La dirge funèbre était un chant pour se souvenir des morts. Dirge, l'agent de coding, est un système pour s'assurer que votre IA n'oublie jamais ce que vous avez construit ensemble.