Tools
مهمة نموذج اللغة الكبير
llm-task هي أداة Plugin اختيارية مضمّنة تُجري استدعاءً واحدًا إلى LLM لا يُرجع إلا JSON، وتُعيد مخرجات منظَّمة، مع إمكانية التحقق منها اختياريًا باستخدام مخطط JSON. وتوفّر لمحركات سير العمل مثل Lobster خطوة LLM من دون الحاجة إلى كتابة شيفرة OpenClaw مخصّصة لكل سير عمل.
التفعيل
- فعّل Plugin:
{ "plugins": { "entries": { "llm-task": { "enabled": true } } }}- اسمح بالأداة:
{ "tools": { "alsoAllow": ["llm-task"] }}يضيف alsoAllow الأداة llm-task إلى ملف تعريف الأدوات النشط من دون تقييد أدوات النواة الأخرى. استخدم tools.allow بدلًا منه فقط إذا كنت تريد وضع قائمة سماح تقييدية.
الإعداد (اختياري)
{ "plugins": { "entries": { "llm-task": { "enabled": true, "config": { "defaultProvider": "openai", "defaultModel": "gpt-5.6-sol", "defaultAuthProfileId": "main", "allowedModels": ["openai/gpt-5.6-sol"], "maxTokens": 800, "timeoutMs": 30000 } } } }}allowedModels هي قائمة سماح من سلاسل provider/model؛ ويُرفض طلب أي نموذج آخر. أما جميع المفاتيح الأخرى فهي قيم احتياطية لكل استدعاء، وتُستخدم عندما لا يتضمن استدعاء الأداة ذلك المَعْلَمة.
مَعْلَمات الأداة
| المَعْلَمة | النوع | ملاحظات |
|---|---|---|
prompt |
string | مطلوبة. تعليمات المهمة الموجّهة إلى LLM. |
input |
any | حمولة اختيارية؛ تُسلسل إلى JSON وتُلحق بالموجّه. |
schema |
object | مخطط JSON اختياري يجب أن تجتاز المخرجات المحلَّلة التحقق وفقًا له. |
provider |
string | يتجاوز defaultProvider / المزوّد الافتراضي للوكيل. |
model |
string | يتجاوز defaultModel؛ ويقبل معرّفات النماذج المجرّدة أو الأسماء البديلة أو مرجعًا بصيغة provider/model (تُزال بادئة المزوّد المكررة تلقائيًا). |
thinking |
string | مستوى الاستدلال (مثل low وmedium)؛ ويجب أن يكون أحد المستويات التي يدعمها النموذج المحدد. |
authProfileId |
string | يتجاوز defaultAuthProfileId. |
temperature |
number | يُطبَّق بأفضل جهد؛ ولا تلتزم به جميع المزوّدات. |
maxTokens |
number | حدّ أقصى يُطبَّق بأفضل جهد على رموز المخرجات. |
timeoutMs |
number | مهلة التشغيل؛ القيمة الافتراضية 30000. |
المخرجات
تُعيد details.json (بيانات JSON المحلَّلة والمتحقَّق منها وفق المخطط)، إضافةً إلى details.provider وdetails.model اللذين يحددان ما تم تشغيله فعليًا.
مثال: خطوة في سير عمل Lobster
قيد مهم
يفترض المثال أدناه أن Lobster CLI المستقل يعمل في بيئة يتوفر فيها مسبقًا لـ openclaw.invoke عنوان URL الصحيح للـ Gateway وسياق المصادقة الصحيح.
بالنسبة إلى مشغّل Lobster المضمّن والمرفق داخل OpenClaw، فإن نمط CLI المتداخل هذا غير موثوق حاليًا:
openclaw.invoke --tool llm-task --action json --args-json '{ ... }'إلى أن يتوفر في Lobster المضمّن جسر مدعوم لهذا التدفق، يُفضَّل استخدام أحد الخيارين التاليين:
- استدعاءات مباشرة لأداة
llm-taskخارج Lobster، أو - خطوات Lobster لا تعتمد على استدعاءات
openclaw.invokeالمتداخلة.
مثال على Lobster CLI المستقل:
openclaw.invoke --tool llm-task --action json --args-json '{ "prompt": "Given the input email, return intent and draft.", "thinking": "low", "input": { "subject": "Hello", "body": "Can you help?" }, "schema": { "type": "object", "properties": { "intent": { "type": "string" }, "draft": { "type": "string" } }, "required": ["intent", "draft"], "additionalProperties": false }}'ملاحظات السلامة
- JSON فقط: يُوجَّه النموذج إلى إرجاع قيمة JSON فقط، من دون أسوار شيفرة أو تعليقات.
- من دون أدوات: تكون الأدوات معطّلة في التشغيل الأساسي، لذلك لا يستطيع النموذج إجراء استدعاءات خارجية في منتصف المهمة.
- تعامل مع المخرجات على أنها غير موثوقة ما لم تتحقق منها باستخدام
schema. - ضع الموافقات قبل أي خطوة ذات آثار جانبية (الإرسال أو النشر أو التنفيذ) تستهلك هذه المخرجات.