À propos du projet
Mithril est un moteur d'orchestration multi-modèles open source écrit en Rust (avec un wrapper CLI Python) qui combine plusieurs fournisseurs de LLM en un point de terminaison API unique et unifié. La proposition de valeur centrale du projet est d'éliminer le besoin de gérer des intégrations séparées pour chaque fournisseur d'IA : les utilisateurs définissent une « fellowship » — une équipe de modèles d'IA — dans un fichier de configuration YAML, puis pointent n'importe quel client compatible Ollama ou OpenAI vers l'API de Mithril.
Le moteur d'orchestration prend en charge trois types de fournisseurs : les modèles GGUF locaux (via llama.cpp, gratuits et privés), les fournisseurs d'API cloud (Gemini, OpenAI, Anthropic, Groq) et les outils CLI (Kiro, Junie, GitHub Copilot, ou toute CLI ayant son propre accès aux modèles). Un modèle GGUF local sert de contrôleur/routeur par défaut, classifiant les requêtes entrantes et les déléguant à l'agent approprié selon la configuration de la fellowship. Les agents communiquent via un protocole NEXT/TASK, ce qui leur permet de se déléguer du travail — par exemple, un agent codeur peut passer la main à un agent relecteur pour la revue de code.
Le système expose simultanément trois protocoles API : l'API Ollama (pour des outils comme Junie, OpenCode, Open WebUI), l'API compatible OpenAI (pour LangChain, LlamaIndex et les clients Python personnalisés), et MCP (Model Context Protocol) pour l'intégration avec Claude Desktop. Cela signifie que les outils d'IA existants peuvent se connecter à Mithril sans modification — il suffit de changer l'URL de base.
Mithril est livré avec 24 outils intégrés couvrant les opérations sur les fichiers (lecture, écriture, édition, suppression, apply_patch), l'exécution de terminal (en sandbox), la découverte de fichiers (list, grep, find, glob, stats), l'intégration Git (status, log, diff, blame, branch), l'accès web (search, fetch), l'analyse de code (recherche de symboles, plan de document), la gestion des connaissances (lore write/read) et l'interaction (todo, question). Les agents peuvent se voir accorder l'accès à des outils spécifiques ou à tous les outils via le YAML de la fellowship.
L'installation est flexible : un script shell en une ligne pour Linux/macOS, pip install pour les environnements Python/Jupyter, un tap Homebrew pour macOS/Linux, des binaires précompilés autonomes pour toutes les principales plateformes (Linux x86_64/ARM64, macOS Apple Silicon/Intel, Windows x86_64), Docker (conteneur unique ou Docker Compose), et la compilation depuis les sources avec Cargo. Les clés API sont stockées chiffrées avec Argon2id + AES-256-GCM dans un fichier de configuration local, ou transmises via des variables d'environnement pour les déploiements Docker/CI.
La CLI comprend un REPL interactif avec complétion par tabulation, un mode TUI plein écran, l'exécution non interactive pour les CI/scripts, l'expansion de fichiers (@file), le routage d'agents (#agent), les modes plan/build, undo/redo, la persistance de session, des commandes personnalisées et des hooks. Un mode bot Telegram est également disponible pour discuter avec la même fellowship via Telegram.
Les cas d'utilisation incluent le service de backend pour les assistants de codage IA (Junie, OpenCode), un backend d'orchestration partagé pour les équipes via Docker, une intégration Python pour la science des données via pip, et un serveur MCP pour Claude Desktop. L'architecture est conçue pour l'extensibilité — de nouveaux fournisseurs, outils et types d'agents peuvent être ajoutés via le système de configuration de la fellowship.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.