Modo Interativo

O modo padrão do ChatCLI é o interativo. Para iniciá-lo, basta executar o comando no seu terminal sem nenhum argumento:

./chatcli

Você será saudado com uma tela de boas-vindas e um prompt ( ❯ ), pronto para receber suas perguntas ou comandos.

🤖 Você está conversando com gpt-4o-mini (OPENAI)

me ajude a listar todos os containers docker ativos

Qualquer texto que não comece com / ou @ será tratado como um prompt para a Inteligência Artificial.

Comandos Essenciais

Os comandos internos são seu centro de controle para o ChatCLI. Eles sempre começam com uma barra ( / ).

  Comando            │ Descrição                                                                                                                      
───────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
/help              │ Exibe a tela de ajuda completa com todos os comandos e opções disponíveis.                                                     
/exit ou /quit     │ Encerra a aplicação do ChatCLI de forma segura.                                                                                
/newsession        │ Limpa o histórico da conversa atual, permitindo que você inicie um novo diálogo do zero.                                       
/config ou /status │ Mostra a configuração atual, incluindo o provedor e modelo de IA ativos, e chaves de ambiente (com valores sensíveis ocultos).
/reload            │ Recarrega a configuração do arquivo  .env  sem precisar reiniciar a aplicação.                                                 
/switch            │ Abre um menu interativo para trocar o provedor de LLM ou alterar o modelo atual.
  

Uma Breve Visão dos Comandos Avançados

Além dos comandos essenciais, o poder do ChatCLI reside em sua capacidade de entender o contexto e executar ações. Estes são os dois principais tipos de comandos avançados:

Comandos de Contexto ( @ )

Estes comandos, que começam com @ , são usados para injetar informações dinâmicas no seu prompt.

  • @file : Anexa o conteúdo de um arquivo ou a estrutura de um diretório.
  • @git : Fornece à IA o estado atual do seu repositório Git.
  • @command : Executa um comando no seu terminal e usa a saída como contexto.

Estes comandos serão detalhados na próxima seção.

Modo Agente ( /agent )

Este é o modo mais poderoso do ChatCLI. Em vez de apenas obter respostas, você pode delegar uma tarefa.

/agent organize meus arquivos .log na pasta ‘~/logs’ em subpastas por data

A IA irá criar um plano de execução, que consiste em uma série de comandos de shell, e pedir sua aprovação antes de executá-los.


Modo Coder (/coder)

Além do modo /agent, o ChatCLI tem o modo especializado /coder para tarefas de engenharia de software (leitura/edição de arquivos, refatoração, rodar testes, etc).

No /coder, quem chama as ferramentas é a IA – ela emite chamadas do plugin @coder em um formato estrito (<tool_call>). Você dá o objetivo (“corrija testes”, “refatore X”) e a IA faz o resto.

/coder corrija os testes falhando

Veja o guia completo: Modo Coder (/coder) e o detalhe do plugin: Plugin @coder

Prática: exemplos de chamadas do @coder (pela IA)

No modo /coder, visualize o <tool_call> como ordens de ferramenta que a IA emite para o ChatCLI executar. O formato JSON em args é recomendado. Exemplos (como texto, não código):

  • <tool_call name="@coder" args="{\"cmd\":\"tree\",\"args\":{\"dir\":\".\"}}"/>
  • <tool_call name="@coder" args="{\"cmd\":\"search\",\"args\":{\"term\":\"FAIL\",\"dir\":\".\"}}"/>
  • <tool_call name="@coder" args="{\"cmd\":\"read\",\"args\":{\"file\":\"cli/agent_mode.go\"}}"/>
  • <tool_call name="@coder" args="{\"cmd\":\"test\",\"args\":{\"dir\":\".\"}}"/>
  • <tool_call name="@coder" args="{\"cmd\":\"git-diff\",\"args\":{\"dir\":\".\",\"stat\":true}}"/>

Observe: em /coder, sempre é a LLM quem emite o @coder – o usuário somente descreve objetivos.



O ChatCLI suporta atalhos de teclado para navegação eficiente no prompt, compatíveis com os principais terminais macOS:

  • Alt/Option + ← →: Mover cursor por palavra
  • Ctrl + ← →: Mover cursor por palavra
  • Cmd + ← → / Home/End: Mover para início/fim da linha
  • Alt + Backspace: Deletar palavra à esquerda

Para a lista completa de atalhos, veja a Referência de Comandos.


Detecção Inteligente de Paste

O ChatCLI detecta automaticamente texto colado via Bracketed Paste Mode. Para pastes grandes (mais de 150 caracteres), o conteúdo é substituído por um placeholder compacto no prompt:

  «1234 chars | 5 lines»
  

Isso evita corrupção visual do terminal com textos extensos. O conteúdo real é preservado internamente e enviado integralmente ao pressionar Enter. Pastes pequenos (≤ 150 caracteres) continuam sendo renderizados normalmente.


Próximos Passos

Agora que você conhece o básico, vamos mergulhar na funcionalidade que torna o ChatCLI tão poderoso: a adição de contexto.

➡️ Próximo: Adicionando Contexto ( @ Comandos)