Sobre el proyecto

Mithril es un motor de orquestación multimodelo de código abierto escrito en Rust (con un envoltorio CLI en Python) que combina múltiples proveedores de LLM en un único endpoint de API unificado. La propuesta de valor central del proyecto es eliminar la necesidad de gestionar integraciones separadas para cada proveedor de IA: los usuarios definen una "fellowship" — un equipo de modelos de IA — en un archivo de configuración YAML, y luego apuntan cualquier cliente compatible con Ollama o con OpenAI a la API de Mithril. El motor de orquestación admite tres tipos de proveedores: modelos GGUF locales (mediante llama.cpp, gratuitos y privados), proveedores de API en la nube (Gemini, OpenAI, Anthropic, Groq) y herramientas CLI (Kiro, Junie, GitHub Copilot, o cualquier CLI con acceso propio a modelos). Un modelo GGUF local actúa como controlador/enrutador predeterminado, clasificando las solicitudes entrantes y delegándolas al agente adecuado según la configuración de la fellowship. Los agentes se comunican mediante un protocolo NEXT/TASK, lo que les permite delegarse trabajo entre sí — por ejemplo, un agente programador puede pasar la tarea a un agente revisor para la revisión de código. El sistema expone tres protocolos de API simultáneamente: API de Ollama (para herramientas como Junie, OpenCode, Open WebUI), API compatible con OpenAI (para LangChain, LlamaIndex y clientes Python personalizados) y MCP (Model Context Protocol) para la integración con Claude Desktop. Esto significa que las herramientas de IA existentes pueden conectarse a Mithril sin modificaciones — basta con cambiar la URL base. Mithril incluye 24 herramientas integradas que abarcan operaciones de archivos (read, write, edit, delete, apply_patch), ejecución de terminal (en sandbox), descubrimiento de archivos (list, grep, find, glob, stats), integración con Git (status, log, diff, blame, branch), acceso web (search, fetch), análisis de código (búsqueda de símbolos, esquema de documento), gestión de conocimiento (lore write/read) e interacción (todo, question). Se puede conceder a los agentes acceso a herramientas específicas o a todas ellas mediante el YAML de la fellowship. La instalación es flexible: un script de shell de una línea para Linux/macOS, pip install para entornos Python/Jupyter, Homebrew tap para macOS/Linux, binarios independientes precompilados para todas las plataformas principales (Linux x86_64/ARM64, macOS Apple Silicon/Intel, Windows x86_64), Docker (contenedor único o Docker Compose), y compilación desde el código fuente con Cargo. Las claves de API se almacenan cifradas con Argon2id + AES-256-GCM en un archivo de configuración local, o se pasan mediante variables de entorno para despliegues con Docker/CI. El CLI incluye un REPL interactivo con completado con tabulador, un modo TUI de pantalla completa, ejecución no interactiva para CI/scripts, expansión de archivos (@file), enrutamiento de agentes (#agent), modos plan/build, deshacer/rehacer, persistencia de sesiones, comandos personalizados y hooks. También está disponible un modo bot de Telegram para chatear con la misma fellowship a través de Telegram. Los casos de uso incluyen servir como backend para asistentes de codificación con IA (Junie, OpenCode), un backend de orquestación compartido para equipos mediante Docker, una integración de ciencia de datos en Python vía pip, y un servidor MCP para Claude Desktop. La arquitectura está diseñada para ser extensible — se pueden añadir nuevos proveedores, herramientas y tipos de agente mediante el sistema de configuración de la fellowship.