EN·ES·DE·PT·FR
⌘K

Outil Terminal

Exécuter des commandes shell sur le système hôte. Les commandes sont exécutées via sh -c.

Paramètres

KeyTypeDefaultDescription
commandstringLa commande shell à exécuter
actionstring"run"Action : run, check, kill ou trust_all
pidintegerPID requis pour check/kill

Logique d'Approbation

Une commande est approuvée automatiquement uniquement si les deux conditions sont remplies :

  1. La commande commence par un préfixe dans terminal.allowed_prefixes
  2. La commande ne contient aucun opérateur shell

Opérateurs Shell (nécessitent toujours une approbation)

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

Préfixes Autorisés par Défaut

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

Sortie

Retourne d'abord stdout, puis stderr (le cas échéant). La sortie est tronquée à terminal.max_output_chars (4000 caractères par défaut).

Commandes en Arrière-plan (Nouveau)

Si une commande dépasse le timeout initial, elle passe en arrière-plan et renvoie un PID.

  • Utilise action="check" + pid pour voir la progression/la sortie
  • Utilise action="kill" + pid pour arrêter le processus
  • La sortie finale récente est conservée un moment pour les vérifications suivantes

Blocages de Sécurité Stricts (Nouveau)

Les motifs destructifs larges sont maintenant bloqués avant le flux d'approbation, y compris rm -rf et find ... -delete sur des chemins sensibles.

Configuration

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

Allow Always (Persistant)

Lorsque l'utilisateur clique sur "Allow Always" dans Telegram :

  1. Le premier mot de la commande est extrait comme préfixe
  2. Le préfixe est ajouté à la liste autorisée en mémoire
  3. Le préfixe est persisté dans SQLite (table terminal_allowed_prefixes)
  4. Au redémarrage, les préfixes persistés sont fusionnés avec les préfixes de configuration

Cela signifie que les approbations "Allow Always" survivent aux redémarrages du daemon sans modifier config.toml.

Sessions Non Fiables
Les sessions provenant de déclencheurs (email, etc.) sont marquées comme non fiables. Toutes les commandes dans les sessions non fiables nécessitent une approbation, quelle que soit la liste blanche.