Sobre el proyecto

OnIt es un entorno de agente de IA diseñado para la automatización de tareas. Proporciona a un modelo de lenguaje un conjunto de herramientas, un directorio de trabajo y una memoria de las acciones realizadas, y luego itera hasta que la tarea esté completa. El agente es consistente en todas las interfaces: solo cambia la interfaz. **Interfaces** - Interfaz de texto de terminal (predeterminada) - Interfaz de chat de navegador con inicio de sesión de Google (`onit serve web`) - Servidor de protocolo A2A (`onit serve a2a`) - Pasarela de bots de Telegram o Viber (`onit serve gateway`) - Modo contenedor Docker (`onit --container`) **Soporte de servidores de modelos** OnIt se conecta a cualquier endpoint compatible con OpenAI. Los backends compatibles incluyen: - Autohospedados: vLLM, SGLang, Ollama, MLX (silicio de Apple) - Alojados: OpenRouter, Ollama cloud El modelo debe admitir la llamada a herramientas para que el agente funcione. **Herramientas MCP** El agente realiza el trabajo mediante herramientas MCP (Model Context Protocol), incluyendo: - Búsqueda web (a través de la API de búsqueda web de Ollama o DuckDuckGo como alternativa) - Consulta del clima (OpenWeatherMap) - Ejecución de shell (confinada al directorio de trabajo) - Edición de archivos - Búsqueda de documentos (indexación local) - Gestión de repositorios de GitHub - Ejecución de código **Instalación** Requiere Python 3.10–3.12. Instalar desde el código fuente: ``` git clone https://github.com/sibyl-oracles/onit.git cd onit && pip install -U --upgrade-strategy eager -e '.[all]' ``` **Configuración** `onit setup` guía a través de la configuración del endpoint (URL, clave de API, nombre del modelo). Las claves de API se almacenan en el llavero del sistema operativo, nunca en archivos de configuración. Admite múltiples endpoints con conmutación por error y rotación. **Integraciones** - GitHub: operaciones de git y gestión de repositorios mediante API - Hugging Face: descargas de modelos y conjuntos de datos - Búsqueda local de documentos con indexación **Gestión de sesiones** Las sesiones persisten entre reinicios. Comandos como \model, \host, \key permiten cambiar en tiempo de ejecución. \save guarda la configuración del endpoint. **Seguridad** - El shell está confinado al directorio de trabajo - El modo contenedor proporciona aislamiento reforzado - Lista de permisos de comandos en modo contenedor - Las claves de API se almacenan en el llavero del sistema operativo **Licencia:** Apache License 2.0