Lobster
Lobster هو غلاف لسير العمل يتيح لـ OpenClaw تشغيل تسلسلات أدوات متعددة الخطوات كعملية واحدة حتمية مع نقاط تحقق موافقة صريحة.Hook
يمكن لمساعدك بناء الأدوات التي تُدير نفسها. اطلب سير عمل، وبعد 30 دقيقة ستحصل على CLI بالإضافة إلى خطوط أنابيب تعمل كاستدعاء واحد. Lobster هو القطعة المفقودة: خطوط أنابيب حتمية، موافقات صريحة، وحالة قابلة للاستئناف.لماذا
اليوم، تتطلب سير العمل المعقّدة العديد من استدعاءات الأدوات ذهابًا وإيابًا. كل استدعاء يكلّف رموزًا، ويتعيّن على نموذج اللغة الكبير تنسيق كل خطوة. ينقل Lobster هذا التنسيق إلى بيئة تشغيل مُنَمَّطة:- استدعاء واحد بدلًا من عدة: يشغّل OpenClaw استدعاء أداة Lobster واحدًا ويحصل على نتيجة مُنظَّمة.
- موافقات مدمجة: التأثيرات الجانبية (إرسال بريد إلكتروني، نشر تعليق) تُوقِف سير العمل حتى تتم الموافقة عليها صراحةً.
- قابل للاستئناف: تُعيد سير العمل المتوقفة رمزًا؛ وافق واستأنف دون إعادة تشغيل كل شيء.
لماذا نستخدم DSL بدلاً من البرامج التقليدية؟
Lobster صغير عمدًا. الهدف ليس «لغة جديدة»، بل مواصفة خطوط أنابيب متوقّعة وصديقة للذكاء الاصطناعي مع موافقات ورموز استئناف من الدرجة الأولى.- الموافقة/الاستئناف مدمجان: يمكن لبرنامج عادي مطالبة إنسان، لكنه لا يستطيع الإيقاف والاستئناف برمز دائم دون ابتكار بيئة التشغيل بنفسك.
- الحتمية + قابلية التدقيق: خطوط الأنابيب بيانات، لذا يسهل تسجيلها، ومقارنتها، وإعادة تشغيلها، ومراجعتها.
- سطح مُقيَّد للذكاء الاصطناعي: نحو صغير + تمرير JSON يقلّل المسارات «الإبداعية» ويجعل التحقق واقعيًا.
- سياسة السلامة مدمجة: تُفرَض المهلات، وحدود المخرجات، وفحوص sandbox، وقوائم السماح بواسطة بيئة التشغيل، لا كل نص برمجي.
- لا يزال قابلًا للبرمجة: يمكن لكل خطوة استدعاء أي CLI أو نص برمجي. إذا أردت JS/TS، فأنشئ ملفات
.lobsterمن الشيفرة.
كيف يعمل
يشغّل OpenClaw واجهةlobster CLI المحلية في وضع الأداة ويحلّل غلاف JSON من stdout.
إذا توقّف خط الأنابيب للموافقة، تُعيد الأداة resumeToken لتتمكّن من المتابعة لاحقًا.
نمط: CLI صغير + أنابيب JSON + موافقات
ابنِ أوامر صغيرة تتحدث JSON، ثم اربطها في استدعاء Lobster واحد. (أسماء الأوامر أدناه أمثلة — استبدلها بأوامرك.)خطوات LLM بصيغة JSON فقط (llm-task)
لسير العمل التي تحتاج خطوة LLM مُنظَّمة، فعِّل الأداة الإضافية الاختياريةllm-task واستدعِها من Lobster. يحافظ ذلك على حتمية سير العمل مع السماح بالتصنيف/التلخيص/الصياغة باستخدام نموذج.
فعِّل الأداة:
ملفات سير العمل (.lobster)
يمكن لـ Lobster تشغيل ملفات سير عمل YAML/JSON مع الحقولname وargs وsteps وenv وcondition وapproval. في استدعاءات أداة OpenClaw، اضبط pipeline على مسار الملف.
- تمرّر
stdin: $step.stdoutوstdin: $step.jsonمخرجات خطوة سابقة. - يمكن لـ
condition(أوwhen) تقييد الخطوات بناءً على$step.approved.
Install Lobster
ثبّت واجهة Lobster CLI على المضيف نفسه الذي يشغّل OpenClaw Gateway (انظر مستودع Lobster)، وتأكد من أنlobster موجود على PATH.
إذا أردت استخدام موقع ثنائي مخصّص، فمرِّر lobsterPath مطلقًا في استدعاء الأداة.
Enable the tool
Lobster أداة إضافة اختيارية (غير مفعّلة افتراضيًا). موصى به (إضافي وآمن):tools.allow: ["lobster"] ما لم تكن تنوي التشغيل في وضع قائمة السماح المقيِّد.
ملاحظة: قوائم السماح اختيارية لأدوات الإضافات. إذا كانت قائمة السماح لديك تُسمّي
أدوات الإضافات فقط (مثل lobster)، فسيُبقي OpenClaw الأدوات الأساسية مفعّلة. لتقييد الأدوات الأساسية،
ضمّن الأدوات أو المجموعات الأساسية التي تريدها في قائمة السماح أيضًا.
Example: Email triage
من دون Lobster:Tool parameters
run
تشغيل خط أنابيب في وضع الأداة.
resume
متابعة سير عمل متوقف بعد الموافقة.
Optional inputs
lobsterPath: مسار مطلق لثنائي Lobster (تجاهله لاستخدامPATH).cwd: دليل العمل لخط الأنابيب (الافتراضي: دليل العمل للعملية الحالية).timeoutMs: إنهاء العملية الفرعية إذا تجاوزت هذه المدة (الافتراضي: 20000).maxStdoutBytes: إنهاء العملية الفرعية إذا تجاوز stdout هذا الحجم (الافتراضي: 512000).argsJson: سلسلة JSON تُمرَّر إلىlobster run --args-json(ملفات سير العمل فقط).
Output envelope
يُعيد Lobster غلاف JSON بإحدى الحالات الثلاث:ok→ اكتمل بنجاحneeds_approval→ متوقف؛ مطلوبrequiresApproval.resumeTokenللاستئنافcancelled→ مرفوض أو مُلغى صراحةً
content (JSON منسّق) وdetails (كائن خام).
Approvals
إذا كانrequiresApproval موجودًا، افحص المطالبة وقرّر:
approve: true→ الاستئناف ومتابعة التأثيرات الجانبيةapprove: false→ الإلغاء وإنهاء سير العمل
approve --preview-from-stdin --limit N لإرفاق معاينة JSON بطلبات الموافقة دون لواصق jq/heredoc مخصّصة. أصبحت رموز الاستئناف الآن مدمجة: يخزّن Lobster حالة استئناف سير العمل ضمن دليل الحالة الخاص به ويعيد مفتاح رمز صغيرًا.
OpenProse
يتكامل OpenProse جيدًا مع Lobster: استخدم/prose لتنسيق التحضير متعدد الوكلاء، ثم شغّل خط أنابيب Lobster لموافقات حتمية. إذا احتاج برنامج Prose إلى Lobster، فاسمح بأداة lobster للوكلاء الفرعيين عبر tools.subagents.tools. انظر OpenProse.
Safety
- عمليات فرعية محلية فقط — لا توجد استدعاءات شبكة من الأداة الإضافية نفسها.
- لا أسرار — لا يدير Lobster OAuth؛ بل يستدعي أدوات OpenClaw التي تفعل ذلك.
- مدرك لـ sandbox — مُعطّل عندما يكون سياق الأداة داخل sandbox.
- مُحصَّن — يجب أن يكون
lobsterPathمطلقًا إذا تم تحديده؛ وتُفرض المهلات وحدود المخرجات.
Troubleshooting
lobster subprocess timed out→ زِدtimeoutMs، أو قسّم خط أنابيب طويل.lobster output exceeded maxStdoutBytes→ ارفعmaxStdoutBytesأو قلّل حجم المخرجات.lobster returned invalid JSON→ تأكد من تشغيل خط الأنابيب في وضع الأداة وأنه يطبع JSON فقط.lobster failed (code …)→ شغّل خط الأنابيب نفسه في طرفية لفحص stderr.
Learn more
Case study: community workflows
مثال عام واحد: CLI لـ «الدماغ الثاني» + خطوط أنابيب Lobster تُدير ثلاثة مخازن Markdown (شخصي، شريك، مشترك). يُخرج CLI JSON للإحصاءات، وقوائم البريد الوارد، وعمليات فحص التقادم؛ ويقوم Lobster بربط تلك الأوامر في سير عمل مثلweekly-review وinbox-triage وmemory-consolidation وshared-task-sync، وكلٌّ منها مع بوابات موافقة. يتولى الذكاء الاصطناعي الحكم (التصنيف) عند توفره، ويعود إلى قواعد حتمية عند عدم توفره.