Plugin guides
Plugin OC Path
Dołączony Plugin oc-path dodaje interfejs CLI openclaw path dla
schematu adresowania plików obszaru roboczego oc://. Jest dostarczany w repozytorium OpenClaw w
extensions/oc-path/, ale wymaga jawnego włączenia: po instalacji lub kompilacji pozostaje nieaktywny, dopóki go
nie włączysz.
Adresy oc:// wskazują pojedynczy element końcowy (lub zestaw elementów końcowych określony symbolem wieloznacznym) wewnątrz
pliku obszaru roboczego. Plugin obsługuje cztery rodzaje plików:
- markdown (
.md): metadane frontmatter, sekcje, elementy, pola - jsonc (
.jsonc,.json): z zachowaniem komentarzy i formatowania - jsonl (
.jsonl,.ndjson): rekordy zorientowane wierszowo - yaml (
.yaml,.yml,.lobster): węzły map, sekwencji i wartości skalarnych za pośrednictwem APIDocumentpakietuyaml
Administratorzy samodzielnie hostowanych instalacji i rozszerzenia edytorów używają CLI do odczytu lub zapisu pojedynczego elementu końcowego bez bezpośredniego tworzenia skryptów korzystających z SDK; agenci i hooki traktują go jako deterministyczną warstwę bazową, dzięki czemu operacje odczytu i ponownego zapisu zachowują wierność na poziomie bajtów, a ochrona znacznika redakcji działa jednolicie dla wszystkich rodzajów plików. Pełną gramatykę, listę flag dla poszczególnych poleceń oraz praktyczne przykłady dla każdego rodzaju pliku zawiera dokumentacja CLI; ta strona wyjaśnia, dlaczego i jak włączyć Plugin.
Dlaczego warto go włączyć
Włącz oc-path, gdy skrypty, hooki lub lokalne narzędzia agentów muszą wskazywać
dokładny fragment stanu obszaru roboczego bez osobnego parsera dla każdego formatu pliku. Jeden
adres oc:// może wskazywać klucz frontmatter Markdown, element sekcji,
wartość końcową konfiguracji JSONC, pole zdarzenia JSONL lub krok przepływu pracy YAML.
Ma to znaczenie w przepływach pracy opiekunów, w których zmiana powinna pozostać niewielka, możliwa do audytu i powtarzalna: sprawdź jedną wartość, znajdź pasujące rekordy, wykonaj próbny zapis, a następnie zastosuj zmianę tylko do tego elementu końcowego, pozostawiając bez zmian komentarze, zakończenia wierszy i pobliskie formatowanie.
Typowe powody włączenia:
- Lokalna automatyzacja: skrypty powłoki odczytują lub aktualizują jedną wartość obszaru roboczego
za pomocą
openclaw path … --json, zamiast zawierać osobny kod analizujący Markdown, JSONC, JSONL i YAML. - Edycje widoczne dla agenta: przed zapisem agent pokazuje różnicę z wykonania próbnego dla jednego zaadresowanego elementu końcowego, co łatwiej sprawdzić niż swobodne przepisanie pliku.
- Integracje z edytorami: edytor odwzorowuje
oc://AGENTS.md/tools/ghna dokładny węzeł Markdown i numer wiersza bez zgadywania na podstawie tekstu nagłówka. - Diagnostyka:
emitprzeprowadza plik przez parser i generator, dzięki czemu można sprawdzić, czy dany rodzaj pliku zachowuje identyczną reprezentację bajtową, zanim zacznie się polegać na automatycznych edycjach.
# Czy Plugin GitHub jest włączony w tej konfiguracji?openclaw path resolve 'oc://config.jsonc/plugins/github/enabled' --json # Jakie nazwy wywołań narzędzi występują w tym dzienniku sesji?openclaw path find 'oc://session.jsonl/[event=tool_call]/name' --json # Jakie bajty zapisałaby ta drobna zmiana konfiguracji?openclaw path set 'oc://config.jsonc/plugins/github/enabled' 'true' --dry-runoc-path celowo nie odpowiada za semantykę wyższego poziomu. Pluginy
pamięci nadal odpowiadają za zapisywanie pamięci, polecenia konfiguracji nadal odpowiadają za pełne zarządzanie
konfiguracją, a mechanizm odzyskiwania ostatniej znanej dobrej konfiguracji (LKG) nadal odpowiada za
przywracanie i zatwierdzanie. oc-path stanowi wąską warstwę adresowania oraz operacji na plikach z zachowaniem
bajtów, wokół której mogą działać te narzędzia wyższego poziomu.
Gdzie działa
Plugin działa wewnątrz procesu CLI openclaw na hoście, na którym
wywołujesz polecenie. Nie wymaga działającego Gateway i nie otwiera żadnych
gniazd sieciowych; każde polecenie wykonuje wyłącznie przekształcenie wskazanego pliku.
Metadane Pluginu znajdują się w extensions/oc-path/openclaw.plugin.json:
{ "id": "oc-path", "name": "OC Path", "activation": { "onStartup": false, "onCommands": ["path"] }, "commandAliases": [{ "name": "path", "kind": "cli" }]}onStartup: false wyklucza Plugin ze ścieżki uruchamiania Gateway.
commandAliases i activation.onCommands nakazują CLI leniwe załadowanie Pluginu
przy pierwszym uruchomieniu openclaw path …, dzięki czemu instalacje, które nigdy nie korzystają
z tego polecenia, nie ponoszą żadnego kosztu.
Włączanie
openclaw plugins enable oc-pathUruchom ponownie Gateway (jeśli z niego korzystasz), aby migawka manifestu uwzględniła nowy
stan. Bezpośrednie wywołania openclaw path działają natychmiast na tym samym hoście;
CLI ładuje Plugin na żądanie.
Wyłączanie:
openclaw plugins disable oc-pathZależności
Wszystkie zależności parserów są lokalne dla Pluginu; włączenie oc-path nie dodaje
nowych pakietów do podstawowego środowiska wykonawczego:
| Zależność | Przeznaczenie |
|---|---|
commander |
Obsługa podpoleceń resolve, find, set, validate, emit. |
jsonc-parser |
Analiza JSONC i edycja elementów końcowych z zachowaniem komentarzy i końcowych przecinków. |
markdown-it |
Tokenizacja Markdown na potrzeby modelu sekcji, elementów i pól. |
yaml |
Analiza, generowanie i edycja Document YAML z zachowaniem komentarzy i stylu przepływowego. |
Obsługa JSONL pozostaje napisana ręcznie: analiza wierszowa jest prostsza niż użycie jakiejkolwiek
zależności, a analiza poszczególnych wierszy i tak korzysta z jsonc-parser.
Udostępniane funkcje
| Powierzchnia | Zapewniana przez |
|---|---|
CLI openclaw path |
extensions/oc-path/cli-registration.ts |
Parser i formater oc:// |
extensions/oc-path/src/oc-path/oc-path.ts |
| Analiza, generowanie i edycja poszczególnych rodzajów | extensions/oc-path/src/oc-path/{md,jsonc,jsonl,yaml} |
| Uniwersalne odczytywanie, wyszukiwanie i ustawianie | extensions/oc-path/src/oc-path/{resolve,find,edit}.ts |
| Ochrona znacznika redakcji | extensions/oc-path/src/oc-path/sentinel.ts |
CLI jest obecnie jedynym publicznym interfejsem. Polecenia warstwy bazowej są prywatną częścią Pluginu; użytkownicy korzystają z CLI (lub tworzą własny Plugin przy użyciu SDK).
Relacje z innymi Pluginami
memory-*: zapisywanie pamięci odbywa się przez Pluginy pamięci, a nieoc-path.oc-pathjest ogólną warstwą bazową operacji na plikach; Pluginy pamięci nakładają na nią własną semantykę.- LKG:
pathnie obsługuje przywracania ostatniej znanej dobrej konfiguracji. Jeśli plik edytowany przezpathjest również śledzony przez LKG, następny cykl obserwacji konfiguracji zdecyduje, czy go zatwierdzić, czy odzyskać; traktuj edycję przezpathtak samo jak każdy inny bezpośredni zapis do tego pliku.
Bezpieczeństwo
set zapisuje surowe bajty przez ścieżkę generowania warstwy bazowej, która automatycznie stosuje
ochronę znacznika redakcji. Zapis elementu końcowego zawierającego
__OPENCLAW_REDACTED__ (dosłownie lub jako podciąg) zostaje odrzucony
z błędem OC_EMIT_SENTINEL. CLI usuwa również dosłowny znacznik ze wszystkich
wyświetlanych danych wyjściowych przeznaczonych dla człowieka lub w formacie JSON, zastępując go ciągiem [REDACTED], aby zrzuty
terminala i potoki nigdy nie ujawniły tego znacznika.