À propos du projet
OnIt est un harnais d'agent IA conçu pour l'automatisation de tâches. Il fournit à un modèle de langage un ensemble d'outils, un répertoire de travail et une mémoire des actions effectuées, puis itère jusqu'à ce que la tâche soit terminée. L'agent est cohérent sur toutes les interfaces, seule l'interface change.
Interfaces
- Interface texte terminal (par défaut)
- Interface de chat navigateur avec connexion Google (onit serve web)
- Serveur de protocole A2A (onit serve a2a)
- Passerelle de bot Telegram ou Viber (onit serve gateway)
- Mode conteneur Docker (onit --container)
Support des serveurs de modèles
OnIt se connecte à tout endpoint compatible OpenAI. Les backends pris en charge incluent :
- Auto-hébergés : vLLM, SGLang, Ollama, MLX (Apple silicon)
- Hébergés : OpenRouter, Ollama cloud
Le modèle doit prendre en charge l'appel d'outils (tool calling) pour que l'agent fonctionne.
Outils MCP
L'agent pilote le travail via les outils MCP (Model Context Protocol), notamment :
- Recherche web (via l'API de recherche web Ollama ou le repli DuckDuckGo)
- Météo (OpenWeatherMap)
- Exécution de shell (confinée au répertoire de travail)
- Édition de fichiers
- Recherche documentaire (indexation locale)
- Gestion de dépôts GitHub
- Exécution de code
Installation
Nécessite Python 3.10 à 3.12. Installation depuis la source :
git clone https://github.com/sibyl-oracles/onit.git
cd onit && pip install -U --upgrade-strategy eager -e '.[all]'
Configuration
onit setup guide la configuration de l'endpoint (URL, clé API, nom du modèle). Les clés API sont stockées dans le trousseau (keychain) de l'OS, jamais dans les fichiers de configuration. Prend en charge plusieurs endpoints avec bascule et rotation.
Intégrations
- GitHub : opérations git et gestion de dépôts via l'API
- Hugging Face : téléchargements de modèles et de jeux de données
- Recherche documentaire locale avec indexation
Gestion des sessions
Les sessions persistent à travers les redémarrages. Les commandes comme \model, \host, \key permettent un changement à l'exécution. \save persiste la configuration de l'endpoint.
Sécurité
- Le shell est confiné au répertoire de travail
- Le mode conteneur fournit un isolement renforcé
- Liste blanche des commandes en mode conteneur
- Clés API stockées dans le trousseau de l'OS
Licence : Apache License 2.0
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.