Pular para o conteúdo principal
O ChatCLI suporta entrada de texto em multiplas linhas em todos os modos (Chat, Agent e Coder), permitindo que você organize melhor suas mensagens, cole trechos de código ou envie instrucoes complexas sem que cada Enter submeta a mensagem.

Como Funciona

O delimitador --- (tres ou mais hifens) controla o modo multilinha:
  1. Abrir: Digite --- sozinho em uma linha e pressione Enter
  2. Escrever: Cada Enter adiciona uma nova linha (não submete)
  3. Fechar e enviar: Digite --- novamente em uma linha sozinha
O delimitador aceita 3 ou mais hifens (---, ----, -----, etc.). Todos funcionam da mesma forma.

Exemplos por Modo

Modo Chat (prompt principal)

❯ ---
  Multiline mode — type --- on a new line to finish
  ... [1] Preciso de ajuda com um problema complexo.
  ... [2] Tenho um servico REST que precisa de:
  ... [3] - autenticação JWT
  ... [4] - rate limiting
  ... [5] - validacao de email
  ... [6] ---
Todas as 5 linhas são enviadas como uma única mensagem para a IA.

Modo Coder (aguardando resposta do usuario)

Quando a IA no modo /coder faz uma pergunta e aguarda sua resposta, você também pode usar multilinha:
  ⏳ Aguardando sua resposta (--- para multilinha, 'sair' para encerrar): ---
  📝 Modo multilinha — digite --- em uma nova linha para finalizar
  ... [1] PostgreSQL na porta 5432
  ... [2] Host: db.internal
  ... [3] Database: myapp_prod
  ... [4] Usar pgx como driver
  ... [5] ---
A resposta completa e adicionada ao histórico e a IA continua o ciclo ReAct com todas as informações.

Modo Agent

O mesmo mecanismo funciona no modo /agent quando o sistema solicita entrada do usuario.

Cancelar Multilinha

ModoComo cancelarResultado
ChatCtrl+CDescarta todo o texto acumulado, mostra [multilinha cancelado]
Agent/CoderCtrl+CCancela a operação atual (comportamento padrão do Ctrl+C)

Prompt de Continuacao

Enquanto o modo multilinha está ativo, o prompt muda para mostrar o número da linha:
  ... [1] primeira linha
  ... [2] segunda linha
  ... [3] terceira linha
Isso facilita saber quantas linhas você já digitou e manter a organizacao visual.

Quando Usar

Instrucoes Complexas

Quando sua solicitacao tem multiplos requisitos ou restrições que ficam mais claros organizados em linhas separadas.

Respostas Detalhadas

Quando a IA pergunta algo no modo Coder e você precisa fornecer varias informações de uma vez (banco, host, credenciais, etc.).

Contexto Estruturado

Quando você quer enviar uma especificacao, lista de tarefas ou descrição de bug formatada em multiplas linhas.

Trechos de Codigo

Quando precisa colar ou digitar um trecho de código como parte da mensagem.

Detalhes Tecnicos

  • O componente MultilineBuffer e compartilhado entre todos os modos
  • No modo Chat, o go-prompt exibe o prompt de continuacao via changeLivePrefix
  • No modo Agent/Coder, o readMultiline() le do canal centralizado stdinLines
  • Linhas vazias (Enter sem texto) são incluidas normalmente no conteúdo multilinha
  • O delimitador de abertura e fechamento não e incluido no texto final