프로젝트 소개

Mithril은 Rust(및 Python CLI 래퍼)로 작성된 오픈소스 다중 모델 오케스트레이션 엔진으로, 여러 LLM 제공업체를 단일 통합 API 엔드포인트로 결합합니다. 이 프로젝트의 핵심 가치는 각 AI 제공업체에 대한 별도의 통합을 관리할 필요를 없애는 것입니다. 사용자는 YAML 구성 파일에서 'fellowship' — AI 모델 팀 — 을 정의한 다음, Ollama 호환 또는 OpenAI 호환 클라이언트를 Mithril의 API로 지정하기만 하면 됩니다. 오케스트레이션 엔진은 로컬 GGUF 모델(llama.cpp 기반, 무료 및 비공개), 클라우드 API 제공업체(Gemini, OpenAI, Anthropic, Groq), CLI 도구(Kiro, Junie, GitHub Copilot, 또는 자체 모델 액세스가 있는 모든 CLI)의 세 가지 제공업체 유형을 지원합니다. 로컬 GGUF 모델이 기본 컨트롤러/라우터 역할을 하여 들어오는 요청을 분류하고 fellowship 구성에 따라 적절한 에이전트에 위임합니다. 에이전트는 NEXT/TASK 프로토콜을 통해 통신하여 서로에게 작업을 위임할 수 있습니다. 예를 들어 코더 에이전트는 코드 리뷰를 위해 리뷰어 에이전트에게 넘길 수 있습니다. 시스템은 동시에 세 가지 API 프로토콜을 노출합니다: Ollama API(Junie, OpenCode, Open WebUI 등의 도구용), OpenAI 호환 API(LangChain, LlamaIndex 및 사용자 정의 Python 클라이언트용), 그리고 Claude Desktop 통합을 위한 MCP(Model Context Protocol)입니다. 이는 기존 AI 도구가 수정 없이 Mithril에 연결할 수 있음을 의미합니다 — 기본 URL만 변경하면 됩니다. Mithril은 파일 작업(읽기, 쓰기, 편집, 삭제, apply_patch), 터미널 실행(샌드박스), 파일 검색(list, grep, find, glob, stats), Git 통합(status, log, diff, blame, branch), 웹 액세스(search, fetch), 코드 분석(기호 검색, 문서 개요), 지식 관리(lore write/read), 및 상호작용(todo, question)을 포괄하는 24개의 내장 도구를 제공합니다. 에이전트는 fellowship YAML을 통해 특정 도구 또는 모든 도구에 대한 액세스 권한을 부여받을 수 있습니다. 설치는 유연합니다: Linux/macOS용 원라이너 셸 스크립트, Python/Jupyter 환경용 pip install, macOS/Linux용 Homebrew 탭, 모든 주요 플랫폼(Linux x86_64/ARM64, macOS Apple Silicon/Intel, Windows x86_64)용 독립 실행형 사전 빌드 바이너리, Docker(단일 컨테이너 또는 Docker Compose), 및 Cargo를 사용한 소스 빌드. API 키는 Argon2id + AES-256-GCM으로 암호화되어 로컬 구성 파일에 저장되거나, Docker/CI 배포의 경우 환경 변수를 통해 전달됩니다. CLI에는 탭 완성 기능이 있는 대화형 REPL, 전체 화면 TUI 모드, CI/스크립트용 비대화형 실행, 파일 확장(@file), 에이전트 라우팅(#agent), 계획/빌드 모드, 실행 취소/다시 실행, 세션 지속성, 사용자 정의 명령 및 후크가 포함됩니다. Telegram 봇 모드도 제공되어 Telegram을 통해 동일한 fellowship과 채팅할 수 있습니다. 사용 사례로는 AI 코딩 어시스턴트(Junie, OpenCode)의 백엔드, Docker를 통한 팀 공유 오케스트레이션 백엔드, pip를 통한 Python 데이터 과학 통합, Claude Desktop용 MCP 서버가 있습니다. 아키텍처는 확장성을 염두에 두고 설계되었습니다 — fellowship 구성 시스템을 통해 새로운 제공업체, 도구, 및 에이전트 유형을 추가할 수 있습니다.