oc-path المضمّن openclaw path CLI من أجل
مخطط عنونة ملفات مساحة العمل oc://. يُشحن ضمن مستودع OpenClaw تحت
extensions/oc-path/ لكنه اختياري — يتركه التثبيت/البناء خاملاً إلى أن
تفعّله.
تشير عناوين oc:// إلى ورقة واحدة (أو مجموعة أوراق بحرف بدل) داخل
ملف مساحة عمل. يفهم Plugin حالياً أربعة أنواع من الملفات:
- markdown (
.md,.mdx): frontmatter، أقسام، عناصر، حقول - jsonc (
.jsonc,.json5,.json): تُحفظ التعليقات والتنسيق - jsonl (
.jsonl,.ndjson): سجلات موجّهة بالأسطر - yaml (
.yaml,.yml,.lobster): عقد خرائط/تسلسلات/قيم مفردة عبر واجهة برمجة مستند YAML
لماذا تفعّله
فعّلoc-path عندما تريد من السكربتات أو الخطاطيف أو أدوات الوكيل المحلية أن
تشير إلى جزء دقيق من حالة مساحة العمل من دون اختراع محلّل لكل شكل ملف. يمكن
لعنوان oc:// واحد أن يسمّي مفتاح frontmatter في Markdown، أو عنصر قسم،
أو ورقة إعداد JSONC، أو حقل حدث JSONL، أو خطوة سير عمل YAML.
هذا مهم لتدفقات عمل الصيانة حيث يجب أن يكون التغيير صغيراً وقابلاً للتدقيق
وقابلاً للتكرار: افحص قيمة واحدة، وابحث عن السجلات المطابقة، ونفّذ تجربة
كتابة جافة، ثم طبّق تلك الورقة فقط مع ترك التعليقات ونهايات الأسطر والتنسيق
القريب كما هي. إبقاء هذا كـ Plugin اختياري يمنح المستخدمين المتقدمين طبقة
العنونة الأساسية من دون إدخال اعتماديات المحللات أو سطح CLI إلى النواة
للتثبيتات التي لا تحتاجه أبداً.
أسباب شائعة لتفعيله:
- الأتمتة المحلية: يمكن لسكربتات الصدفة حلّ قيمة واحدة في مساحة العمل أو
تحديثها باستخدام
openclaw path … --jsonبدلاً من حمل شيفرات منفصلة لتحليل Markdown وJSONC وJSONL وYAML. - تعديلات مرئية للوكيل: يستطيع الوكيل إظهار فرق تجربة جافة لورقة معنونة واحدة قبل الكتابة، وهذا أسهل في المراجعة من إعادة كتابة ملف حرّة الشكل.
- تكاملات المحررات: يستطيع المحرر ربط
oc://AGENTS.md/tools/ghبعقدة Markdown الدقيقة ورقم السطر من دون التخمين من نص العنوان. - التشخيصات: يعيد
emitتمرير ملف عبر المحلل والمُصدر، بحيث يمكنك التحقق مما إذا كان نوع ملف مستقرّ البايت قبل الاعتماد على التعديلات الآلية.
oc-path هو طبقة العنونة الضيقة
وعمليات الملفات الحافظة للبايت التي تستطيع تلك الأدوات الأعلى مستوى البناء
حولها.
أين يعمل
يعمل Plugin داخل العملية ضمنopenclaw CLI على المضيف الذي تستدعي منه
الأمر. لا يحتاج إلى 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 حزماً
جديدة إلى وقت تشغيل النواة:
| الاعتمادية | الغرض |
|---|---|
commander | توصيل الأوامر الفرعية لـ resolve وfind وset وvalidate وemit. |
jsonc-parser | تحليل JSONC + تعديلات الأوراق مع إبقاء التعليقات والفواصل اللاحقة. |
markdown-it | ترميز Markdown لنموذج القسم / العنصر / الحقل. |
yaml | تحليل / إصدار / تعديل Document في YAML مع إبقاء التعليقات ونمط التدفق. |
jsonc-parser.
ما الذي يوفّره
| السطح | موفّر من |
|---|---|
openclaw path CLI | 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 |
العلاقة مع Plugins أخرى
memory-*: تمر كتابات الذاكرة عبر Plugins الذاكرة، لا عبرoc-path.oc-pathطبقة أساس عامة للملفات؛ وتضيف Plugins الذاكرة دلالاتها الخاصة فوقها.- LKG: لا يعرف
pathشيئاً عن استعادة إعداد Last-Known-Good. إذا كان الملف متتبعاً بواسطة LKG، فإن استدعاءobserveالتالي يقرر هل يرقّي أو يستعيد؛ ويُخطط لـset --batchمن أجل الضبط المتعدد الذري عبر دورة حياة ترقية/استعادة LKG إلى جانب طبقة أساس استرداد LKG.
السلامة
يكتبset بايتات خاماً عبر مسار الإصدار في طبقة الأساس، والذي يطبّق حارس
مؤشر التنقيح تلقائياً. تُرفض الورقة التي تحمل __OPENCLAW_REDACTED__ (حرفياً
أو كسلسلة فرعية) وقت الكتابة مع OC_EMIT_SENTINEL. كما ينقّي CLI المؤشر
الحرفي من أي مخرجات بشرية أو JSON يطبعها، مستبدلاً إياه بـ [REDACTED] لكي
لا تسرّب لقطات الطرفية والأنابيب العلامة أبداً.