استدعاء الأدوات (HTTP)
تُوفّر Gateway في OpenClaw نقطة نهاية HTTP بسيطة لاستدعاء أداة واحدة مباشرة. تكون مُمكّنة دائمًا، لكنها مقيّدة بمصادقة Gateway وسياسة الأدوات.POST /tools/invoke- نفس المنفذ المستخدم لـ Gateway (تعدد WS + HTTP):
http://<gateway-host>:<port>/tools/invoke
المصادقة
تستخدم تهيئة مصادقة Gateway. أرسل رمز Bearer:Authorization: Bearer <token>
- عند
gateway.auth.mode="token"، استخدمgateway.auth.token(أوOPENCLAW_GATEWAY_TOKEN). - عند
gateway.auth.mode="password"، استخدمgateway.auth.password(أوOPENCLAW_GATEWAY_PASSWORD). - إذا تم تكوين
gateway.auth.rateLimitوحدث عدد كبير جدًا من إخفاقات المصادقة، فستُرجع نقطة النهاية429معRetry-After.
طلب الجسم
tool(string، مطلوب): اسم الأداة المراد استدعاؤها.action(string، اختياري): يُدرج في args إذا كان مخطط الأداة يدعمactionولم تتضمن حمولة args هذا الحقل.args(object، اختياري): وسائط خاصة بالأداة.sessionKey(string، اختياري): مفتاح الجلسة الهدف. إذا تم إهماله أو كان"main"، تستخدم Gateway مفتاح الجلسة الرئيسي المُهيّأ (مع احترامsession.mainKeyوالوكيل الافتراضي، أوglobalفي النطاق العام).dryRun(boolean، اختياري): محجوز للاستخدام المستقبلي؛ يتم تجاهله حاليًا.
السلوك الخاص بالسياسات والتوجيه
تُرشَّح إتاحة الأدوات عبر سلسلة السياسات نفسها المستخدمة بواسطة وكلاء Gateway:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- سياسات المجموعات (إذا كان مفتاح الجلسة يطابق مجموعة أو قناة)
- سياسة الوكيل الفرعي (عند الاستدعاء باستخدام مفتاح جلسة وكيل فرعي)
sessions_spawnsessions_sendgatewaywhatsapp_login
gateway.tools:
x-openclaw-message-channel: <channel>(مثال:slack،telegram)x-openclaw-account-id: <accountId>(عند وجود حسابات متعددة)
الاستجابات
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(طلب غير صالح أو خطأ في الأداة)401→ غير مُصرّح429→ تم تقييد المصادقة بسبب تجاوز المعدل (Retry-Afterمُعيّن)404→ الأداة غير متاحة (غير موجودة أو غير مُدرجة في قائمة السماح)405→ الطريقة غير مسموح بها500→{ ok: false, error: { type, message } }(خطأ غير متوقع أثناء تنفيذ الأداة؛ رسالة منقّحة)