oc-path додає CLI openclaw path для схеми
адресації файлів робочої області oc://. Він постачається в репозиторії OpenClaw у
extensions/oc-path/, але є опційним — встановлення/збирання залишає його неактивним, доки ви
не ввімкнете його.
Адреси oc:// вказують на один кінцевий елемент (або wildcard-набір кінцевих елементів) усередині
файлу робочої області. Нині Plugin розуміє чотири типи файлів:
- markdown (
.md,.mdx): frontmatter, розділи, елементи, поля - jsonc (
.jsonc,.json5,.json): коментарі та форматування зберігаються - jsonl (
.jsonl,.ndjson): записи, орієнтовані на рядки - yaml (
.yaml,.yml,.lobster): вузли мап/послідовностей/скалярів через API документа YAML
Навіщо його вмикати
Увімкнітьoc-path, коли потрібно, щоб скрипти, хуки або локальні інструменти агентів вказували
на точну частину стану робочої області без вигадування парсера для кожної форми
файлу. Одна адреса oc:// може називати ключ frontmatter у markdown, елемент розділу,
кінцевий елемент конфігурації JSONC, поле події JSONL або крок workflow YAML.
Це важливо для workflow мейнтейнерів, де зміна має бути малою,
придатною до аудиту й повторюваною: перевірити одне значення, знайти відповідні записи, dry-run
запису, а потім застосувати лише цей кінцевий елемент, залишивши коментарі, закінчення рядків і
сусіднє форматування без змін. Збереження цього як опційного Plugin дає досвідченим користувачам
основу адресації без додавання залежностей парсерів або CLI-поверхні в
ядро для інсталяцій, яким це ніколи не потрібно.
Поширені причини ввімкнути його:
- Локальна автоматизація: shell-скрипти можуть розв’язувати або оновлювати одне значення робочої області
за допомогою
openclaw path … --jsonзамість того, щоб містити окремий код парсингу markdown, JSONC, JSONL і YAML. - Редагування, видимі агенту: агент може показати dry-run diff для одного адресованого кінцевого елемента перед записом, що легше переглядати, ніж вільне переписування файлу.
- Інтеграції редактора: редактор може зіставити
oc://AGENTS.md/tools/ghз точним вузлом markdown і номером рядка без здогадок за текстом заголовка. - Діагностика:
emitпропускає файл через parser і emitter в обидва боки, тож можна перевірити, чи тип файлу є byte-stable, перш ніж покладатися на автоматизовані редагування.
oc-path — це вузький
шар адресації та файлових операцій зі збереженням байтів, навколо якого ці інструменти вищого рівня
можуть будуватися.
Де він виконується
Plugin виконується в процесі всередині CLIopenclaw на хості, де ви
викликаєте команду. Йому не потрібен запущений Gateway, і він не відкриває жодних
мережевих сокетів — кожна дія є чистим перетворенням над файлом, на який ви вказуєте.
Метадані Plugin розташовані в extensions/oc-path/openclaw.plugin.json:
onStartup: false тримає Plugin поза гарячим шляхом Gateway. onCommands: ["path"] повідомляє CLI, що Plugin треба завантажувати ліниво першого разу, коли ви запускаєте
openclaw path …, тож інсталяції, які ніколи не використовують цю дію, не платять жодної вартості.
Увімкнення
openclaw path працюють одразу на тому самому хості —
CLI завантажує Plugin на вимогу.
Вимкнути можна так:
Залежності
Усі залежності парсерів є локальними для Plugin — увімкненняoc-path не додає
нові пакети до runtime ядра:
| Залежність | Призначення |
|---|---|
commander | Зв’язування підкоманд для resolve, find, set, validate, emit. |
jsonc-parser | Парсинг JSONC + редагування кінцевих елементів зі збереженням коментарів і кінцевих ком. |
markdown-it | Токенізація Markdown для моделі розділ / елемент / поле. |
yaml | Парсинг / emit / редагування Document YAML зі збереженням коментарів і flow style. |
jsonc-parser.
Що він надає
| Поверхня | Надається через |
|---|---|
CLI openclaw path | extensions/oc-path/cli-registration.ts |
Parser / formatter oc:// | extensions/oc-path/src/oc-path/oc-path.ts |
| Парсинг / emit / редагування за типами | extensions/oc-path/src/oc-path/{md,jsonc,jsonl,yaml} |
| Універсальні resolve / find / set | extensions/oc-path/src/oc-path/{resolve,find,edit}.ts |
| Захист redaction-sentinel | extensions/oc-path/src/oc-path/sentinel.ts |
Зв’язок з іншими Plugin-и
memory-*: записи пам’яті проходять через memory Plugin-и, а не черезoc-path.oc-path— це універсальна файлова основа; memory Plugin-и накладають власну семантику поверх неї.- LKG:
pathне знає про відновлення конфігурації Last-Known-Good. Якщо файл відстежується LKG, наступний викликobserveвирішує, просувати чи відновлювати;set --batchдля атомарного multi-set через життєвий цикл promote/recover LKG планується разом із основою LKG-recovery.
Безпека
set записує сирі байти через emit-шлях основи, який автоматично застосовує
захист redaction-sentinel. Кінцевий елемент, що містить
__OPENCLAW_REDACTED__ (дослівно або як підрядок), відхиляється під час запису
з OC_EMIT_SENTINEL. CLI також очищає literal sentinel з будь-якого
людського або JSON-виводу, який друкує, замінюючи його на [REDACTED], щоб terminal
captures і pipelines ніколи не витікали маркер.