CliAI startete unter Linux und macOS, wo bash/zsh und ein Unix-artiger Fork-Exec für den Handoff vorausgesetzt werden. Der Windows-Pfad ist wirklich anders: Es gibt kein $SHELL, der Shell-Launcher kommt aus $COMSPEC (oder dein Terminal öffnet explizit pwsh.exe), und die Befehle selbst sind andere. Parität war für uns echtes Produktziel, kein Häkchen.
Was „Parität" hier heißt
Es bedeutet nicht, Unix-Befehle nach Windows zu übersetzen. Es bedeutet: derselbe natürliche Prompt erzeugt den richtigen Befehl für die Shell, in der du stehst. Frag unter Linux nach „zeig die lauschenden Ports" und du bekommst ss -ltnp; das Gleiche unter Windows in PowerShell ergibt Get-NetTCPConnection.
PS C:\> clai liste lauschende TCP-Ports mit Prozessnamen→ 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
Drei weitere PowerShell-Beispiele
Dateien über 100 MB finden
PS C:\> clai finde Dateien über 100 MB unter D:\projects→ Get-ChildItem -Path D:\projects -Recurse -File ` | Where-Object { $_.Length -gt 100MB } ` | Sort-Object Length -Descending ` | Select-Object FullName, Length
Prozess auf einem Port killen
PS C:\> clai kill den Prozess auf Port 8080→ Stop-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess -Force[Safety: CAUTION] — Äquivalent zu SIGKILL.
Logdatei verfolgen
PS C:\> clai folge den letzten 100 Zeilen von C:\app\error.log→ Get-Content -Path C:\app\error.log -Tail 100 -Wait
Was unter der Haube passiert
Wenn du Enter drückst, macht CliAI:
- liest
$COMSPEC(Defaultcmd.exe) unter Windows; ist der Host PowerShell, nutzt espwsh.exe. - startet die Shell mit dem generierten Befehl als Argument —
fork/execgibt es unter Windows nicht. - Der Befehl läuft in deiner aktuellen Konsole, mit deiner Umgebung, dem Arbeitsverzeichnis und der PSReadLine-Historie.
Was nicht ganz gleich läuft
- Stdin in
claiselbst pipen verhält sich leicht anders; insbesondere das ANSI-Stripping unterscheidet sich in legacycmd. Für die beste Erfahrung Windows Terminal oder pwsh nutzen. - Pfad-Expansion. Gezogene Pfade mit Leerzeichen brauchen weiterhin Quotes. CliAI quotet den generierten Befehl, du solltest die Quelle aber selbst quoten.
Siehe auch
- CliAI vorgestellt — Installation auf jeder Plattform.
- Download-Seite für den nativen Windows-Installer.