Referenz der AI-Pilot-Werkzeuge
Alle Werkzeuge von AI Pilot in Terminal- und Speicher-Tabs der Mac-App mit Parametern, Limits und Freigaberegeln, dazu Befehlsende-Erkennung und Zeitlimits.
Auf dieser Seite
- Überblick
- Terminal-Werkzeuge
- run_command
- send_input
- read_screen
- show_view
- propose_plan und update_plan
- Dateiwerkzeuge
- read_file
- edit_file
- write_file
- list_dir
- find_files
- search_files
- folder_report
- Speicher-Werkzeuge
- make_dir
- rename
- delete
- upload und download
- execute_plan
- ask_user
- Erkennung des Befehlsendes
- Zeitlimits
- Ausgabegrenzen
AI Pilot handelt über einen festen Satz von Werkzeugen. Das Modell entscheidet, welches Werkzeug es aufruft; kaiport führt es aus, wendet die Freigaberegeln an und gibt das Ergebnis an das Modell zurück. Diese Seite listet jedes Werkzeug von AI Pilot in der Mac-App mit seinen Parametern und Limits; kaiport für iPhone und iPad nutzt die meisten davon auch, aber nicht edit_file, show_view und den Plan-Modus. Die Werkzeugnamen stehen auch in der Protokolldatei ai-audit.jsonl.
Überblick
Terminal-Tabs sind SSH-Verbindungen; Speicher-Tabs sind FTP-, S3-, WebDAV- und Azure-Verbindungen in der Übertragungsansicht.
| Werkzeug | Zweck | Terminal-Tabs | Speicher-Tabs | Ohne Autopilot | Mit Autopilot |
|---|---|---|---|---|---|
run_command | Befehl im Terminal ausführen | ja | – | fragt | läuft; gefährliche Befehle fragen |
send_input | Text oder Tasten ans Terminal senden | ja | – | fragt | läuft |
read_screen | Sichtbaren Terminalbildschirm lesen | ja | – | läuft | läuft |
show_view | Server-Ansicht zeigen | ja | – | läuft | läuft |
propose_plan, update_plan | Plan vorschlagen, Fortschritt melden (Plan-Modus) | ja | – | läuft; ein neuer Schritt fragt | läuft; ein neuer Schritt fragt |
read_file | Textdatei lesen | ja | ja | läuft | läuft |
edit_file | Teile einer Textdatei ändern | ja | ja | fragt | Terminal-Tabs: läuft; Speicher-Tabs: fragt |
write_file | Textdatei anlegen oder ersetzen | ja | ja | fragt | Terminal-Tabs: läuft; Speicher-Tabs: läuft, Ersetzen fragt |
list_dir | Ordner auflisten | ja | ja | läuft | läuft |
find_files | Dateien nach Name, Größe und Alter finden | ja | ja | läuft | läuft |
search_files | Dateiinhalte durchsuchen | ja | ja | läuft | läuft |
folder_report | Statistik eines Ordnerbaums | ja | ja | läuft | läuft |
ask_user | Dir eine Rückfrage stellen | ja | ja | wartet auf deine Antwort | wartet auf deine Antwort |
make_dir | Ordner anlegen | – | ja | fragt | läuft |
rename | Umbenennen oder verschieben | – | ja | fragt | läuft; auf einen vorhandenen Namen fragt |
delete | Datei oder Ordner löschen | – | ja | fragt | fragt |
upload | Datei von deinem Rechner auf den Speicher kopieren | – | ja | fragt | läuft; Ersetzen fragt |
download | Datei vom Speicher auf deinen Rechner kopieren | – | ja | fragt | läuft; Ersetzen fragt |
execute_plan | Liste von Änderungen nach einer Freigabe ausführen | – | ja | fragt | fragt |
In Terminal-Tabs fragen Änderungen an Dateien, die dich aussperren können, immer. Verbotene Befehle (KI) und Erlaubte Befehle (KI) der Verbindung gelten für run_command. read_file und search_files brauchen Dateiinhalte an die KI senden. Die Regeln im Detail stehen unter Freigaben und Sicherheit.
Terminal-Werkzeuge
run_command
Tippt eine Befehlszeile in das interaktive Terminal – das, das du siehst –, drückt Enter und wartet, bis die Shell wieder ihren Prompt zeigt.
| Parameter | Bedeutung |
|---|---|
command | Die genaue Befehlszeile. |
timeout_seconds | Wie lange gewartet wird, solange der Befehl noch Ausgabe erzeugt: standardmäßig 60 Sekunden, 5 bis 600 Sekunden. |
Das Ergebnis enthält Status, Ausgabe, Exit-Code (mit Shell-Integration), Dauer und die Art der Erkennung.
| Status | Bedeutung |
|---|---|
completed | Der Prompt ist zurück; der Befehl ist fertig. |
running | Etwa 4 Sekunden lang weder neue Ausgabe noch Prompt. Der Befehl arbeitet noch oder wartet auf eine Eingabe; AI Pilot prüft mit read_screen und antwortet mit send_input. |
timeout | Der Befehl hat über das Zeitlimit hinaus Ausgabe erzeugt. Er kann noch laufen. |
blocked | Der Befehl konnte nicht starten: Ein anderer Befehl läuft noch, der vorige erzeugt noch Ausgabe, oder die Sitzung ist geschlossen. |
Bevor ein Befehl läuft, prüft kaiport ihn gegen die verbotenen und erlaubten Befehle der Verbindung und gegen die Liste der gefährlichen Befehle.
send_input
Schickt Text und/oder eine Sondertaste ans Terminal, ohne auf einen Prompt zu warten – um eine Frage zu beantworten, ein Programm zu beenden oder sich in einem Vollbildprogramm zu bewegen. Gibt danach den Bildschirm zurück.
| Parameter | Bedeutung |
|---|---|
text | Zu tippender Text. Ein Zeilenumbruch wird nicht angehängt. |
key | Eine Taste, die nach dem Text gedrückt wird: enter, ctrl-c, ctrl-d, ctrl-z, ctrl-l, escape, tab, up, down, left, right, backspace oder space. |
wait_seconds | Wartezeit, bevor der Bildschirm gelesen wird: standardmäßig 0,6 Sekunden, 0,1 bis 30 Sekunden. |
read_screen
Gibt den Text zurück, der gerade im Terminal sichtbar ist – um einen lange laufenden Befehl, ein interaktives Programm oder etwas zu verfolgen, das du selbst im Terminal gemacht hast. Das optionale wait_seconds (0 bis 120) wartet vor dem Lesen.
show_view
Zeigt eine Server-Ansicht im Chat und gibt dem Modell ihre Daten als kompakte Zusammenfassung (view, dazu ein Parameter wie container, unit oder path, wo die Ansicht einen braucht). Ansichten: docker, docker_logs, services, service_status, disk, disk_usage, processes, logs, updates, websites, certificates, ports und cron. Die Befehle lesen nur, laufen auf einem eigenen Kanal statt in deinem Terminal und nutzen nie sudo. Die Knöpfe einer Ansicht sind für dich: Ein Befehl aus einem Knopf läuft erst, wenn du ihn bestätigst.
propose_plan und update_plan
Im Plan-Modus sieht sich AI Pilot mit Befehlen um, die nur lesen, und ruft dann einmal propose_plan auf, mit einem title, seinen findings und bis zu 30 steps, jeweils mit title, einer Art (kind: read, command, edit oder check) und optional detail. Befehle, die etwas ändern würden, werden beim Planen abgelehnt. Während der Plan läuft, setzt update_plan einen Schritt auf running, done, failed oder skipped, mit einer kurzen note; ein neuer Schritt (add) wartet auf deine Bestätigung.
Dateiwerkzeuge
In Terminal-Tabs arbeiten die Dateiwerkzeuge über SFTP auf dem verbundenen System. In Speicher-Tabs haben sie den zusätzlichen Parameter side: remote für den Speicher (Standard) oder local für deinen Rechner. Pfade sind absolut; entfernte Pfade beginnen mit /.
read_file
Liest eine Textdatei (path) oder mit start_line und line_count einen Bereich ihrer Zeilen, etwa eines großen Logs. Braucht Dateiinhalte an die KI senden. Binärdateien werden abgelehnt, Dateien über 2 MB lassen sich nicht lesen. Der Inhalt, den das Modell bekommt, ist auf Limit pro Datei (KB) begrenzt; von einer längeren Datei bleiben Anfang und Ende.
edit_file
Ändert Teile einer Textdatei (path), indem es exakten Text ersetzt: edits ist eine Liste von Ersetzungen, jeweils mit old_text, new_text und optional replace_all. AI Pilot zieht es bei vorhandenen Dateien write_file vor, weil nur die geänderten Stellen übertragen werden. Du siehst die Änderung als Diff, bevor sie geschrieben wird. In Terminal-Tabs schreibt sudo auf true eine Datei, die der SSH-Benutzer nicht schreiben darf, über sudo im Terminal; die Datei behält Besitzer und Rechte. In Speicher-Tabs braucht das Ändern einer vorhandenen Datei immer deine Freigabe.
write_file
Legt eine Datei an oder ersetzt sie vollständig (path, content, in Terminal-Tabs optional sudo). AI Pilot ist angewiesen, eine Datei zu lesen, bevor er sie ändert. Du siehst die Änderung als Diff, bevor sie geschrieben wird. In Speicher-Tabs braucht das Ersetzen einer vorhandenen Datei immer deine Freigabe.
list_dir
Listet einen Ordner (path) mit Name, Typ, Größe, Änderungsdatum und Rechten jedes Eintrags. Es kommen bis zu 500 Einträge zurück.
find_files
Findet Dateien und Ordner unterhalb eines Ordners allein anhand von Metadaten, ohne Inhalte zu lesen.
| Parameter | Bedeutung |
|---|---|
path | Ordner, in dem die Suche beginnt. |
glob | Namensmuster wie *.log, IMG_????.jpg oder *.{jpg,png}; Groß- und Kleinschreibung spielen keine Rolle. |
type | file, dir oder any (Standard). |
min_size, max_size | Größe in Bytes. |
older_than_days, newer_than_days | Zeit seit der letzten Änderung. |
max_depth | Wie viele Ordnerebenen tief gesucht wird: standardmäßig 6, höchstens 12. |
limit | Höchstzahl der Ergebnisse: standardmäßig 200, höchstens 1.000. |
search_files
Durchsucht die Textdateien unterhalb eines Ordners und gibt die passenden Zeilen mit Pfad und Zeilennummer zurück – nie ganze Dateien. Braucht Dateiinhalte an die KI senden.
| Parameter | Bedeutung |
|---|---|
path | Zu durchsuchender Ordner. |
pattern | Der gesuchte Text oder – mit regex – ein regulärer Ausdruck. |
regex | pattern als regulären Ausdruck behandeln; standardmäßig aus. |
case_sensitive | Groß- und Kleinschreibung unterscheiden; standardmäßig aus. |
glob | Nur Dateien, deren Name passt, etwa *.conf. |
max_files | Höchstzahl der Dateien, die gelesen werden: standardmäßig 200, höchstens 500. |
Die Suche geht bis zu 6 Ordnerebenen tief. Es kommen höchstens 100 passende Zeilen zurück, jede auf 200 Zeichen gekürzt. Binärdateien und Dateien über Limit pro Datei (KB) werden übersprungen. Das Ergebnis listet jede gelesene Datei auf; die Karte zeigt die Liste unter Gelesene Dateien.
folder_report
Statistik eines Ordnerbaums (path, optional max_depth: standardmäßig 6, höchstens 12) allein aus Metadaten: Zahl der Dateien und Ordner und Gesamtgröße, Größen nach Dateityp und Endung, Altersverteilung, die 10 größten Dateien, die 5 ältesten und die 5 neuesten, bis zu 20 mögliche Duplikate (gleicher Name und gleiche Größe), bis zu 20 leere Ordner und bis zu 20 Aufräumkandidaten – temporäre Dateien, Logs älter als 30 Tage, Backups älter als 90 Tage und Dateien über 10 MB, die seit mehr als einem Jahr unverändert sind.
Speicher-Werkzeuge
Diese Werkzeuge gibt es nur in Speicher-Tabs.
make_dir
Legt einen Ordner an (path, side), samt fehlender übergeordneter Ordner, wo der Speicher das unterstützt.
rename
Benennt eine Datei oder einen Ordner um oder verschiebt sie innerhalb derselben Seite (from, to, side). Umbenennen auf einen vorhandenen Namen fragt immer.
delete
Löscht eine Datei oder einen Ordner (path, side). Ein Ordner mit Inhalt wird nur gelöscht, wenn recursive auf true steht – dann samt allem, was darin liegt. Fragt immer.
upload und download
upload kopiert eine Datei von deinem Rechner (local_path) in einen Ordner des Speichers (remote_dir). download kopiert eine Datei vom Speicher (remote_path) in einen Ordner auf deinem Rechner (local_dir). Beide übertragen einzelne Dateien, keine Ordner. Das Ersetzen einer vorhandenen Datei fragt immer. Die Übertragungen erscheinen in der Liste Übertragungen der Übertragungsansicht.
execute_plan
Führt eine Liste von Operationen nach einer einzigen Freigabe aus.
| Parameter | Bedeutung |
|---|---|
summary | Ein Satz, der den Plan beschreibt; er steht auf der Karte. |
operations | Die Schritte in ihrer Reihenfolge. Jeder hat ein op – make_dir, rename (oder move), delete, write_file, upload oder download – und die Parameter des passenden Werkzeugs. |
Ein Plan fasst bis zu 200 Operationen. Operationen mit fehlenden Feldern oder unbekanntem op fallen weg, und AI Pilot erfährt, welche. Die Schritte laufen der Reihe nach; der erste Fehler stoppt den Plan, und die übrigen Schritte werden als übersprungen gemeldet. Ein Plan braucht immer deine Freigabe. Als gefährlich markiert ist er, wenn er etwas löscht oder eine vorhandene Datei ersetzen würde.
ask_user
Stellt dir eine Frage (question) mit bis zu fünf Antwortvorschlägen (options). Du kannst stattdessen immer eine eigene Antwort tippen. kaiport beantwortet eine Rückfrage nie automatisch, auch nicht im Autopilot. Stoppst du die Anfrage, statt zu antworten, erfährt AI Pilot, dass du nicht geantwortet hast.
Erkennung des Befehlsendes
Um zu wissen, wann ein Befehl fertig ist, führt kaiport im Hintergrund ein Abbild des Terminalbildschirms und nutzt eine von zwei Methoden. Die aufgeklappte Karte zeigt unter Erkennung, welche:
- Shell-Integration – mit der Shell-Integration von kaiport (OSC 133) meldet die Shell das Ende jedes Befehls samt Exit-Code. Das ist exakt.
- Heuristik – ohne sie gilt ein Befehl als fertig, wenn die Ausgabe etwa eine halbe Sekunde ruht und die Cursorzeile wie ein Prompt aussieht – also dem Prompt vom Sitzungsstart gleicht, auf ein Prompt-Zeichen wie
$,#,%,>oder❯oder einen Powerline-Trenner endet oder dem Musteruser@hostfolgt. Einen Exit-Code gibt es dann nicht; braucht AI Pilot einen, kann er; echo "exit=$?"an den Befehl anhängen.
Zeitlimits
| Was | Limit |
|---|---|
Ein Befehl (run_command) | standardmäßig 60 Sekunden; AI Pilot kann pro Befehl 5 bis 600 Sekunden setzen |
Meldung running | nach etwa 4 Sekunden ohne neue Ausgabe und ohne Prompt |
| Warten, bevor der Bildschirm gelesen wird | send_input: standardmäßig 0,6 Sekunden (0,1 bis 30); read_screen: 0 bis 120 Sekunden |
| Eine Antwort des Modells | endet mit einem Fehler nach 120 Sekunden ohne Daten |
| Modelle laden | 20 Sekunden |
| Verbindung testen | 60 Sekunden |
| Systemprüfung beim Sitzungsstart | 12 Sekunden; eine Anfrage wartet bis zu 4 Sekunden auf ihr Ergebnis |
Ausgabegrenzen
| Was | Grenze |
|---|---|
Befehlsausgabe (run_command) | 12.000 Zeichen; von längerer Ausgabe bleiben die ersten 60 % und die letzten 40 %, dazwischen ein Hinweis, wie viel fehlt |
| Sehr lange Befehlsausgabe | zusätzlich begrenzt durch den Scrollback des Terminals (2.000 bis 20.000 Zeilen, aus Einstellungen → Terminal → Scrollback); AI Pilot erfährt, wenn der Anfang verloren ist |
Bildschirm (send_input, read_screen) | 8.000 Zeichen |
Dateiinhalt (read_file) | Limit pro Datei (KB), standardmäßig 64 KB; Dateien über 2 MB lassen sich nicht lesen |
Ordnerliste (list_dir) | 500 Einträge |
Durchlauf durch Ordnerbäume (find_files, search_files, folder_report) | 5.000 Einträge; 6 Ordnerebenen (bei find_files und folder_report bis zu 12) |
Inhaltssuche (search_files) | 100 passende Zeilen, standardmäßig 200 Dateien (höchstens 500), 200 Zeichen pro Zeile |
Plan (execute_plan) | 200 Operationen |
Rückfrage (ask_user) | 5 Antwortvorschläge |
| Anhänge | 25 MB pro Datei, 120.000 Zeichen herausgezogener Text |
| Gespräch | die 80 jüngsten Nachrichten; ältere werden zusammengefasst oder fallen weg, siehe Lange Gespräche |