Einzelprompt und Streams
Sie müssen bereits angemeldet sein und dem Projekt bewusst vertrauen. Prüfen Sie die Einstellungen, Hooks und MCP-Quellen vor der Ausführung. Ein Einzelprompt startet keinen interaktiven Chatdialog. Diese Aufrufe senden Modellanfragen und können Kosten verursachen.
lurus chat --mode ask --prompt "Explain the architecture without edits" --output-format text
lurus chat --mode ask --prompt "Summarize the architecture" --output-format stream-json
Mit --prompt oder einem Prompt als positionalem Argument starten Sie den Einzelprompt-Modus. Die Sitzung wird gespeichert; ein erfolgreicher Lauf endet mit Exitcode 0, ein Fehler mit Exitcode 1. Ohne interaktive Eingabe werden Aktionen abgelehnt, die eine Freigabe für Secrets, gefährliche Vorgänge oder geschützte Einstellungen benötigen. Andere Aktionen können einmalig freigegeben werden. Das ist kein umfassender Schreibschutz. Der Ask-Modus schränkt gewöhnliche Dateiänderungen zusätzlich ein, verhindert aber nicht jede Prozessaktion.
--max-turns 12 begrenzt die Modellanfragen des Hauptagenten einschließlich Wiederholungsversuchen. Geben Sie eine positive, sicher darstellbare Ganzzahl aus Dezimalziffern an, ohne Vorzeichen, Dezimalstellen oder Leerzeichen. Die Option gilt nur für Einzelprompts, nicht für den interaktiven Chat oder --pipe. Ungültige Kombinationen enden vor der Anmeldung mit Exitcode 1. Das Limit ist unabhängig von maxTurns bei eigenen Agenten und kein Kostenlimit.
text gibt Text aus. json und stream-json verwenden derzeit denselben NDJSON-Ereignisstrom, kein einzelnes abschließendes JSON-Objekt. Parsen Sie jede Zeile separat. Der Strom enthält unter anderem system/init, assistant/text, tool_use_begin, tool_input, tool_use_end, system/turn_complete, error und done. Setzen Sie die Textfragmente zusammen und prüfen Sie Fehlerereignisse sowie den Exitcode des Prozesses.
Verwenden Sie für die maschinelle Verarbeitung --output-format json oder --output-format stream-json mit einem Leerzeichen vor dem Wert. Nur diese Schreibweisen aktivieren die passende Logumleitung, nicht -o json, --output-format=json oder --output-format=stream-json. Der Datenstrom wird auf stdout ausgegeben, Diagnosemeldungen auf stderr. Interpretieren Sie Logzeilen nicht als JSON.
JSON-Schema: Anleitung, nicht Validator
Vollständige summary.schema.json:
{
"type": "object",
"properties": { "summary": { "type": "string" } },
"required": ["summary"],
"additionalProperties": false
}
lurus chat --mode ask --prompt "Summarize the project" --json-schema summary.schema.json --output-format json
Die CLI liest den Schema-Text und ergänzt den Prompt um eine JSON-Anforderung. Die Antwort wird dabei nicht automatisch gegen das Schema validiert. Ist die Datei nicht lesbar, gibt die CLI eine Warnung aus und fährt ohne diese Anweisung fort. Exitcode 0 garantiert deshalb weder eine gültige JSON-Antwort noch die Einhaltung des Schemas. Die äußere Ausgabe bleibt NDJSON. Rekonstruieren Sie den Antworttext im verarbeitenden System, parsen Sie das JSON und prüfen Sie es mit einem geeigneten Validator.
Batchdatei
Achtung: Batchläufe können Dateien ändern und Prozesse ausführen. Die Bitte „without changing files“ im Prompt ist kein technisch erzwungener Schreibschutz. Verwenden Sie vertrauenswürdige Eingaben und eng begrenzte Aufgaben.
Speichern Sie die folgenden Promptblöcke als prompts.txt. Eine eigene Zeile mit --- trennt die Blöcke:
Explain the architecture without changing files.
Include the key module boundaries.
---
Summarize existing tests without changing files.
lurus batch prompts.txt --output-format json --continue-on-error
Ein Prompt darf mehrere Zeilen umfassen. Zwischen den Prompts wird der Gesprächsverlauf geleert. Mit --model <Auswahl> können Sie optional ein Modell wählen. Die Ausgabe erfolgt standardmäßig als Text; alternativ ist JSON möglich. Ohne --continue-on-error stoppt der Lauf beim ersten Fehler. --max-turns 12 begrenzt die Modellanfragen einschließlich Wiederholungsversuchen separat pro Prompt; für den Wert gelten dieselben Regeln wie oben. Auch bei Fortsetzung nach einem Fehler endet der Lauf mit Exitcode 1. Eine leere Promptliste endet mit Exitcode 0.
Die JSON-Ausgabe enthält file, totalPrompts, processed, succeeded, failed, totalTokens und results. Jedes Ergebnis enthält prompt, status, response, attachmentNotices und tokens. Prüfen Sie die tatsächlichen Antworten und Hinweise, nicht nur die Anzahl erfolgreicher Prompts.
Pipe und PR-Kontext
lurus chat --pipe
Die Pipe ist eine fortgeschrittene, langlebige Integration über stdin und stdout und setzt eine Anmeldung voraus. Das Ereignis ready kann bereits vor Abschluss der Initialisierung erscheinen. Der Client muss Freigaben und weitere Ereignisse verarbeiten und darf nicht sofort vollständige Betriebsbereitschaft annehmen. Beim Start einer neuen Pipe-Sitzung können ausdrücklich gesetzte Werte für model, thinkingMode, effort, maxMode und mode global gespeichert werden und spätere Sitzungen beeinflussen. Für das Fortsetzen bestehender Sitzungen gilt diese Speicherung nicht in gleicher Weise.
--from-pr <Nummer> versucht zuerst den lokalen Vergleich git diff origin/main...HEAD. Nur wenn dieser fehlschlägt, wird gh pr diff <Nummer> verwendet. Der Kontext ist auf höchstens 50.000 Zeichen begrenzt. Die Option garantiert daher nicht, dass immer genau der angegebene Pull Request geladen wird. Prüfen Sie vorher die Git-Vergleichsbasis und die Anmeldung für gh.
Sichere Umgebung und Fehlersuche
Beziehen Sie LURUS_API_KEY aus einem Secretmanager oder einer geschützten CI-Variable. Schreiben Sie echte Schlüssel nicht in Beispiele oder die Shell-History. Eine nichtleere Umgebungsvariable hat Vorrang vor gespeicherten Zugangsdaten; ein ungültiger Wert führt nicht zum Rückgriff auf die gespeicherte Anmeldung. LURUS_AUTO_CONSENT erteilt weitreichende Freigaben für Einstellungen, Hooks und MCP und ist keine empfohlene Standardeinstellung. Kindprozesse erhalten nur ausdrücklich zugelassene Umgebungsvariablen. Zusätzliche Namen in *_PASS_ENV sind eine bewusste Vertrauensfreigabe.
Bei Problemen mit einer JSON-Pipeline prüfen Sie die Schreibweise von --output-format, die Trennung von stdout und stderr sowie die Verarbeitung einzelner NDJSON-Zeilen. Bei Schemafehlern prüfen Sie die Lesbarkeit der Datei und validieren die Antwort selbst. Bei Batchfehlern unterscheiden Sie Teilresultate, Exitcode und Fortsetzung nach Fehlern. Verwenden Sie gefährliche Freigabemodi nicht als Ersatz für sichere Automation.
Weiter: CI/CD, Berechtigungen, Einstellungen.