Sobre o projeto

OnIt é um harness de agente de IA projetado para automação de tarefas. Ele fornece ao modelo de linguagem um conjunto de ferramentas, um diretório de trabalho e uma memória de ações concluídas, iterando até que a tarefa seja finalizada. O agente é consistente em todas as interfaces—apenas a interface muda. **Interfaces** - Interface de texto no terminal (padrão) - Interface de chat no navegador com login Google (`onit serve web`) - Servidor de protocolo A2A (`onit serve a2a`) - Gateway de bot Telegram ou Viber (`onit serve gateway`) - Modo contêiner Docker (`onit --container`) **Suporte a Servidores de Modelo** OnIt conecta-se a qualquer endpoint compatível com OpenAI. Backends suportados incluem: - Auto-hospedados: vLLM, SGLang, Ollama, MLX (Apple silicon) - Hospedados: OpenRouter, nuvem Ollama O modelo deve suportar chamada de ferramentas para que o agente funcione. **Ferramentas MCP** O agente realiza o trabalho por meio de ferramentas MCP (Model Context Protocol), incluindo: - Pesquisa web (via API de pesquisa web Ollama ou fallback DuckDuckGo) - Consulta meteorológica (OpenWeatherMap) - Execução de shell (restrita ao diretório de trabalho) - Edição de arquivos - Pesquisa de documentos (indexação local) - Gerenciamento de repositórios GitHub - Execução de código **Instalação** Requer Python 3.10–3.12. Instale a partir da fonte: ``` git clone https://github.com/sibyl-oracles/onit.git cd onit && pip install -U --upgrade-strategy eager -e '.[all]' ``` **Configuração** `onit setup` percorre a configuração do endpoint (URL, chave API, nome do modelo). As chaves API são armazenadas no chaveiro do sistema operacional, nunca em arquivos de configuração. Suporta múltiplos endpoints com failover e rotação. **Integrações** - GitHub: operações git e gerenciamento de repositórios via API - Hugging Face: downloads de modelos e conjuntos de dados - Pesquisa local de documentos com indexação **Gerenciamento de Sessões** Sessões persistem após reinicializações. Comandos como `\model`, `\host`, `\key` permitem alternância em tempo de execução. `\save` persiste a configuração do endpoint. **Segurança** - Shell é restrito ao diretório de trabalho - Modo contêiner fornece isolamento reforçado - Lista de permissão de comandos no modo contêiner - Chaves API armazenadas no chaveiro do sistema operacional **Licença:** Apache License 2.0