CLI commands
Pfad
openclaw path
Shell-Zugriff auf das Adressierungsschema oc://: eine nach Art dispatchte Pfadsyntax
zum Prüfen und Bearbeiten adressierbarer Workspace-Dateien (Markdown, JSONC,
JSONL, YAML/YML/Lobster). Self-Hoster, Plugin-Autoren und Editor-Erweiterungen
verwenden sie, um einen eng begrenzten Speicherort zu lesen, zu finden oder zu aktualisieren, ohne
für jeden Dateityp einen eigenen Parser zu erstellen.
path wird vom gebündelten optionalen Plugin oc-path bereitgestellt. Aktivieren Sie es vor
der ersten Verwendung:
openclaw plugins enable oc-pathDie CLI-Verben entsprechen dem Adressierungsmodell:
resolveist konkret und liefert genau einen Treffer.findist das Verb für mehrere Treffer bei Platzhaltern, Vereinigungen, Prädikaten und positionaler Erweiterung.setakzeptiert nur konkrete Pfade oder Einfügemarkierungen; Platzhaltermuster werden vor dem Schreiben abgelehnt.validateparst einen Pfad ohne Dateisystemzugriff.emitdurchläuft für eine Datei Parsen und Ausgeben vollständig (Diagnose der Byte-Treue).
Gründe für die Verwendung
Der OpenClaw-Zustand ist über manuell bearbeitetes Markdown, kommentierte JSONC- Konfigurationen, nur anhängbare JSONL-Protokolle und YAML-Workflow-/Spezifikationsdateien verteilt. Skripte, Hooks und Agenten benötigen aus diesen Dateien häufig nur einen kleinen Wert: einen Frontmatter-Schlüssel, eine Plugin-Einstellung, ein Feld eines Protokolleintrags, einen YAML-Schritt oder einen Aufzählungspunkt unter einem benannten Abschnitt.
openclaw path stellt diesen Aufrufern eine stabile Adresse bereit, statt für jeden Dateityp
eine einmalige grep-Suche, einen regulären Ausdruck oder einen Parser zu verwenden. Derselbe Pfad oc:// kann im
Terminal validiert, aufgelöst, durchsucht, als Probelauf ausgeführt und geschrieben werden, wodurch eng begrenzte
Automatisierungen überprüfbar und wiederholbar bleiben. Der Rest der Datei bleibt erhalten, sodass
das Schreiben eines einzelnen Blatts dessen Kommentare, Zeilenenden oder benachbarte
Formatierung nicht verändert.
Verwenden Sie es, wenn das gewünschte Element eine logische Adresse besitzt, die Dateistruktur jedoch variiert:
- Ein Hook liest eine Einstellung aus kommentiertem JSONC, ohne Kommentare zu verlieren, wenn er den Wert zurückschreibt.
- Ein Wartungsskript findet jedes übereinstimmende Ereignisfeld in einem JSONL-Protokoll, ohne das gesamte Protokoll in einen eigenen Parser zu laden.
- Ein Editor springt anhand des Slugs zu einem Markdown-Abschnitt oder Aufzählungspunkt und rendert anschließend genau die aufgelöste Zeile.
- Ein Agent führt vor der Anwendung einer kleinen Workspace-Bearbeitung einen Probelauf aus, wobei die geänderten Bytes bei der Überprüfung sichtbar sind.
Verwenden Sie openclaw path nicht für gewöhnliche Bearbeitungen vollständiger Dateien, umfangreiche Konfigurationsmigrationen oder
speicherspezifische Schreibvorgänge; dafür sollte der zuständige Befehl oder das zuständige Plugin verwendet werden. path
ist für kleine, adressierbare Dateioperationen vorgesehen, bei denen ein wiederholbarer Terminalbefehl
einem weiteren maßgeschneiderten Parser überlegen ist.
Verwendung
Einen Wert aus einer manuell bearbeiteten Konfigurationsdatei lesen:
openclaw path resolve 'oc://config.jsonc/plugins/github/enabled'Einen Schreibvorgang anzeigen, ohne die Festplatte zu verändern:
openclaw path set 'oc://config.jsonc/plugins/github/enabled' 'true' --dry-runÜbereinstimmende Einträge in einem nur anhängbaren JSONL-Protokoll finden:
openclaw path find 'oc://session.jsonl/[event=tool_call]/name'Eine Anweisung in Markdown anhand von Abschnitt und Element statt anhand der Zeilen- nummer adressieren:
openclaw path resolve 'oc://AGENTS.md/runtime-safety/openclaw-gateway'Einen Pfad in der CI oder einem Vorprüfungsskript validieren, bevor das Skript liest oder schreibt:
openclaw path validate 'oc://AGENTS.md/tools/$last/risk'Diese Befehle sind zum Kopieren in Shell-Skripte vorgesehen. Verwenden Sie --json, wenn
ein Aufrufer strukturierte Ausgaben benötigt, und --human, wenn eine Person das Ergebnis
prüft.
Funktionsweise
- Parst die Adresse
oc://in Slots: Datei, Abschnitt, Element, Feld und eine optionale Sitzungsabfrage. - Wählt den Dateitypadapter anhand der Erweiterung des Ziels aus (
.md,.jsonc,.json,.jsonl,.ndjson,.yaml,.yml,.lobster). - Löst die Slots anhand der Struktur dieses Dateityps auf: Markdown- Überschriften/-Elemente, JSONC-Objektschlüssel/-Arrayindizes, JSONL-Zeileneinträge oder YAML-Zuordnungs-/Sequenzknoten.
- Gibt für
setbearbeitete Bytes über denselben Adapter aus, sodass unveränderte Teile der Datei ihre Kommentare, Zeilenenden und benachbarte Formatierung beibehalten, sofern der Dateityp dies unterstützt.
resolve und set erfordern ein einzelnes konkretes Ziel. find ist das explorative
Verb: Es erweitert Platzhalter, Vereinigungen, Prädikate und Ordnungsangaben zu den konkreten
Treffern, die Sie prüfen können, bevor Sie einen zum Schreiben auswählen.
Unterbefehle
| Unterbefehl | Zweck |
|---|---|
resolve <oc-path> |
Den konkreten Treffer am Pfad ausgeben (oder „nicht gefunden“). |
find <pattern> |
Treffer für einen Platzhalter-/Vereinigungs-/Prädikatpfad aufzählen. |
set <oc-path> <value> |
Ein Blatt oder Einfügeziel an einem konkreten Pfad schreiben. Unterstützt --dry-run. |
validate <oc-path> |
Nur parsen; die strukturelle Aufgliederung ausgeben (Datei/Abschnitt/Element/Feld). |
emit <file> |
Eine Datei durch Parsen und Ausgeben vollständig durchlaufen (Diagnose der Byte-Treue). |
Globale Flags
| Flag | Gilt für | Zweck |
|---|---|---|
--cwd <dir> |
resolve, find, set, emit |
Den Datei-Slot relativ zu diesem Verzeichnis auflösen (Standard: process.cwd()). |
--file <path> |
resolve, find, set, emit |
Den aufgelösten Pfad des Datei-Slots überschreiben (absoluter Zugriff). |
--json |
alle | JSON-Ausgabe erzwingen (Standard, wenn stdout kein TTY ist). |
--human |
alle | Für Menschen lesbare Ausgabe erzwingen (Standard, wenn stdout ein TTY ist). |
--value-json |
set |
<value> für die Blattersetzung in JSON/JSONC/JSONL als JSON parsen. |
--dry-run |
set |
Die Bytes ausgeben, die geschrieben würden, ohne sie zu schreiben. |
--diff |
set (erfordert --dry-run) |
Statt der vollständigen Bytes einen vereinheitlichten Diff ausgeben. |
validate akzeptiert nur --json/--human; es erfolgt kein Dateisystemzugriff, daher
gelten --cwd und --file nicht.
Syntax von oc://
oc://FILE/SECTION/ITEM/FIELD?session=SCOPESlot-Regeln: field erfordert item, und item erfordert section. Für
alle vier Slots gilt:
- Segmente in Anführungszeichen —
"a/b.c"bleibt über die Trennzeichen/und.hinweg erhalten. Der Inhalt ist byte-literal;"und\sind innerhalb von Anführungszeichen nicht zulässig. Auch der Datei-Slot berücksichtigt Anführungszeichen:oc://"skills/email-drafter"/Tools/$lastbehandeltskills/email-drafterals einzelnen Dateipfad. - Prädikate —
[k=v],[k!=v],[k<v],[k<=v],[k>v],[k>=v]. Numerische Operatoren erfordern, dass beide Seiten in endliche Zahlen umgewandelt werden können. - Vereinigungen —
{a,b,c}stimmt mit jeder der Alternativen überein. - Platzhalter —
*(ein einzelnes Untersegment) und**(null oder mehr, rekursiv).findakzeptiert diese;resolveundsetlehnen sie als mehrdeutig ab. - Positional —
$first/$lastwerden zum ersten/letzten Index oder deklarierten Schlüssel aufgelöst. - Ordinal —
#Nfür den N-ten Treffer in Dokumentreihenfolge. - Einfügemarkierungen —
+,+key,+nnnfür schlüssel-/indexbasierte Einfügungen (mitsetverwenden). - Sitzungsbereich —
?session=cron-dailyusw. Unabhängig von der Slot-Verschachtelung. Sitzungswerte sind unverarbeitet und werden nicht prozentdekodiert; sie dürfen keine Steuerzeichen oder reservierten Abfragetrennzeichen enthalten (?,&,%).
Reservierte Zeichen (?, &, %) außerhalb von Segmenten in Anführungszeichen, Prädikaten oder Vereinigungen
werden abgelehnt. Steuerzeichen (U+0000–U+001F, U+007F) werden
überall abgelehnt, einschließlich des Abfragewerts session.
formatOcPath(parseOcPath(path)) === path ist für kanonische Pfade garantiert.
Nicht kanonische Abfrageparameter werden mit Ausnahme des ersten nicht leeren
Werts session= ignoriert.
Feste Grenzwerte: Ein Pfad ist auf 4096 Bytes, höchstens 4 Slots (Datei/Abschnitt/Element/ Feld), höchstens 64 durch Punkte getrennte Untersegmente pro Slot und höchstens 256 verschachtelte Traversal-Ebenen für tiefe JSON-Pfade begrenzt. Unabhängig davon wird jede JSONC-/JSON-Dateieingabe über 16 MiB mit einer Parse-Diagnose abgelehnt, statt geparst zu werden, und zwar bei jedem Verb, das diese Datei lädt.
Adressierung nach Dateityp
| Typ | Dateierweiterungen | Adressierungsmodell |
|---|---|---|
| Markdown | .md |
H2-Abschnitte nach Slug, Aufzählungspunkte nach Slug oder #N, Frontmatter über [frontmatter]. |
| JSONC/JSON | .jsonc, .json |
Objektschlüssel und Arrayindizes; Punkte trennen verschachtelte Untersegmente, sofern sie nicht in Anführungszeichen stehen. |
| JSONL | .jsonl, .ndjson |
Zeilenadressen der obersten Ebene (L1, L2, $first, $last), anschließend Abstieg im JSONC-Stil innerhalb der Zeile. |
| YAML/.lobster | .yaml, .yml, .lobster |
Zuordnungsschlüssel und Sequenzindizes; Kommentare und Flussstil werden von der YAML-Dokument-API verarbeitet. |
resolve gibt einen strukturierten Treffer zurück: root, node, leaf oder
insertion-point, mit einer 1-basierten Zeilennummer. Blattwerte werden als
Text zusammen mit einem leafType bereitgestellt, sodass Plugin-Autoren Vorschauen rendern können, ohne
von der AST-Struktur des jeweiligen Dateityps abhängig zu sein.
Mutationsvertrag
set schreibt ein konkretes Ziel:
- Markdown-Frontmatter-Werte und
- key: value-Elementfelder sind String-Blätter. Markdown-Einfügungen hängen Abschnitte, Frontmatter-Schlüssel oder Abschnittselemente an und rendern eine kanonische Markdown-Form für die geänderte Datei. Abschnittsinhalte können nicht als Ganzes übersetgeschrieben werden. - Bei JSONC-Blattschreibvorgängen wird der String-Wert in den vorhandenen Blatttyp
umgewandelt (
string, endlichesnumber,true/falseodernull). Verwenden Sie--value-json, wenn bei einer JSONC-/JSON-/JSONL-Blattersetzung<value>als JSON geparst werden und sich die Struktur ändern darf, etwa wenn eine String-Kurzform für eine Secret-Referenz durch ein Objekt ersetzt wird. Bei Einfügungen in JSONC-Objekte und -Arrays wird<value>als JSON geparst und für gewöhnliche Blattschreibvorgänge derjsonc-parser-Bearbeitungspfad verwendet, wobei Kommentare und die umgebende Formatierung erhalten bleiben. - JSONL-Blattschreibvorgänge führen innerhalb einer Zeile dieselbe Umwandlung wie JSONC
durch. Beim Ersetzen und Anhängen ganzer Zeilen wird
<value>als JSON geparst. Gerendertes JSONL behält die vorherrschende LF-/CRLF-Zeilenendekonvention der Datei bei (Mehrheitsentscheidung anhand der Zeilenumbrüche in der gesamten Datei, sodass eine überwiegend mit CRLF formatierte Datei auch bei einigen vereinzelten LFs CRLF beibehält). - Bei YAML-Blattschreibvorgängen wird in den vorhandenen Skalartyp umgewandelt
(
string, endlichesnumber,true/falseodernull). YAML-Einfügungen verwenden die Dokument-API des mitgelieferten Paketsyamlfür Aktualisierungen von Mappings und Sequenzen. Fehlerhafte YAML-Dokumente mit Parserfehlern werden vor einer Änderung mitparse-errorabgelehnt.
Verwenden Sie --dry-run vor benutzersichtbaren Schreibvorgängen, wenn die exakten Bytes
entscheidend sind. JSONC- und YAML-Bearbeitungen ändern das vorhandene Dokument direkt
(über jsonc-parser beziehungsweise die Dokument-API von yaml), sodass unveränderte
Bytes normalerweise erhalten bleiben; Markdown erstellt die Datei bei jeder Bearbeitung
aus ihrer geparsten Struktur neu, wodurch beiläufige Formatierungen außerhalb des
geänderten Blatts normalisiert werden können. Fügen Sie --diff hinzu, wenn Sie die
Vorschau als fokussierten Vorher-/Nachher-Patch statt als vollständige gerenderte Datei
anzeigen möchten.
Beispiele
# Einen Pfad validieren (kein Dateisystemzugriff)openclaw path validate 'oc://AGENTS.md/Tools/$last/risk' # Ein Blatt lesenopenclaw path resolve 'oc://gateway.jsonc/version' # Platzhaltersucheopenclaw path find 'oc://session.jsonl/*/event' --file ./logs/session.jsonl # Einen Schreibvorgang im Probelauf ausführenopenclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-run # Einen Schreibvorgang im Probelauf als Unified Diff ausführenopenclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-run --diff # Den Schreibvorgang anwendenopenclaw path set 'oc://gateway.jsonc/version' '2.0' # Bytegetreue Rundreise (Diagnose)openclaw path emit ./AGENTS.mdWeitere Grammatikbeispiele:
# Schlüssel in Anführungszeichen setzen, die / oder . enthaltenopenclaw path resolve 'oc://config.jsonc/agents.defaults.models/"anthropic/claude-opus-4-7"/alias' # Tiefe JSON-/JSONC-Pfade können Schrägstrichsegmente verwenden; diese werden zu gepunkteten Untersegmenten normalisiertopenclaw path set 'oc://openclaw.json/agents/list/0/tools/exec/security' 'allowlist' --dry-run # Ein JSONC-Blatt durch ein geparstes Objekt ersetzenopenclaw path set 'oc://openclaw.json/gateway/auth/token' '{"source":"file","provider":"secrets","id":"/test"}' --value-json --dry-run # Prädikatssuche über untergeordnete JSONC-Elementeopenclaw path find 'oc://config.jsonc/plugins/[enabled=true]/id' # In ein JSONC-Array einfügenopenclaw path set 'oc://config.jsonc/items/+1' '{"id":"new","enabled":true}' --dry-run # Einen JSONC-Objektschlüssel einfügenopenclaw path set 'oc://config.jsonc/plugins/+github' '{"enabled":true}' --dry-run # Ein JSONL-Ereignis anhängenopenclaw path set 'oc://session.jsonl/+' '{"event":"checkpoint","ok":true}' --file ./logs/session.jsonl # Die letzte JSONL-Wertzeile auflösenopenclaw path resolve 'oc://session.jsonl/$last/event' --file ./logs/session.jsonl # Einen YAML-Workflow-Schritt auflösenopenclaw path resolve 'oc://workflow.yaml/steps/0/id' # Einen YAML-Skalar aktualisierenopenclaw path set 'oc://workflow.yaml/steps/$last/id' 'classify-renamed' --dry-run # Markdown-Frontmatter adressierenopenclaw path resolve 'oc://AGENTS.md/[frontmatter]/name' # Markdown-Frontmatter einfügenopenclaw path set 'oc://AGENTS.md/[frontmatter]/+description' 'Agent instructions' --dry-run # Markdown-Elementfelder suchenopenclaw path find 'oc://SKILL.md/Tools/*/send_email' # Einen sitzungsbezogenen Pfad validierenopenclaw path validate 'oc://AGENTS.md/Tools/$last/risk?session=cron-daily'Rezepte nach Dateiart
Dieselben fünf Verben funktionieren für alle Arten; das Adressierungsschema entscheidet anhand der Dateierweiterung.
Markdown
<!-- frontmatter.md -->---name: drafterdescription: Agent zum Verfassen von E-Mailstier: core---## Werkzeuge- gh: GitHub-CLI- curl: HTTP-Client- send_email: aktiviert$ openclaw path resolve 'oc://x.md/[frontmatter]/tier' --file frontmatter.md --humanBlatt @ L4: "core" (String) $ openclaw path resolve 'oc://x.md/tools/gh/gh' --file frontmatter.md --humanBlatt @ L9: "GitHub-CLI" (String) $ openclaw path find 'oc://x.md/tools/*' --file frontmatter.md --human3 Treffer für oc://x.md/tools/*: oc://x.md/tools/gh → Node @ L9 [md-item] oc://x.md/tools/curl → Node @ L10 [md-item] oc://x.md/tools/send-email → Node @ L11 [md-item]Das Prädikat [frontmatter] adressiert den YAML-Frontmatter-Block; tools
findet die Überschrift ## Tools anhand ihres Slugs, und Elementblätter behalten
ihre Slug-Form bei, selbst wenn die Quelle Unterstriche verwendet
(send_email wird zu send-email).
JSONC
// config.jsonc{ "plugins": { "github": {"enabled": true, "role": "vcs"}, "slack": {"enabled": false, "role": "chat"} }}$ openclaw path resolve 'oc://config.jsonc/plugins/github/enabled' --file config.jsonc --humanBlatt @ L4: "true" (Boolesch) $ openclaw path set 'oc://config.jsonc/plugins/slack/enabled' 'true' --file config.jsonc --dry-run--dry-run: würde 142 Bytes in /…/config.jsonc schreiben{ "plugins": { "github": {"enabled": true, "role": "vcs"}, "slack": {"enabled": true, "role": "chat"} }}JSONC-Bearbeitungen werden über jsonc-parser ausgeführt, sodass Kommentare und
Leerraum einen set überstehen. Führen Sie zunächst --dry-run aus,
um die Bytes vor der Übernahme zu prüfen. .json-Dateien verwenden denselben
Adapter und Bearbeitungspfad wie .jsonc.
JSONL
{"event":"start","userId":"u1","ts":1}{"event":"action","userId":"u1","ts":2}{"event":"end","userId":"u1","ts":3}$ openclaw path find 'oc://session.jsonl/[event=action]/userId' --file session.jsonl --human1 Treffer für oc://session.jsonl/[event=action]/userId: oc://session.jsonl/L2/userId → Blatt @ L2: "u1" (String) $ openclaw path resolve 'oc://session.jsonl/L2/ts' --file session.jsonl --humanBlatt @ L2: "2" (Zahl)Jede Zeile ist ein Datensatz. Adressieren Sie ihn über ein Prädikat
([event=action]), wenn Sie die Zeilennummer nicht kennen, oder über das kanonische
Segment LN, wenn sie bekannt ist. .ndjson-Dateien verwenden
denselben Adapter wie .jsonl.
YAML
# workflow.yamlname: inbox-triagesteps: - id: fetch command: gmail.search - id: classify command: openclaw.invoke$ openclaw path resolve 'oc://workflow.yaml/steps/0/id' --file workflow.yaml --humanBlatt @ L3: "fetch" (String) $ openclaw path set 'oc://workflow.yaml/steps/$last/id' 'classify-renamed' --file workflow.yaml --dry-run--dry-run: würde 99 Bytes in /…/workflow.yaml schreibenname: inbox-triagesteps: - id: fetch command: gmail.search - id: classify-renamed command: openclaw.invokeYAML verwendet die Document-API des Pakets yaml statt eines
selbst entwickelten Parsers. Dadurch bleiben bei gewöhnlichen Parse-/Ausgaberundreisen
Kommentare und die Autorenstruktur erhalten, während aufgelöste Pfade dasselbe Modell
aus Mapping-Schlüsseln und Sequenzindizes wie JSONC verwenden. Derselbe Adapter
verarbeitet .yaml-, .yml- und .lobster-Dateien.
Unterbefehlsreferenz
resolve <oc-path>
Liest ein einzelnes Blatt oder einen einzelnen Node. Platzhalter werden abgelehnt –
verwenden Sie dafür find. Beendet sich bei einem Treffer mit
0, bei einem regulären Fehltreffer mit 1 und bei einem
Parsefehler oder abgelehnten Muster mit 2.
openclaw path resolve 'oc://AGENTS.md/tools/gh/risk' --humanopenclaw path resolve 'oc://gateway.jsonc/server/port' --jsonfind <pattern>
Listet jeden Treffer für ein Platzhalter-, Prädikat- oder Vereinigungsmuster auf.
Beendet sich bei mindestens einem Treffer mit 0, bei keinem Treffer
mit 1. Platzhalter im Dateislot werden mit OC_PATH_FILE_WILDCARD_UNSUPPORTED abgelehnt –
geben Sie eine konkrete Datei an (Globbing über mehrere Dateien ist eine spätere Funktion).
openclaw path find 'oc://AGENTS.md/tools/**/risk'openclaw path find 'oc://session.jsonl/[event=action]/userId'openclaw path find 'oc://config.jsonc/plugins/{github,slack}/enabled'set <oc-path> <value>
Schreibt ein Blatt. Kombinieren Sie den Befehl mit --dry-run, um die zu
schreibenden Bytes in einer Vorschau anzuzeigen, ohne die Datei zu verändern.
Fügen Sie --diff für eine Vorschau als Unified Diff hinzu. Beendet sich
nach einem erfolgreichen Schreibvorgang mit 0, mit 1,
wenn das Substrat den Vorgang ablehnt (beispielsweise beim Auslösen einer
Sentinel-Schutzbedingung), und bei Parsefehlern mit 2.
openclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-runopenclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-run --diffopenclaw path set 'oc://gateway.jsonc/version' '2.0'openclaw path set 'oc://AGENTS.md/Tools/+gh/risk' 'low'Die Einfügungsmarkierung +key erstellt das benannte untergeordnete Element,
wenn es noch nicht vorhanden ist; +nnn beziehungsweise ein alleinstehendes
+ dienen zur indizierten Einfügung beziehungsweise zum Anhängen.
validate <oc-path>
Reine Parseprüfung. Kein Dateisystemzugriff. Nützlich, um zu bestätigen, dass ein Vorlagenpfad korrekt aufgebaut ist, bevor Variablen eingesetzt werden, oder um die strukturelle Aufschlüsselung zur Fehlerdiagnose anzuzeigen:
$ openclaw path validate 'oc://AGENTS.md/tools/gh' --humangültig: oc://AGENTS.md/tools/gh Datei: AGENTS.md Abschnitt: tools Element: ghBeendet sich bei Gültigkeit mit 0, bei Ungültigkeit mit
1 (mit strukturierten Angaben für code und
message) und bei Argumentfehlern mit 2.
emit <file>
Führt eine Datei durch den Parser und Emitter ihrer jeweiligen Art und wieder zurück. Bei einer fehlerfreien Datei sollte die Ausgabe byteidentisch mit der Eingabe sein; Abweichungen weisen auf einen Parserfehler oder das Auslösen einer Sentinel-Bedingung hin. Nützlich zur Fehlerdiagnose des Substratverhaltens bei realen Eingaben.
openclaw path emit ./AGENTS.mdopenclaw path emit ./gateway.jsonc --jsonExit-Codes
| Code | Bedeutung |
|---|---|
0 |
Erfolg. (resolve / find: mindestens ein Treffer. set: Schreibvorgang erfolgreich.) |
1 |
Kein Treffer oder set wurde vom Substrat abgelehnt (kein Fehler auf Systemebene). |
2 |
Argument- oder Parsefehler. |
Ausgabemodus
openclaw path berücksichtigt TTY: menschenlesbare Ausgabe in einem Terminal, JSON,
wenn stdout über eine Pipe weitergeleitet oder umgeleitet wird. --json und
--human überschreiben die automatische Erkennung.
Hinweise
setschreibt Bytes über den Emit-Pfad des Substrats, der die Redaction-Sentinel-Schutzprüfung automatisch anwendet. Ein Blatt, das__OPENCLAW_REDACTED__enthält (wortgetreu oder als Teilzeichenfolge), wird zum Schreibzeitpunkt abgelehnt.- Das JSONC-Parsen und Bearbeiten von Blättern verwendet die Plugin-lokale Abhängigkeit
jsonc-parser, sodass Kommentare und Formatierung bei gewöhnlichen Schreibvorgängen an Blättern erhalten bleiben, anstatt einen selbst entwickelten Parser-/Neurendering-Pfad zu durchlaufen. pathkennt weder die Verfolgung noch die Wiederherstellung der zuletzt als funktionsfähig bekannten Konfiguration (LKG); dieser Lebenszyklus wird an anderer Stelle verwaltet. Wenn eine Datei, die Sie überpathbearbeiten, ebenfalls per LKG verfolgt wird, entscheidet der nächste Lesevorgang der Konfiguration, ob sie übernommen oder wiederhergestellt wird; behandeln Sie eine Bearbeitung mitpathgenauso wie jeden anderen direkten Schreibvorgang in diese Datei.