shell
apparat shell öffnet eine interaktive Sitzung, in der du Kommandos ohne den apparat-Präfix tippst. Mandant und Vault werden einmal gebunden, danach laufen alle Kommandos gegen genau diese Auswahl — und merklich schneller, weil die Sitzung nur einmal startet, statt für jeden Aufruf neu hochzufahren.
Wofür ist das?
- Viele Kommandos hintereinander. Wer eine Weile in einem Vault arbeitet — anlegen, verknüpfen, suchen, prüfen — spart sich in der Shell den wiederholten
apparat …-Präfix und das wiederholte--vault=…. - Spürbar schneller. Außerhalb der Shell zahlt jeder Aufruf den vollen Start. In der Shell wird einmal gestartet; jedes weitere Kommando läuft sofort.
- Eine feste Arbeitsumgebung. Der gebundene Vault wird automatisch an jedes Kommando weitergereicht, das eine Sammlung braucht — du arbeitest durchgehend in derselben, ohne sie jedes Mal zu nennen.
Aufruf
apparat shell # Mandant automatisch wählen oder abfragen apparat shell recherche # Sitzung direkt für den Vault „recherche"
Ohne weiteres Argument bindet die Shell den Mandanten automatisch, wenn es nur einen gibt. Gibt es mehrere, fragt sie interaktiv nach. Du kannst den Mandanten auch direkt angeben:
apparat shell <mandant> # Mandant fest wählen apparat shell <mandant> recherche # Mandant und Vault zugleich
Was es mit Mandanten auf sich hat und wie du die automatische Wahl prüfst, steht unter Das apparat-Kommando.
In der Sitzung
Eingaben werden wie gewohnte Kommandos behandelt, nur ohne apparat davor — entity list, vault validate, vector stats. Daneben gibt es eine Handvoll eingebauter Befehle:
| Eingabe | Wirkung |
|---|---|
use <vault> |
bindet einen Vault; er wird an jedes Kommando weitergereicht, das eine Sammlung braucht |
vault |
zeigt den aktuell gebundenen Vault |
help / ? |
zeigt die eingebauten Befehle und alle verfügbaren Kommandos |
exit / quit |
beendet die Sitzung (auch Strg+D) |
Eine Übersicht aller verfügbaren Kommandos bekommst du jederzeit mit help — dieselbe nach Namespace gruppierte Liste, die apparat ohne Argumente zeigt, beschränkt auf das, was in der Sitzung sinnvoll läuft (das host-seitige Einrichten von Mandanten taucht hier also nicht auf). Der Eingabe-Prompt (apparat(recherche)>) ist farblich hervorgehoben, damit er sich klar von der Ausgabe abhebt.
Der gebundene Vault landet automatisch als Sammlungsauswahl in jedem Kommando, das eine solche kennt — du musst sie nicht erneut angeben. Gibst du in einem einzelnen Kommando doch eine andere an, hat diese Vorrang. Kommandos, die gar keine Sammlung brauchen, bleiben unberührt.
Beispiel
apparat shell recherche ✅ Bound vault "Recherche". apparat(recherche)> entity list Vault "Recherche" — 12 entities … apparat(recherche)> use archiv ✅ Bound vault "Archiv". apparat(archiv)> vector stats … apparat(archiv)> exit
Ein einzelner Fehler beendet die Sitzung nicht: Ein unbekanntes Kommando oder ein nicht auffindbarer Vault wird gemeldet, danach kannst du weitertippen.
Skriptbarer Betrieb
Wird die Eingabe aus einer Datei oder Pipe gespeist statt aus dem Terminal, liest die Shell die Befehle Zeile für Zeile ab und beendet sich am Ende der Eingabe. So lässt sich eine Folge von Kommandos in einem einzigen Start abarbeiten:
printf 'use recherche\nentity list\nexit\n' | apparat shell
Was nebenbei wichtig ist
Die Sitzung läuft im Web-Container des gewählten Mandanten. Voraussetzung ist daher, dass dieser Container läuft (docker compose up -d); andernfalls bricht der Aufruf mit einer entsprechenden Meldung ab. Dafür stehen in der Shell auch die Kommandos zur Verfügung, die sonst automatisch in den Container delegiert werden — etwa die Bedeutungssuche oder der Chat —, ohne dass je eine zweite Container-Sitzung geöffnet wird.