
onecli v2.0.1
Sandbox de agente de código aberto para equipes. Dando a cada funcionário um agente pessoal seguro.
O harness de agentes criado para equipes.
Um assistente profissional para empresas. Dê a cada funcionário um agente pessoal seguro e em sandbox.
Início Rápido
Hospedado na nuvem: onecli.sh
Autohospedado
git clone https://github.com/onecli/onecli.git && cd onecli
pnpm install
pnpm run setup
O que é o OneCLI v2?
O OneCLI é uma plataforma de código aberto para executar agentes de IA como uma equipe. Você cria um agente por pessoa, dá a cada agente o acesso de que precisa, e ele trabalha em um sandbox, roteado por um gateway que injeta as credenciais e aplica a sua política.
Por que criamos o OneCLI?
O OneCLI começou como um cofre de credenciais para agentes de IA, construído em Rust. Descobrimos que a maior parte da demanda vinha de indivíduos e equipes que executam agentes autônomos como Hermes, OpenClaw e NanoClaw. As pessoas queriam agentes que fizessem trabalho real para quem os executa, mas faltavam duas partes:
- gerenciamento de segredos e permissões.
- e, para equipes — gerenciamento multijogador.
Todo agente autônomo existente é feito para uma pessoa. E, para uma pessoa, eles são ótimos. No momento em que você precisa replicar isso em uma equipe, fica complicado: subir cada agente, decidir o que cada um pode e não pode fazer, hospedá-los, acompanhar de quem é cada agente.
Então mudamos de direção e construímos o OneCLI v2.
Feito para equipes
- Seu provedor de identidade, integrado: provisione agentes em nome da identidade de cada funcionário, direto do IdP da empresa.
- Um agente por pessoa: todos no workspace têm seu próprio agente em sandbox, acessível pelo dashboard ou pelo Slack.
- Uma política, aplicada em todos os lugares: gerencie a política da equipe em um só lugar, que qualquer agente nos workspaces será obrigado a seguir.
- Aprovações determinísticas com humano no circuito: no próprio chat, para coisas em que você precisa de 100% de controle, como enviar o e-mail, excluir o ticket do Linear, esvaziar um bucket do S3.
- Conexões globais: compartilhadas no nível da equipe, como chaves de LLM ou contas de serviço, concedidas por agente sem nunca serem entregues a um deles.
O agente
Um agente é algo durável, não um único prompt. Ele tem:
- Um computador: seu próprio sandbox isolado, com sistema de arquivos e shell. A única saída é o gateway, então ele alcança apenas o que você concedeu e nada mais.
- Uma conversa: sua própria página no dashboard, ou no Slack. Imagens e arquivos incluídos. Uma mensagem enviada enquanto o agente está trabalhando o redireciona imediatamente, em vez de ficar na fila atrás dele.
- Memória: o que o agente aprende é mantido pela plataforma, para nunca se perder. Você pode ler e editar a qualquer momento.
- Habilidades: instruções e auxiliares que você escreve uma vez, sempre disponíveis para o agente.
- Uma agenda: o agente pode planejar trabalho futuro, e a plataforma o desperta no momento certo.
- Credenciais que ele nunca vê: cada agente recebe apenas o acesso que você concedeu, e o gateway o aplica em toda requisição. Ou conecte Bitwarden ou 1Password para injeção sob demanda, sem nada armazenado no servidor.
- Seu próprio app do Slack: conecte-o uma vez e ele responde em canais e DMs com seu próprio nome e avatar, com arquivos e imagens. Exclua o agente e seu app do Slack vai junto.
Os agentes rodam na sua própria infraestrutura. O runner é somente de saída e não mantém portas de entrada, então um laptop, um homelab ou uma VPC atrás de NAT funcionam sem ingress e sem túnel.
Arquitetura
- Web Dashboard: aplicativo Next.js. Crie agentes, converse com eles, edite memória e habilidades, gerencie conexões, segredos e concessões.
- API Server: o plano de controle. É dono do banco de dados, do plano de conversa e da fila de trabalho que o runner consulta.
- Rust Gateway: intercepta requisições de saída (HTTPS incluído, via MITM) e injeta credenciais. Os agentes se autenticam com tokens de acesso via cabeçalhos
Proxy-Authorization. - Runner: inicia, estaciona e encerra os sandboxes dos agentes. Somente de saída e nunca toca no banco de dados.
- Sandbox Supervisor: roda dentro de cada sandbox, falando uma interface de harness neutra de fornecedor para que o runtime do agente seja intercambiável.
- SSH Terminator: a porta de entrada SSH — encerra conexões
sshcom certificados de curta duração e as conecta aos sandboxes dos agentes por meio de um backend de substrato plugável. - Channel Adapter: o daemon do Slack, um app por agente.
- Secret Store: AES-256-GCM em repouso, descriptografado apenas no momento da requisição, correspondido por padrão de host e caminho, injetado como cabeçalhos ou parâmetros de consulta.
Desenvolvimento Local
git clone https://github.com/onecli/onecli.git && cd onecli
mise install
pnpm install
pnpm dev
Essa é toda a configuração: pnpm dev gera .env com todos os segredos necessários, inicia o PostgreSQL, aplica as migrações e executa a pilha completa. Pré-requisitos, referência de comandos, estrutura do projeto e configuração estão em docs/development.md.