EN·ES·DE·PT·FR
⌘K

Terminal-Tool

Shell-Befehle auf dem Hostsystem ausführen. Befehle werden über sh -c ausgeführt.

Parameter

KeyTypeDefaultDescription
commandstringDer auszuführende Shell-Befehl
actionstring"run"Aktion: run, check, kill oder trust_all
pidintegerPID für check/kill erforderlich

Genehmigungslogik

Ein Befehl wird nur dann automatisch genehmigt, wenn beide Bedingungen erfüllt sind:

  1. Der Befehl beginnt mit einem Präfix aus terminal.allowed_prefixes
  2. Der Befehl enthält keine Shell-Operatoren

Shell-Operatoren (erfordern immer Genehmigung)

text
; | && || $() ` (backticks)

Standard-erlaubte Präfixe

text
ls, cat, head, tail, echo, date, whoami, pwd, find, wc,
grep, tree, file, stat, uname, df, du, ps, which, env, printenv

Ausgabe

Gibt zuerst stdout zurück, dann stderr (falls vorhanden). Die Ausgabe wird auf terminal.max_output_chars (Standard 4000 Zeichen) gekürzt.

Hintergrundbefehle (Neu)

Wenn ein Befehl das Anfangs-Timeout überschreitet, läuft er im Hintergrund weiter und gibt eine PID zurück.

  • Nutze action="check" + pid, um Fortschritt/Ausgabe zu sehen
  • Nutze action="kill" + pid, um den Prozess zu stoppen
  • Abgeschlossene Ausgaben werden kurz zwischengespeichert, damit spätere Checks noch funktionieren

Harte Sicherheitsblöcke (Neu)

Breite destruktive Muster werden jetzt vor dem Genehmigungsfluss blockiert, einschließlich rm -rf und find ... -delete auf sensiblen Pfaden.

Konfiguration

config.toml
[terminal]
allowed_prefixes = ["ls", "cat", "head", "tail", "echo", "date"]
initial_timeout_secs = 30
max_output_chars = 4000
permission_mode = "default"

Immer erlauben (Persistent)

Wenn der Benutzer in Telegram auf "Allow Always" klickt:

  1. Das erste Wort des Befehls wird als Präfix extrahiert
  2. Das Präfix wird der erlaubten Liste im Arbeitsspeicher hinzugefügt
  3. Das Präfix wird in SQLite gespeichert (terminal_allowed_prefixes-Tabelle)
  4. Beim Neustart werden gespeicherte Präfixe mit den Konfigurations-Präfixen zusammengeführt

Das bedeutet, dass "Allow Always"-Genehmigungen Daemon-Neustarts überstehen, ohne config.toml zu ändern.

Nicht vertrauenswürdige Sitzungen
Sitzungen von Triggern (E-Mail usw.) werden als nicht vertrauenswürdig markiert. Alle Befehle in nicht vertrauenswürdigen Sitzungen erfordern eine Genehmigung, unabhängig von der Whitelist.