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:
- Читает
$COMSPEC(по умолчаниюcmd.exe) на Windows; если хост PowerShell, используетpwsh.exe. - Запускает shell с сгенерированной командой как аргументом — модели
fork/execна Windows нет. - Команда выполняется в вашей текущей консоли, с вашим окружением, рабочей директорией и историей PSReadLine.
Что всё ещё работает иначе
- Stdin-пайп в сам clai имеет мелкие различия; в частности, очистка ANSI-цветов в legacy
cmdведёт себя иначе. Используйте Windows Terminal или pwsh для гладкого опыта. - Раскрытие путей. Пути с пробелами при drag-and-drop всё ещё требуют кавычек. CliAI цитирует сгенерированную команду, но исходный путь передавайте в кавычках.
См. также
- Знакомство с CliAI — установка на любой платформе.
- Страница загрузки с Windows-нативным инсталлятором.