CLI AI

Тот же флоу на Windows: PowerShell и cmd на равных

2026-03-03

CliAI начинался на Linux и macOS, где по умолчанию bash или zsh и Unix-стиль fork-exec для handoff. Windows — другая история: нет $SHELL, лаунчер берётся из $COMSPEC (или терминал явно запускает pwsh.exe), и команды другие. Мы относились к паритету как к настоящей продуктовой цели, не как к галочке.

Что значит «паритет»

Это не перевод Unix-команд в Windows. Это — та же фраза по-английски (или по-русски) даёт правильную команду под ту shell, в которой вы стоите. Спросите «покажи слушающие порты» на Linux — получите ss -ltnp; спросите то же на Windows в PowerShell — получите Get-NetTCPConnection.

PowerShell
PS C:\> clai покажи слушающие TCP-порты с именем процесса→ 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

Ещё три примера в PowerShell

Файлы больше 100 МБ

PowerShell
PS C:\> clai найди файлы больше 100 МБ в D:\projects→ Get-ChildItem -Path D:\projects -Recurse -File `    | Where-Object { $_.Length -gt 100MB } `    | Sort-Object Length -Descending `    | Select-Object FullName, Length

Убить процесс на порту

PowerShell
PS C:\> clai убей процесс на порту 8080→ Stop-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess -Force[Safety: CAUTION] — эквивалент SIGKILL.

Tail лог-файла

PowerShell
PS C:\> clai последние 100 строк C:\app\error.log и follow→ Get-Content -Path C:\app\error.log -Tail 100 -Wait

Что под капотом

Когда вы нажимаете Enter, CliAI:

  1. Читает $COMSPEC (по умолчанию cmd.exe) на Windows; если хост PowerShell, использует pwsh.exe.
  2. Запускает shell с сгенерированной командой как аргументом — модели fork/exec на Windows нет.
  3. Команда выполняется в вашей текущей консоли, с вашим окружением, рабочей директорией и историей PSReadLine.

Что всё ещё работает иначе

  • Stdin-пайп в сам clai имеет мелкие различия; в частности, очистка ANSI-цветов в legacy cmd ведёт себя иначе. Используйте Windows Terminal или pwsh для гладкого опыта.
  • Раскрытие путей. Пути с пробелами при drag-and-drop всё ещё требуют кавычек. CliAI цитирует сгенерированную команду, но исходный путь передавайте в кавычках.

См. также