CommandAI

CommandAI

Jason Jacobs (open source, MIT license) · Escrita · Programação

CommandAI é uma ferramenta de linha de comando com IA, de código aberto, que transforma pedidos em inglês simples em scripts de shell, respostas de conversa e consultas de banco de dados. Roda com ChatGPT, servidores compatíveis com OpenAI ou um modelo local no Ollama.

Prévia da interface de CommandAI

Sobre CommandAI

What Is CommandAI

CommandAI é um conjunto de utilitários de terminal distribuído como o pacote command-ai no npm. Você escreve o que quer fazer com palavras comuns, e a ferramenta pede a um modelo que redija o script, explique o plano e execute quando você aprova.

O pacote traz três programas. ai cuida de tarefas do sistema, aic abre uma conversa e aiq responde perguntas sobre um banco de dados. Cada um tem uma variante com ponto de exclamação que pula a confirmação, prática quando outro script está no comando.

O projeto se assume em fase alfa. O README avisa que os prompts são ajustados modelo por modelo, então um pedido que funciona nos modelos da OpenAI pode exigir outra redação em um modelo local do Ollama. Não existe sandbox nem desfazer, e por isso a revisão antes de cada comando é a proteção de verdade.

Getting Started

  1. Instale o Node.js 18 ou mais recente e rode npm install -g command-ai.
  2. Rode ai config e escolha o serviço: Ollama, ChatGPT ou um endpoint compatível com OpenAI. As opções ficam em ~/.commandai/config.json.
  3. Peça um trabalho entre aspas, por exemplo ai "create a cron job that checks my IP and pings a URL when it changes".
  4. Leia o plano e a descrição, e confirme antes de qualquer execução.
  5. Para dados, rode aiq config e cadastre uma conexão Postgres, MySQL, SQLite ou MSSQL.

Informações do produto

Uma visão rápida dos preços, das plataformas compatíveis e do desempenho de CommandAI.

Plano gratuitoSim
Planos pagosFree software, no tiers; model usage billed by your provider
PlataformaWindows, macOS, Linux (Node.js 18+)
DesenvolvedorJason Jacobs (open source, MIT license)
CategoriaEscrita · Programação
Data de lançamentoMay 2024
Última atualizaçãoOct 2024
Visitas ao siteN/A
Ranking global do siteN/A
Disponibilidade da APINão

Ideal para

Os usuários, tarefas e cenários em que esta ferramenta se encaixa melhor.

Usuários

  • Desenvolvedores que vivem no shell e querem um assistente de terminal para tarefas como entradas de cron, esqueleto de projeto e limpeza de arquivos, desde que leiam o plano antes de aprovar.
  • Analistas de dados que sabem a pergunta mas não o SQL, e precisam de uma consulta de banco de dados em uma conexão Postgres ou MySQL que já usam.
  • Times atentos à privacidade que rodam Ollama no próprio hardware, já que nenhum pedido precisa sair da rede local.

Tarefas

  • Automação pontual
  • Comandos em linguagem natural para ferramentas que você usa duas vezes por ano e cujas flags nunca ficam na memória.
  • Trabalho exploratório de consulta de banco de dados, como listar linhas acima de um limite ou agrupar cadastros por semana.
  • Montar um projeto inicial com arquivo de configuração, servidor e primeira rota de uma vez.

Cenários

  • Plantão em hora estranha, quando você precisa de um script rápido para checar uma porta ou rotacionar um log.
  • Entrar em um código desconhecido e pedir à CLI que explique ou organize o que está no disco.
  • Uma máquina isolada ou regulada, onde uma ferramenta de chat hospedada está fora de questão mas o Node.js está disponível.

Principais recursos

Execução de tarefas em linguagem comum

O ciclo básico recebe uma frase e devolve um script executável com uma descrição do que ele faz. Essa descrição costuma ser a parte útil, porque nomeia arquivos, serviços e efeitos colaterais antes de você aceitar.

Três utilitários em um pacote

ai, aic e aiq cobrem tarefas do sistema, conversa e perguntas sobre dados. Um único pacote npm entrega os três, sem configuração separada para o chat ou para a parte de banco.

Escolha de modelo: ChatGPT, compatível com OpenAI ou Ollama

Uma entrada de configuração define o backend. Você aponta para a OpenAI, para um servidor próprio que fale a mesma API ou para o Ollama com o modelo que preferir. Trocar custa uma edição e nenhuma reinstalação.

Planos de execução antes de qualquer coisa rodar

Todo comando mostra o plano primeiro e, por padrão, espera sua confirmação. Dá para esconder a exibição do plano quando a leitura extra atrapalha, e as variantes com ! existem para execuções por script que não respondem a um aviso.

Consulta de banco de dados em quatro motores

O aiq trabalha com MySQL, Postgres, SQLite e MSSQL. As conexões ficam em ~/.commandai/db.json, e um arquivo SQLite pode ser passado como primeiro argumento sem configuração alguma.

Arquivos de configuração legíveis

As opções são JSON simples em ~/.commandai. Nada fica escondido em armazenamento binário, então você compara o arquivo, copia para outra máquina ou guarda em um repositório de dotfiles.

Prós e contras

Prós

  • Licença MIT e instalação gratuita, sem assentos e sem assinatura.
  • A revisão do plano deixa os comandos gerados mais confiáveis do que um autocompletar às cegas.
  • Funciona com um modelo local no Ollama, o que mantém prompts e caminhos de arquivo no seu próprio hardware.
  • A configuração continua em JSON legível, então um time pode padronizar um arquivo entre máquinas.
  • O suporte a bancos cobre quatro motores, incluindo MSSQL, que muitos ajudantes de CLI pequenos deixam de lado.

Contras

  • O projeto está em alfa e a última versão no npm saiu em outubro de 2024, então fica atrás de agentes de terminal mais recentes em suporte a modelos.
  • Os scripts gerados rodam com suas permissões e não há sandbox, então um plano ruim pode apagar arquivos reais se você aprovar.
  • A qualidade do prompt varia entre modelos, e os locais pedem mais reescrita que os hospedados.
  • Sem API, sem painel de time e sem versão web, então tudo além da CLI depende do README.

Perguntas frequentes

Converte um pedido escrito em linguagem comum em um script de shell, mostra o plano e executa quando você confirma. O mesmo pacote oferece um modo de conversa e um modo de perguntas sobre banco de dados.