Gateway
Vertrag für Secrets-apply-Pläne
Diese Seite definiert den strikten Vertrag, der von openclaw secrets apply erzwungen wird.
Wenn ein Ziel nicht zu diesen Regeln passt, schlägt apply fehl, bevor die Konfiguration verändert wird.
Struktur der Plan-Datei
openclaw secrets apply --from <plan.json> erwartet ein targets-Array mit Plan-Zielen:
{
version: 1,
protocolVersion: 1,
targets: [
{
type: "models.providers.apiKey",
path: "models.providers.openai.apiKey",
pathSegments: ["models", "providers", "openai", "apiKey"],
providerId: "openai",
ref: { source: "env", provider: "default", id: "OPENAI_API_KEY" },
},
{
type: "auth-profiles.api_key.key",
path: "profiles.openai:default.key",
pathSegments: ["profiles", "openai:default", "key"],
agentId: "main",
ref: { source: "env", provider: "default", id: "OPENAI_API_KEY" },
},
],
}
Unterstützter Zielbereich
Plan-Ziele werden für unterstützte Anmeldedatenpfade akzeptiert in:
Verhalten des Zieltyps
Allgemeine Regel:
target.typemuss erkannt werden und mit der normalisierten Form vontarget.pathübereinstimmen.
Kompatibilitätsaliase bleiben für bestehende Pläne weiterhin akzeptiert:
models.providers.apiKeyskills.entries.apiKeychannels.googlechat.serviceAccount
Regeln zur Pfadvalidierung
Jedes Ziel wird mit allen folgenden Regeln validiert:
typemuss ein erkannter Zieltyp sein.pathmuss ein nicht leerer Punktpfad sein.pathSegmentskann weggelassen werden. Wenn angegeben, muss es sich zu genau demselben Pfad wiepathnormalisieren.- Verbotene Segmente werden abgelehnt:
__proto__,prototype,constructor. - Der normalisierte Pfad muss mit der registrierten Pfadform für den Zieltyp übereinstimmen.
- Wenn
providerIdoderaccountIdgesetzt ist, muss es mit der im Pfad kodierten ID übereinstimmen. - Ziele für
auth-profiles.jsonerfordernagentId. - Wenn eine neue Zuordnung in
auth-profiles.jsonerstellt wird, mussauthProfileProviderenthalten sein.
Fehlerverhalten
Wenn ein Ziel die Validierung nicht besteht, beendet apply den Vorgang mit einem Fehler wie:
Invalid plan target path for models.providers.apiKey: models.providers.openai.baseUrl
Für einen ungültigen Plan werden keine Schreibvorgänge übernommen.
Verhalten bei Zustimmung für Exec-Anbieter
--dry-runüberspringt standardmäßig Exec-SecretRef-Prüfungen.- Pläne mit Exec-SecretRefs/-Anbietern werden im Schreibmodus abgelehnt, sofern
--allow-execnicht gesetzt ist. - Wenn Pläne mit Exec-Inhalt validiert/angewendet werden, übergeben Sie
--allow-execsowohl bei Dry-Run- als auch bei Schreibbefehlen.
Hinweise zu Laufzeit- und Audit-Bereich
- Rein referenzielle Einträge in
auth-profiles.json(keyRef/tokenRef) sind in der Laufzeitauflösung und im Audit-Bereich enthalten. secrets applyschreibt unterstützte Ziele inopenclaw.json, unterstützte Ziele inauth-profiles.jsonund optionale Scrub-Ziele.
Operator-Prüfungen
# Plan ohne Schreibvorgänge validieren
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
# Dann wirklich anwenden
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
# Für Pläne mit Exec-Inhalt in beiden Modi explizit aktivieren
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --allow-exec
Wenn apply mit einer Meldung zu einem ungültigen Zielpfad fehlschlägt, generieren Sie den Plan mit openclaw secrets configure neu oder korrigieren Sie den Zielpfad auf eine oben unterstützte Form.