Sobre o projeto

Mithril é um mecanismo de orquestração multi-modelo de código aberto escrito em Rust (com um wrapper de CLI em Python) que combina vários provedores de LLM em um único endpoint de API unificado. A proposta de valor central do projeto é eliminar a necessidade de gerenciar integrações separadas para cada provedor de IA: os usuários definem uma "fellowship" — uma equipe de modelos de IA — em um arquivo de configuração YAML e apontam qualquer cliente compatível com Ollama ou OpenAI para a API do Mithril. O mecanismo de orquestração suporta três tipos de provedores: modelos GGUF locais (via llama.cpp, gratuitos e privados), provedores de API em nuvem (Gemini, OpenAI, Anthropic, Groq) e ferramentas CLI (Kiro, Junie, GitHub Copilot ou qualquer CLI com acesso próprio a modelos). Um modelo GGUF local atua como controlador/roteador padrão, classificando as solicitações recebidas e delegando-as ao agente apropriado com base na configuração da fellowship. Os agentes comunicam-se por meio de um protocolo NEXT/TASK, permitindo que deleguem trabalho uns aos outros — por exemplo, um agente codificador pode passar para um agente revisor para revisão de código. O sistema expõe três protocolos de API simultaneamente: API Ollama (para ferramentas como Junie, OpenCode, Open WebUI), API compatível com OpenAI (para LangChain, LlamaIndex e clientes Python personalizados) e MCP (Model Context Protocol) para integração com Claude Desktop. Isso significa que ferramentas de IA existentes podem conectar-se ao Mithril sem modificação — basta alterar a URL base. O Mithril vem com 24 ferramentas integradas que abrangem operações de arquivo (ler, escrever, editar, excluir, apply_patch), execução de terminal (em sandbox), descoberta de arquivos (list, grep, find, glob, stats), integração com Git (status, log, diff, blame, branch), acesso à web (search, fetch), análise de código (busca de símbolos, esboço de documento), gerenciamento de conhecimento (lore write/read) e interação (todo, question). Os agentes podem receber acesso a ferramentas específicas ou a todas as ferramentas por meio do YAML da fellowship. A instalação é flexível: um script de shell de uma linha para Linux/macOS, pip install para ambientes Python/Jupyter, Homebrew tap para macOS/Linux, binários pré-compilados autônomos para todas as principais plataformas (Linux x86_64/ARM64, macOS Apple Silicon/Intel, Windows x86_64), Docker (contêiner único ou Docker Compose) e compilação a partir do código-fonte com Cargo. As chaves de API são armazenadas criptografadas com Argon2id + AES-256-GCM em um arquivo de configuração local, ou passadas por variáveis de ambiente para implantações Docker/CI. A CLI inclui um REPL interativo com conclusão por tabulação, um modo TUI em tela cheia, execução não interativa para CI/scripts, expansão de arquivos (@file), roteamento de agentes (#agent), modos plan/build, desfazer/refazer, persistência de sessão, comandos personalizados e hooks. Um modo de bot do Telegram também está disponível para conversar com a mesma fellowship via Telegram. Os casos de uso incluem servir como backend para assistentes de codificação de IA (Junie, OpenCode), um backend de orquestração compartilhado para equipes via Docker, uma integração de ciência de dados em Python via pip e um servidor MCP para Claude Desktop. A arquitetura é projetada para extensibilidade — novos provedores, ferramentas e tipos de agente podem ser adicionados por meio do sistema de configuração da fellowship.