Skip to main content
يشغّل Lobster مسارات أدوات متعددة الخطوات بوصفها استدعاء أداة واحدًا حتميًا، مع نقاط تحقق صريحة للموافقة ورموز استئناف. ويعمل في طبقة أعلى من العمل المنفصل في الخلفية: لتنسيق التدفقات عبر العديد من المهام المنفصلة، راجع تدفق المهام (openclaw tasks flow)؛ ولسجل نشاط المهام، راجع مهام الخلفية.

لماذا

من دون Lobster، تتطلب المهمة متعددة الخطوات العديد من استدعاءات الأدوات ذهابًا وإيابًا، مع تولّي النموذج تنسيق كل خطوة. ينقل Lobster هذا التنسيق إلى بيئة تشغيل محددة الأنواع:
  • استدعاء واحد بدلًا من عدة استدعاءات: يعيد استدعاء أداة Lobster واحد نتيجة منظّمة للمسار بأكمله.
  • الموافقات مضمّنة: توقف الآثار الجانبية (الإرسال، النشر، الحذف) سير العمل حتى تتم الموافقة عليها صراحةً.
  • قابل للاستئناف: يعيد سير العمل المتوقف رمزًا؛ وافق واستأنف من دون إعادة تشغيل الخطوات السابقة.
Lobster لغة DSL صغيرة ومقيّدة وليست لغة برمجة نصية عامة: الموافقة/الاستئناف آلية أساسية دائمة ومدمجة؛ والمسارات بيانات (يسهل تسجيلها، ومقارنة اختلافاتها، وإعادة تشغيلها، ومراجعتها)؛ وتحد القواعد النحوية الصغيرة مسارات الشيفرة «الإبداعية» كي يظل التحقق واقعيًا؛ وتفرض بيئة التشغيل المهل الزمنية، وحدود المخرجات، وفحوصات صندوق العزل، وقوائم السماح، بدلًا من أن يفرضها كل برنامج نصي. ومع ذلك، يمكن لكل خطوة استدعاء أي CLI أو برنامج نصي — أنشئ ملفات .lobster من أدوات أخرى إذا كنت تريد لغة تأليف أكثر ثراءً. من دون Lobster، تبدو عملية الفرز المتكررة للبريد الإلكتروني كما يلي:
باستخدام Lobster، تصبح المهمة نفسها استدعاءً واحدًا يتوقف للموافقة ثم يُستأنف:

كيفية عمله

يشغّل OpenClaw مسارات عمل Lobster داخل العملية باستخدام حزمة @clawdbot/lobster المضمّنة بوصفها مشغّلًا مضمّنًا. لا تُنشأ عملية فرعية خارجية لـ lobster؛ بل يعيد استدعاء الأداة غلاف JSON مباشرةً. إذا توقف المسار للموافقة، يحمل الغلاف رمز استئناف (أو معرّف موافقة قصيرًا) حتى تتمكن من المتابعة لاحقًا.

التفعيل

Lobster أداة Plugin اختيارية، ولا تكون مفعّلة افتراضيًا. وهي تأتي مضمّنة، لذلك لا يلزم إجراء تثبيت منفصل — ما عليك سوى السماح بالأداة:
أو لكل وكيل:
تضيف alsoAllow الأداة lobster فوق ملف تعريف الأدوات النشط من دون تقييد أدوات النواة الأخرى. استخدم tools.allow فقط إذا كنت تريد وضع قائمة سماح مقيّدة بدلًا من ذلك.
تُعطّل الأداة بالكامل في سياقات الأدوات المعزولة. إذا كنت تحتاج إلى CLI المستقل لـ Lobster لأغراض التطوير أو المسارات الخارجية (خارج مشغّل Gateway المضمّن)، فثبّته من مستودع Lobster وضع lobster ضمن PATH.

النمط: CLI صغير + أنابيب JSON + موافقات

أنشئ أوامر صغيرة تتعامل باستخدام JSON، ثم اربطها في استدعاء Lobster واحد. (أسماء الأوامر أدناه أمثلة — استبدلها بأوامرك.)
إذا طلب المسار موافقة، فاستأنفه باستخدام الرمز:
مثال: تحويل عناصر الإدخال إلى استدعاءات أدوات:

خطوات LLM باستخدام JSON فقط (llm-task)

لإضافة خطوة LLM منظّمة داخل سير عمل، فعّل أداة Plugin الاختيارية llm-task واستدعها من Lobster:

قيد مهم: Lobster المضمّن مقابل openclaw.invoke

يشغّل Plugin المضمّن لـ Lobster مسارات العمل داخل العملية ضمن Gateway. في هذا الوضع المضمّن، لا يرث openclaw.invoke تلقائيًا سياق عنوان URL لـ Gateway/المصادقة لاستدعاءات أدوات CLI المتداخلة في OpenClaw. يعني ذلك أن هذا النمط غير موثوق حاليًا في المشغّل المضمّن:
استخدم المثال أدناه فقط عند تشغيل CLI المستقل لـ Lobster في بيئة يكون فيها openclaw.invoke مهيّأ بالفعل باستخدام سياق Gateway/المصادقة الصحيح.
إذا كنت تستخدم Plugin المضمّن لـ Lobster حاليًا، ففضّل أحد الخيارين:
  • استدعاء أداة llm-task مباشرةً خارج Lobster، أو
  • استخدام خطوات لا تعتمد على openclaw.invoke داخل مسار Lobster حتى تُضاف وصلة مضمّنة مدعومة.
راجع مهمة LLM للاطلاع على التفاصيل وخيارات الإعداد.

ملفات سير العمل (.lobster)

يمكن لـ Lobster تشغيل ملفات سير عمل YAML/JSON تحتوي على الحقول name وargs وsteps وenv وcondition وapproval. اضبط pipeline على مسار الملف في استدعاء الأداة.
ملاحظات:
  • يمرّر stdin: $step.stdout وstdin: $step.json مخرجات خطوة سابقة.
  • يمكن لـ condition (أو when) التحكم في تشغيل الخطوات استنادًا إلى $step.approved.

معاملات الأداة

run

تشغيل ملف سير عمل مع وسائط:

resume

يقبل resume إما token (رمز الاستئناف الكامل من requiresApproval) أو approvalId (المعرّف القصير من الكائن نفسه) — استخدم ما أعاده التشغيل المتوقف. المعامل approve مطلوب.

وضع تدفق المهام المُدار

يؤدي تمرير flowControllerId وflowGoal مع run (أو flowId و flowExpectedRevision مع resume) إلى توجيه الاستدعاء عبر واجهة API المُدارة لـ تدفق المهام في بيئة تشغيل Plugin بدلًا من إعادة غلاف مجرد: ينشئ OpenClaw سجل تدفق دائمًا أو يستأنفه، ويطبّق غلاف Lobster عليه (waiting عند انتظار الموافقة، وsucceeded/failed عند الاكتمال)، ويعيد { ok, envelope, flow, mutation }. يتطلب هذا الوضع بيئة تشغيل مرتبطة لتدفق المهام، وهو مخصص لشيفرة Plugin/وحدة التحكم التي تحتاج إلى حالة تدفق دائمة عبر عمليات إعادة تشغيل Gateway، وليس للاستخدام العرضي المعتاد من الوكلاء.

غلاف المخرجات

يعيد Lobster غلاف JSON بإحدى ثلاث حالات:
  • ok — اكتمل بنجاح
  • needs_approval — متوقف مؤقتًا؛ يحمل requiresApproval رمز resumeToken و معرّف approvalId قصيرًا، ويمكن استخدام أي منهما لاستئناف التشغيل
  • cancelled — رُفض أو أُلغي صراحةً
تعرض الأداة الغلاف في كل من content (JSON منسّق) وdetails (الكائن الخام).

الموافقات

إذا كان requiresApproval موجودًا، فافحص الموجّه وقرّر:
  • approve: true — الاستئناف ومتابعة الآثار الجانبية
  • approve: false — الإلغاء وإنهاء سير العمل
استخدم approve --preview-from-stdin --limit N لإرفاق معاينة JSON بطلبات الموافقة من دون شيفرة jq/heredoc مخصصة. تُخزّن حالة الاستئناف في ملفات JSON صغيرة ضمن دليل حالة Lobster (~/.lobster/state افتراضيًا، ويمكن تجاوزه باستخدام LOBSTER_STATE_DIR)؛ ولا يشفّر الرمز نفسه سوى مؤشر إلى تلك الحالة، وليس حالة المسار كاملةً.

OpenProse

يتكامل OpenProse جيدًا مع Lobster: استخدم /prose لتنسيق التحضير متعدد الوكلاء، ثم شغّل مسار Lobster للحصول على موافقات حتمية. إذا احتاج برنامج Prose إلى Lobster، فاسمح بأداة lobster للوكلاء الفرعيين عبر tools.subagents.tools. راجع OpenProse.

السلامة

  • محلي وداخل العملية فقط — تُنفّذ مسارات العمل داخل عملية Gateway؛ ولا يُجري Plugin نفسه أي استدعاءات شبكة.
  • من دون أسرار — لا يدير Lobster بروتوكول OAuth؛ بل يستدعي أدوات OpenClaw التي تتولى ذلك.
  • مدرك لصندوق العزل — يُعطّل عندما يكون سياق الأداة معزولًا.
  • محصّن — يفرض المشغّل المضمّن المهل الزمنية وحدود المخرجات.

استكشاف الأخطاء وإصلاحها

معرفة المزيد

دراسة حالة: مسارات عمل المجتمع

مثال عام: CLI لـ«دماغ ثانٍ» مع مسارات Lobster تدير ثلاثة مستودعات Markdown (شخصي، وللشريك، ومشترك). يُخرج CLI بيانات JSON للإحصاءات، وقوائم صندوق الوارد، وعمليات البحث عن العناصر القديمة؛ ويربط Lobster هذه الأوامر في تدفقات عمل مثل weekly-review وinbox-triage وmemory-consolidation وshared-task-sync، ولكل منها بوابات موافقة. يتولى الذكاء الاصطناعي اتخاذ القرارات (التصنيف) عند توفره، ويعود إلى قواعد حتمية عند عدم توفره.

ذو صلة