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 فایل را از تجزیه‌گر و منتشرکننده عبور داده و رفت‌وبرگشت می‌دهد، بنابراین پیش از اتکا به ویرایش‌های خودکار می‌توان بررسی کرد که آیا نوع فایل از نظر بایتی پایدار است یا خیر.
bash
# آیا 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-run

oc-path عمداً مالک معناشناسی سطح بالاتر نیست. Pluginهای حافظه همچنان مالک نوشتن در حافظه‌اند، فرمان‌های پیکربندی همچنان مالک مدیریت کامل پیکربندی‌اند و بازیابی پیکربندی آخرین وضعیت سالم (LKG) همچنان مالک بازیابی/ارتقا است. oc-path لایهٔ محدود آدرس‌دهی و عملیات فایل با حفظ بایت است که آن ابزارهای سطح بالاتر می‌توانند پیرامونش ساخته شوند.

محل اجرا

این Plugin درون‌فرایندی داخل CLI ‏openclaw و روی میزبانی اجرا می‌شود که فرمان را در آن فراخوانی می‌کنید. به Gateway در حال اجرا نیاز ندارد و هیچ سوکت شبکه‌ای باز نمی‌کند؛ هر فعل صرفاً تبدیلی روی فایلی است که به آن اشاره می‌کنید.

فرادادهٔ Plugin در extensions/oc-path/openclaw.plugin.json قرار دارد:

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 را به‌صورت تنبل بارگذاری کند؛ بنابراین نصب‌هایی که هرگز از این فعل استفاده نمی‌کنند، هزینه‌ای نمی‌پردازند.

فعال‌کردن

bash
openclaw plugins enable oc-path

Gateway را (اگر اجرا می‌کنید) راه‌اندازی مجدد کنید تا تصویر لحظه‌ای مانیفست وضعیت جدید را دریافت کند. فراخوانی‌های مستقل openclaw path روی همان میزبان بلافاصله کار می‌کنند؛ CLI در صورت نیاز Plugin را بارگذاری می‌کند.

برای غیرفعال‌کردن:

bash
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] جایگزین می‌کند تا ثبت‌های ترمینال و پایپ‌لاین‌ها هرگز نشانگر را فاش نکنند.

مرتبط

Was this useful?
On this page

On this page