Plugin guides
Plugin مسیر OC
Plugin همراه oc-path، CLI openclaw path را برای طرح آدرسدهی فایلهای فضای کاری
oc:// اضافه میکند. این Plugin در مخزن OpenClaw زیر مسیر
extensions/oc-path/ ارائه میشود، اما استفاده از آن اختیاری است: پس از نصب/ساخت، تا زمانی که آن را
فعال نکنید، غیرفعال میماند.
آدرسهای oc:// به یک برگ منفرد (یا مجموعهای از برگها با نویسهٔ عام) درون
یک فایل فضای کاری اشاره میکنند. این Plugin چهار نوع فایل را میشناسد:
- markdown (
.md): فرانتمتر، بخشها، آیتمها، فیلدها - jsonc (
.jsonc،.json): دیدگاهها و قالببندی حفظ میشوند - jsonl (
.jsonl،.ndjson): رکوردهای خطمحور - yaml (
.yaml،.yml،.lobster): گرههای نگاشت/دنباله/اسکالر از طریق API Documentبستهٔyaml
میزبانهای شخصی و افزونههای ویرایشگر از CLI برای خواندن یا نوشتن یک برگ منفرد بدون اسکریپتنویسی مستقیم با SDK استفاده میکنند؛ عاملها و هوکها نیز آن را بستری قطعی در نظر میگیرند تا رفتوبرگشتهای با وفاداری بایتی و محافظ نگهبان حذف اطلاعات بهطور یکنواخت بر همهٔ انواع اعمال شوند. برای دستور زبان کامل، فهرست پرچمهای هر فعل و نمونههای عملی برای هر نوع فایل، به مرجع CLI مراجعه کنید؛ این صفحه دلیل و روش فعالکردن Plugin را پوشش میدهد.
چرا باید آن را فعال کرد
هنگامی oc-path را فعال کنید که اسکریپتها، هوکها یا ابزارهای عامل محلی باید بدون
تجزیهگر اختصاصی برای هر شکل فایل، به بخش دقیقی از وضعیت فضای کاری اشاره کنند. یک
آدرس oc:// میتواند کلید فرانتمتر markdown، آیتم یک بخش،
برگ پیکربندی JSONC، فیلد رویداد JSONL یا گام گردشکار YAML را نامگذاری کند.
این قابلیت برای گردشکارهای نگهدارندگان اهمیت دارد که در آنها تغییر باید کوچک، قابلممیزی و تکرارپذیر باقی بماند: یک مقدار را بررسی کنید، رکوردهای منطبق را بیابید، نوشتن را بهصورت آزمایشی اجرا کنید و سپس فقط همان برگ را اعمال کنید، بیآنکه دیدگاهها، پایان خطها و قالببندی مجاور تغییر کنند.
دلایل رایج برای فعالکردن آن:
- خودکارسازی محلی: اسکریپتهای پوسته با استفاده از
openclaw path … --jsonیک مقدار فضای کاری را برطرف یا بهروزرسانی میکنند، بهجای آنکه کدهای تجزیهٔ جداگانه برای markdown، JSONC، JSONL و YAML داشته باشند. - ویرایشهای قابلمشاهده برای عامل: عامل پیش از نوشتن، تفاوت اجرای آزمایشی را برای یک برگ آدرسدهیشده نمایش میدهد که بازبینی آن از بازنویسی آزادانهٔ فایل آسانتر است.
- یکپارچهسازی با ویرایشگر: ویرایشگر
oc://AGENTS.md/tools/ghرا بدون حدسزدن از متن عنوان، به گره دقیق markdown و شمارهٔ خط نگاشت میکند. - عیبیابی:
emitفایل را از تجزیهگر و منتشرکننده عبور داده و رفتوبرگشت میدهد، بنابراین پیش از اتکا به ویرایشهای خودکار میتوان بررسی کرد که آیا نوع فایل از نظر بایتی پایدار است یا خیر.
# آیا Plugin مربوط به GitHub در این پیکربندی فعال است؟openclaw path resolve 'oc://config.jsonc/plugins/github/enabled' --json # کدام نامهای فراخوانی ابزار در گزارش این نشست ظاهر میشوند؟openclaw path find 'oc://session.jsonl/[event=tool_call]/name' --json # این ویرایش کوچک پیکربندی چه بایتهایی مینویسد؟openclaw path set 'oc://config.jsonc/plugins/github/enabled' 'true' --dry-runoc-path عمداً مالک معناشناسی سطح بالاتر نیست. Pluginهای حافظه
همچنان مالک نوشتن در حافظهاند، فرمانهای پیکربندی همچنان مالک مدیریت کامل پیکربندیاند
و بازیابی پیکربندی آخرین وضعیت سالم (LKG) همچنان مالک
بازیابی/ارتقا است. oc-path لایهٔ محدود آدرسدهی و عملیات فایل با حفظ بایت است
که آن ابزارهای سطح بالاتر میتوانند پیرامونش ساخته شوند.
محل اجرا
این Plugin درونفرایندی داخل CLI openclaw و روی میزبانی اجرا میشود که
فرمان را در آن فراخوانی میکنید. به Gateway در حال اجرا نیاز ندارد و هیچ
سوکت شبکهای باز نمیکند؛ هر فعل صرفاً تبدیلی روی فایلی است که به آن اشاره میکنید.
فرادادهٔ Plugin در extensions/oc-path/openclaw.plugin.json قرار دارد:
{ "id": "oc-path", "name": "OC Path", "activation": { "onStartup": false, "onCommands": ["path"] }, "commandAliases": [{ "name": "path", "kind": "cli" }]}onStartup: false این Plugin را از مسیر راهاندازی Gateway خارج نگه میدارد.
commandAliases و activation.onCommands به CLI میگویند نخستین بار که openclaw path … را اجرا میکنید،
Plugin را بهصورت تنبل بارگذاری کند؛ بنابراین نصبهایی که هرگز از
این فعل استفاده نمیکنند، هزینهای نمیپردازند.
فعالکردن
openclaw plugins enable oc-pathGateway را (اگر اجرا میکنید) راهاندازی مجدد کنید تا تصویر لحظهای مانیفست وضعیت جدید را
دریافت کند. فراخوانیهای مستقل openclaw path روی همان میزبان بلافاصله کار میکنند؛
CLI در صورت نیاز Plugin را بارگذاری میکند.
برای غیرفعالکردن:
openclaw plugins disable oc-pathوابستگیها
همهٔ وابستگیهای تجزیهگر مختص Plugin هستند؛ فعالکردن oc-path بستههای
جدیدی را وارد زماناجرای هسته نمیکند:
| وابستگی | هدف |
|---|---|
commander |
سیمکشی زیرفرمانهای resolve، find، set، validate و emit. |
jsonc-parser |
تجزیهٔ JSONC و ویرایش برگها با حفظ دیدگاهها و ویرگولهای انتهایی. |
markdown-it |
توکنسازی Markdown برای مدل بخش / آیتم / فیلد. |
yaml |
تجزیه / انتشار / ویرایش Document در YAML با حفظ دیدگاهها و سبک جریان. |
JSONL همچنان بهصورت دستی پیادهسازی شده است: تجزیهٔ خطمحور از هر
وابستگی سادهتر است و تجزیهٔ هر خط از پیش از jsonc-parser عبور میکند.
امکانات ارائهشده
| سطح | ارائهشده توسط |
|---|---|
CLI openclaw path |
extensions/oc-path/cli-registration.ts |
تجزیهگر / قالببند oc:// |
extensions/oc-path/src/oc-path/oc-path.ts |
| تجزیه / انتشار / ویرایش برای هر نوع | extensions/oc-path/src/oc-path/{md,jsonc,jsonl,yaml} |
| برطرفسازی / یافتن / تنظیم همگانی | extensions/oc-path/src/oc-path/{resolve,find,edit}.ts |
| محافظ نگهبان حذف اطلاعات | extensions/oc-path/src/oc-path/sentinel.ts |
در حال حاضر CLI تنها سطح عمومی است. افعال بستر، خصوصی و مختص Plugin هستند؛ مصرفکنندگان از CLI استفاده میکنند (یا Plugin خود را با SDK میسازند).
ارتباط با Pluginهای دیگر
memory-*: نوشتن در حافظه از طریق Pluginهای حافظه انجام میشود، نهoc-path. oc-pathیک بستر فایل عمومی است؛ Pluginهای حافظه معناشناسی خود را روی آن قرار میدهند.- LKG:
pathدربارهٔ بازیابی پیکربندی آخرین وضعیت سالم اطلاعی ندارد. اگر فایلی که از طریقpathویرایش میکنید تحت پیگیری LKG نیز باشد، چرخهٔ بعدی مشاهدهٔ پیکربندی تصمیم میگیرد که آن را ارتقا دهد یا بازیابی کند؛ ویرایشpathرا مانند هر نوشتن مستقیم دیگری در آن فایل در نظر بگیرید.
ایمنی
set بایتهای خام را از طریق مسیر انتشار بستر مینویسد که محافظ نگهبان
حذف اطلاعات را بهطور خودکار اعمال میکند. برگی که شامل
__OPENCLAW_REDACTED__ باشد (عیناً یا بهصورت زیررشته)، هنگام نوشتن
با OC_EMIT_SENTINEL رد میشود. CLI همچنین نگهبان تحتاللفظی را از هر
خروجی انسانی یا JSON که چاپ میکند پاک کرده و آن را با [REDACTED] جایگزین میکند تا
ثبتهای ترمینال و پایپلاینها هرگز نشانگر را فاش نکنند.