oc-path dodaje CLI openclaw path dla schematu
adresowania plików obszaru roboczego oc://. Jest dostarczany w repozytorium OpenClaw w
extensions/oc-path/, ale jest opcjonalny — instalacja/kompilacja pozostawia go nieaktywnym, dopóki go
nie włączysz.
Adresy oc:// wskazują pojedynczy liść (lub zestaw liści z symbolem wieloznacznym) wewnątrz
pliku obszaru roboczego. Plugin obsługuje dziś cztery rodzaje plików:
- markdown (
.md,.mdx): frontmatter, sekcje, elementy, pola - jsonc (
.jsonc,.json5,.json): komentarze i formatowanie zachowane - jsonl (
.jsonl,.ndjson): rekordy zorientowane na wiersze - yaml (
.yaml,.yml,.lobster): węzły map/sekwencji/skalarów przez interfejs API dokumentu YAML
Dlaczego warto go włączyć
Włączoc-path, gdy chcesz, aby skrypty, hooki lub lokalne narzędzia agentowe wskazywały
precyzyjny fragment stanu obszaru roboczego bez wymyślania parsera dla każdego
kształtu pliku. Pojedynczy adres oc:// może nazwać klucz frontmatter w Markdown, element
sekcji, liść konfiguracji JSONC, pole zdarzenia JSONL albo krok przepływu pracy YAML.
Ma to znaczenie w przepływach pracy maintainerów, gdzie zmiana powinna być mała,
audytowalna i powtarzalna: sprawdź jedną wartość, znajdź pasujące rekordy, wykonaj próbny zapis,
a potem zastosuj tylko ten liść, pozostawiając komentarze, zakończenia wierszy i
pobliskie formatowanie bez zmian. Utrzymanie tego jako opcjonalnego Pluginu daje zaawansowanym użytkownikom
warstwę adresowania bez wprowadzania zależności parserów ani powierzchni CLI do
core dla instalacji, które nigdy jej nie potrzebują.
Typowe powody włączenia:
- Lokalna automatyzacja: skrypty powłoki mogą rozwiązać lub zaktualizować jedną wartość obszaru roboczego
za pomocą
openclaw path … --json, zamiast utrzymywać osobny kod parsowania Markdown, JSONC, JSONL i YAML. - Edycje widoczne dla agenta: agent może pokazać różnicę próbnego zapisu dla jednego zaadresowanego liścia przed zapisem, co łatwiej przejrzeć niż swobodny przepis pliku.
- Integracje edytora: edytor może zmapować
oc://AGENTS.md/tools/ghna dokładny węzeł Markdown i numer wiersza bez zgadywania na podstawie tekstu nagłówka. - Diagnostyka:
emitprzepuszcza plik przez parser i emiter tam i z powrotem, więc możesz sprawdzić, czy dany rodzaj pliku jest stabilny bajtowo, zanim oprzesz się na automatycznych edycjach.
oc-path to wąska
warstwa adresowania i zachowujących bajty operacji na plikach, wokół której te narzędzia wyższego poziomu
mogą budować.
Gdzie działa
Plugin działa w procesie wewnątrz CLIopenclaw na hoście, na którym
wywołujesz polecenie. Nie wymaga działającego Gateway i nie otwiera żadnych
gniazd sieciowych — każdy czasownik jest czystą transformacją pliku, który wskażesz.
Metadane Pluginu znajdują się w extensions/oc-path/openclaw.plugin.json:
onStartup: false utrzymuje Plugin poza gorącą ścieżką Gateway. onCommands: ["path"] informuje CLI, aby leniwie załadować Plugin przy pierwszym uruchomieniu
openclaw path …, więc instalacje, które nigdy nie używają tego czasownika, nie ponoszą kosztu.
Włączanie
openclaw path działają od razu na tym samym hoście —
CLI ładuje Plugin na żądanie.
Wyłącz za pomocą:
Zależności
Wszystkie zależności parserów są lokalne dla Pluginu — włączenieoc-path nie wciąga
nowych pakietów do runtime core:
| Zależność | Cel |
|---|---|
commander | Okablowanie podpoleceń dla resolve, find, set, validate, emit. |
jsonc-parser | Parsowanie JSONC + edycje liści z zachowaniem komentarzy i końcowych przecinków. |
markdown-it | Tokenizacja Markdown dla modelu sekcji / elementów / pól. |
yaml | Parsowanie / emitowanie / edycja Document YAML z zachowaniem komentarzy i stylu przepływowego. |
jsonc-parser.
Co udostępnia
| Powierzchnia | Dostarczane przez |
|---|---|
CLI openclaw path | extensions/oc-path/cli-registration.ts |
Parser / formatter oc:// | extensions/oc-path/src/oc-path/oc-path.ts |
| Parsowanie / emitowanie / edycja dla rodzaju | extensions/oc-path/src/oc-path/{md,jsonc,jsonl,yaml} |
| Uniwersalne resolve / find / set | extensions/oc-path/src/oc-path/{resolve,find,edit}.ts |
| Strażnik sentinela redakcji | extensions/oc-path/src/oc-path/sentinel.ts |
Relacja z innymi Pluginami
memory-*: zapisy pamięci przechodzą przez Pluginy pamięci, a nieoc-path.oc-pathjest ogólną warstwą bazową plików; Pluginy pamięci nakładają na nią własną semantykę.- LKG:
pathnie wie nic o odtwarzaniu konfiguracji Last-Known-Good. Jeśli plik jest śledzony przez LKG, następne wywołanieobservedecyduje, czy promować, czy odzyskiwać;set --batchdla atomowego wielokrotnego ustawiania przez cykl życia promote/recover LKG jest planowane wraz z warstwą bazową odzyskiwania LKG.
Bezpieczeństwo
set zapisuje surowe bajty przez ścieżkę emitowania warstwy bazowej, która automatycznie stosuje
strażnika sentinela redakcji. Liść zawierający
__OPENCLAW_REDACTED__ (dosłownie lub jako podciąg) jest odrzucany w czasie zapisu
z OC_EMIT_SENTINEL. CLI usuwa też dosłowny sentinel z każdego
wyjścia dla człowieka lub JSON, które wypisuje, zastępując go [REDACTED], aby przechwytywania
terminala i potoki nigdy nie ujawniały znacznika.