CLI AI

Mesmo fluxo no Windows: paridade com PowerShell e cmd

2026-03-03

O CliAI nasceu no Linux e macOS, onde a premissa é bash/zsh e fork-exec estilo Unix para o handoff. O caminho do Windows é genuinamente diferente: não há $SHELL, o lançador de shell vem de $COMSPEC (ou seu terminal abre explicitamente pwsh.exe), e os comandos em si são outros. Encaramos paridade como objetivo de produto, não como checkbox.

O que "paridade" significa aqui

Não significa traduzir comandos Unix para Windows. Significa que o mesmo prompt em linguagem natural produz o comando certo para a shell em que você está. Peça "liste portas em escuta" no Linux e verá ss -ltnp; o mesmo no Windows com PowerShell mostra Get-NetTCPConnection.

PowerShell
PS C:\> clai liste portas TCP em escuta com nome do processo→ Get-NetTCPConnection -State Listen `    | Select-Object LocalAddress, LocalPort,                    @{N='Process';E={(Get-Process -Id $_.OwningProcess).ProcessName}}LocalAddress  LocalPort  Process0.0.0.0       80         nginx0.0.0.0       443        nginx

Mais três exemplos em PowerShell

Arquivos com mais de 100 MB

PowerShell
PS C:\> clai encontre arquivos maiores que 100 MB em D:\projects→ Get-ChildItem -Path D:\projects -Recurse -File `    | Where-Object { $_.Length -gt 100MB } `    | Sort-Object Length -Descending `    | Select-Object FullName, Length

Matar o processo na porta

PowerShell
PS C:\> clai mate o processo na porta 8080→ Stop-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess -Force[Safety: CAUTION] — equivalente a SIGKILL.

Tail de um log

PowerShell
PS C:\> clai siga as últimas 100 linhas de C:\app\error.log→ Get-Content -Path C:\app\error.log -Tail 100 -Wait

O que acontece nos bastidores

Ao pressionar Enter, o CliAI:

  1. Lê $COMSPEC (padrão cmd.exe) no Windows; se o host for PowerShell, usa pwsh.exe.
  2. Inicia a shell com o comando gerado como argumento — não há modelo fork/exec no Windows.
  3. O comando roda no seu console atual, com seu ambiente, diretório e histórico do PSReadLine.

O que ainda funciona diferente

  • Pipe de stdin para o próprio clai tem pequenas diferenças; em particular, a remoção de ANSI no cmd legado se comporta de outra forma. Use Windows Terminal ou pwsh para a melhor experiência.
  • Expansão de caminhos. Caminhos com espaços via drag-and-drop ainda precisam de aspas. O CliAI cita o comando gerado, mas passe o caminho de origem entre aspas.

Veja também