Nicht-interaktiver Modus
Der nicht-interaktive Modus führt einen einzelnen Prompt aus und beendet sich. Verwenden Sie ihn, wenn IaC Code eine Ausgabe für eine wiederholbare Aufgabe erzeugen soll, ohne in der REPL zu bleiben.
Verwenden Sie --prompt, um den Prompt direkt zu übergeben:
iac-code --prompt "Create an OSS Bucket"
Verwenden Sie --prompt -, um den Prompt von der Standardeingabe zu lesen:
echo "Create a VPC and two ECS instances" | iac-code --prompt -
Verwenden Sie --output-format, wenn der Aufrufer strukturierte Ausgabe benötigt:
iac-code --prompt "Create an OSS Bucket" --output-format json
Verwenden Sie --max-turns, um die maximale Arbeitszeit des Agenten zu begrenzen:
iac-code --prompt "Create a VPC" --max-turns 20
Unterstützte Ausgabeformate sind:
| Format | Zweck |
|---|---|
text | Für Menschen lesbare Ausgabe. Dies ist die Standardeinstellung. |
json | Ein einzelnes JSON-Ergebnis für Aufrufer, die die endgültige Antwort parsen. |
stream-json | Streaming-JSON-Ereignisse für Aufrufer, die inkrementellen Fortschritt verarbeiten. |
Sitzungsbackups
Wenn IAC_CODE_CONFIG_BACKUP_DIR gesetzt ist, spiegeln nicht-interaktive Laeufe die v2-Sitzung an wichtigen Checkpoints. Der normale Turn-End-Checkpoint verwendet normal_turn_end; Backupfehler an diesem Punkt werden als warning protokolliert und in .backup-state.json erfasst, ohne die abgeschlossene Antwort fehlschlagen zu lassen oder dem finalen Output ein warning-Feld hinzuzufuegen. Der Pipeline-Modus hat eigene kritische Backup-Gates.
Berechtigungssteuerung in der Automatisierung
Verwenden Sie beim nicht-interaktiven Ausführen --permission-mode, um zu steuern, wie der Agent Werkzeuggenehmigungen behandelt:
iac-code --prompt "Deploy the stack" --permission-mode bypass_permissions
In bypass_permissions werden Werkzeugaktionen ausser Sicherheitspruefungen automatisch genehmigt, aber jede Allow-Entscheidung, die einen Auditdatensatz erfordert, schlaegt weiterhin fail-closed fehl, wenn die Auditpersistenz fehlschlaegt. Alibaba-Cloud-Schreib-APIs bleiben ausserhalb von bypass_permissions gesondert geschuetzt; fuer enger gefasste vertrauenswuerdige Automatisierung bleiben Sie ausserhalb von bypass_permissions und erlauben jede benoetigte Schreib-API explizit:
iac-code --prompt "Deploy the stack" \
--allowed-tools 'aliyun_api(ros:CreateStack)' \
--permission-mode dont_ask
Um einzuschränken, was der Agent tun kann, kombinieren Sie --allowed-tools und --disallowed-tools:
iac-code --prompt "Check the stack status" \
--allowed-tools 'bash(git *),bash(ls:*)' \
--disallowed-tools 'bash(rm *)' \
--permission-mode dont_ask
Alle Startparameter finden Sie unter Befehlszeilenoptionen.