oc-path plugin’i, oc:// çalışma alanı dosyası adresleme
şeması için openclaw path CLI’sini ekler. OpenClaw deposunda
extensions/oc-path/ altında gelir ancak isteğe bağlıdır; kurulum/derleme,
siz etkinleştirene kadar onu pasif bırakır.
oc:// adresleri, bir çalışma alanı dosyasının içindeki tek bir yaprağa (veya
joker karakterli bir yaprak kümesine) işaret eder. Plugin bugün dört tür dosyayı
anlar:
- markdown (
.md,.mdx): frontmatter, bölümler, öğeler, alanlar - jsonc (
.jsonc,.json5,.json): yorumlar ve biçimlendirme korunur - jsonl (
.jsonl,.ndjson): satır odaklı kayıtlar - yaml (
.yaml,.yml,.lobster): YAML belge API’si üzerinden eşleme/dizi/skaler düğümleri
Neden etkinleştirmeli
Betiklerin, kancaların veya yerel ajan araçlarının her dosya biçimi için bir ayrıştırıcı icat etmeden çalışma alanı durumunun kesin bir parçasına işaret etmesini istediğinizdeoc-path’i etkinleştirin. Tek bir oc:// adresi bir
markdown frontmatter anahtarını, bir bölüm öğesini, bir JSONC yapılandırma
yaprağını, bir JSONL olay alanını veya bir YAML iş akışı adımını adlandırabilir.
Bu, değişikliğin küçük, denetlenebilir ve tekrarlanabilir olması gereken
bakımcı iş akışları için önemlidir: tek bir değeri inceleyin, eşleşen kayıtları
bulun, bir yazmayı dry-run ile deneyin, ardından yorumları, satır sonlarını ve
yakındaki biçimlendirmeyi olduğu gibi bırakarak yalnızca o yaprağı uygulayın.
Bunu isteğe bağlı bir Plugin olarak tutmak, hiç ihtiyaç duymayan kurulumlarda
ayrıştırıcı bağımlılıklarını veya CLI yüzeyini çekirdeğe koymadan güçlü
kullanıcılara adresleme zeminini sağlar.
Etkinleştirmenin yaygın nedenleri:
- Yerel otomasyon: kabuk betikleri, ayrı markdown, JSONC, JSONL ve YAML
ayrıştırma kodu taşımak yerine
openclaw path … --jsonile tek bir çalışma alanı değerini çözümleyebilir veya güncelleyebilir. - Ajan tarafından görülebilen düzenlemeler: bir ajan, yazmadan önce adreslenen tek bir yaprak için dry-run farkını gösterebilir; bu, serbest biçimli bir dosya yeniden yazımından daha kolay incelenir.
- Düzenleyici entegrasyonları: bir düzenleyici, başlık metninden tahmin
yürütmeden
oc://AGENTS.md/tools/ghadresini kesin markdown düğümüne ve satır numarasına eşleyebilir. - Tanılama:
emit, bir dosyayı ayrıştırıcı ve yayıcı üzerinden gidiş dönüşe sokar; böylece otomatik düzenlemelere güvenmeden önce bir dosya türünün bayt düzeyinde kararlı olup olmadığını kontrol edebilirsiniz.
oc-path, bu üst düzey araçların etrafında
kurulabileceği dar adresleme ve bayt koruyan dosya işlemi katmanıdır.
Nerede çalışır
Plugin, komutu çağırdığınız ana makinedeopenclaw CLI’sinin içinde süreç içi
olarak çalışır. Çalışan bir Gateway gerektirmez ve herhangi bir ağ soketi
açmaz; her fiil, işaret ettiğiniz bir dosya üzerinde saf bir dönüşümdür.
Plugin metaverisi extensions/oc-path/openclaw.plugin.json içinde bulunur:
onStartup: false, Plugin’i Gateway sıcak yolunun dışında tutar. onCommands: ["path"], CLI’ye openclaw path … komutunu ilk kez çalıştırdığınızda Plugin’i
tembel olarak yüklemesini söyler; böylece fiili hiç kullanmayan kurulumlar
herhangi bir maliyet ödemez.
Etkinleştir
openclaw path çağrıları aynı ana makinede hemen
çalışır; CLI, Plugin’i ihtiyaç üzerine yükler.
Şununla devre dışı bırakın:
Bağımlılıklar
Tüm ayrıştırıcı bağımlılıkları Plugin’e yereldir;oc-path’i etkinleştirmek,
çekirdek çalışma zamanına yeni paketler çekmez:
| Bağımlılık | Amaç |
|---|---|
commander | resolve, find, set, validate, emit için alt komut bağlama. |
jsonc-parser | Yorumlar ve sondaki virgüller korunarak JSONC ayrıştırma + yaprak düzenlemeleri. |
markdown-it | Bölüm / öğe / alan modeli için Markdown tokenizasyonu. |
yaml | Yorumlar ve akış stili korunarak YAML Document ayrıştırma / yayma / düzenleme. |
jsonc-parser üzerinden geçer.
Ne sağlar
| Yüzey | Sağlayan |
|---|---|
openclaw path CLI | extensions/oc-path/cli-registration.ts |
oc:// ayrıştırıcı / biçimleyici | extensions/oc-path/src/oc-path/oc-path.ts |
| Tür başına ayrıştırma / yayma / düzenleme | extensions/oc-path/src/oc-path/{md,jsonc,jsonl,yaml} |
| Evrensel resolve / find / set | extensions/oc-path/src/oc-path/{resolve,find,edit}.ts |
| Redaksiyon sentinel koruması | extensions/oc-path/src/oc-path/sentinel.ts |
Diğer plugin’lerle ilişki
memory-*: bellek yazmalarıoc-pathüzerinden değil, bellek plugin’leri üzerinden geçer.oc-pathgenel amaçlı bir dosya zeminidir; bellek plugin’leri kendi semantiklerini bunun üzerine katmanlar.- LKG:
path, Last-Known-Good yapılandırma geri yüklemesi hakkında bilgi sahibi değildir. Bir dosya LKG tarafından izleniyorsa, yükseltme mi yoksa kurtarma mı yapılacağına bir sonrakiobserveçağrısı karar verir; LKG yükseltme/kurtarma yaşam döngüsü üzerinden atomik çoklu set içinset --batch, LKG kurtarma zeminiyle birlikte planlanmaktadır.
Güvenlik
set, ham baytları zeminin yayma yolu üzerinden yazar; bu yol redaksiyon
sentinel korumasını otomatik olarak uygular. __OPENCLAW_REDACTED__ taşıyan
(verbatim veya alt dize olarak) bir yaprak, yazma zamanında OC_EMIT_SENTINEL
ile reddedilir. CLI ayrıca yazdırdığı insan veya JSON çıktılarından gerçek
sentinel değerini temizler ve onu [REDACTED] ile değiştirir; böylece terminal
kayıtları ve işlem hatları işaretçiyi asla sızdırmaz.