Plugin guides

Plugin مسیر OC

Plugin همراه oc-path، CLI مربوط به openclaw path را برای طرح آدرس‌دهی فایل‌های فضای کاری با oc:// اضافه می‌کند. این Plugin در مخزن OpenClaw و در extensions/oc-path/ ارائه می‌شود، اما استفاده از آن اختیاری است: پس از نصب/ساخت، تا زمانی که آن را فعال نکنید غیرفعال باقی می‌ماند.

آدرس‌های oc:// به یک برگ منفرد (یا مجموعه‌ای از برگ‌ها با نویسهٔ عام) درون یک فایل فضای کاری اشاره می‌کنند. این Plugin چهار نوع فایل را می‌شناسد:

  • مارک‌داون (.md): فرادادهٔ ابتدایی، بخش‌ها، موارد، فیلدها
  • JSONC (.jsonc، .json): با حفظ توضیحات و قالب‌بندی
  • JSONL (.jsonl، .ndjson): رکوردهای خط‌محور
  • YAML (.yaml، .yml، .lobster): گره‌های نگاشت/دنباله/مقدار اسکالر از طریق API مربوط به Document در بستهٔ yaml

میزبان‌های مستقل و افزونه‌های ویرایشگر از CLI استفاده می‌کنند تا یک برگ منفرد را بدون اسکریپت‌نویسی مستقیم بر پایهٔ SDK بخوانند یا بنویسند؛ عامل‌ها و هوک‌ها نیز آن را به‌عنوان بستری قطعی به کار می‌گیرند تا رفت‌وبرگشت‌های وفادار به بایت و محافظ نشانگر سانسور، به‌طور یکنواخت برای همهٔ انواع اعمال شوند. برای دستور زبان کامل، فهرست گزینه‌های هر فعل و مثال‌های عملی برای هر نوع فایل، به مرجع CLI مراجعه کنید؛ این صفحه چرایی و چگونگی فعال‌سازی این Plugin را توضیح می‌دهد.

چرا آن را فعال کنیم

زمانی oc-path را فعال کنید که اسکریپت‌ها، هوک‌ها یا ابزارهای محلی عامل باید بدون یک تجزیه‌گر اختصاصی برای هر ساختار فایل، به بخش دقیقی از وضعیت فضای کاری اشاره کنند. یک آدرس oc:// می‌تواند کلید فرادادهٔ ابتدایی مارک‌داون، یک مورد از بخش، یک برگ پیکربندی JSONC، فیلد رویداد JSONL یا گامی از گردش کار YAML را مشخص کند.

این قابلیت برای گردش‌کارهای نگه‌داری اهمیت دارد که در آن‌ها تغییر باید کوچک، قابل ممیزی و تکرارپذیر باقی بماند: یک مقدار را بررسی کنید، رکوردهای منطبق را بیابید، اجرای آزمایشی نوشتن را انجام دهید و سپس فقط همان برگ را اعمال کنید، بی‌آنکه توضیحات، پایان خطوط و قالب‌بندی مجاور تغییر کنند.

دلایل رایج برای فعال‌سازی آن:

  • خودکارسازی محلی: اسکریپت‌های پوسته با openclaw path … --json یک مقدار فضای کاری را واکشی یا به‌روزرسانی می‌کنند، به‌جای آنکه کدهای تجزیهٔ جداگانه‌ای برای مارک‌داون، JSONC، JSONL و YAML داشته باشند.
  • ویرایش‌های قابل مشاهده برای عامل: عامل پیش از نوشتن، تفاوت اجرای آزمایشی یک برگ آدرس‌دهی‌شده را نمایش می‌دهد که بررسی آن از بازنویسی آزادانهٔ فایل آسان‌تر است.
  • یکپارچه‌سازی با ویرایشگر: ویرایشگر oc://AGENTS.md/tools/gh را بدون حدس‌زدن بر اساس متن عنوان، به گره و شماره‌خط دقیق مارک‌داون نگاشت می‌کند.
  • عیب‌یابی: 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 توکن‌سازی مارک‌داون برای مدل بخش / مورد / فیلد.
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