يكشف Gateway الخاص بـ OpenClaw عن نقطة نهاية HTTP بسيطة لاستدعاء أداة واحدة مباشرة. تكون مفعّلة دائمًا وتستخدم مصادقة Gateway بالإضافة إلى سياسة الأدوات. مثل سطحDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/v1/* المتوافق مع OpenAI، تُعامل مصادقة الحامل ذات السر المشترك كوصول مشغّل موثوق به للبوابة بالكامل.
POST /tools/invoke- المنفذ نفسه مثل Gateway (تعدد إرسال WS + HTTP):
http://<gateway-host>:<port>/tools/invoke
المصادقة
تستخدم تهيئة مصادقة Gateway. مسارات مصادقة HTTP الشائعة:- مصادقة السر المشترك (
gateway.auth.mode="token"أو"password"):Authorization: Bearer <token-or-password> - مصادقة HTTP الموثوقة الحاملة للهوية (
gateway.auth.mode="trusted-proxy"): مرّر عبر الوكيل المهيأ والمدرك للهوية ودعه يحقن ترويسات الهوية المطلوبة - مصادقة مفتوحة عبر منفذ دخول خاص (
gateway.auth.mode="none"): لا يلزم ترويسة مصادقة
- عندما تكون
gateway.auth.mode="token"، استخدمgateway.auth.token(أوOPENCLAW_GATEWAY_TOKEN). - عندما تكون
gateway.auth.mode="password"، استخدمgateway.auth.password(أوOPENCLAW_GATEWAY_PASSWORD). - عندما تكون
gateway.auth.mode="trusted-proxy"، يجب أن يأتي طلب HTTP من مصدر وكيل موثوق مهيأ؛ تتطلب وكلاء استرجاع الحلقة على المضيف نفسهgateway.auth.trustedProxy.allowLoopback = trueصراحةً. - إذا كانت
gateway.auth.rateLimitمهيأة وحدث عدد كبير جدًا من إخفاقات المصادقة، فستعيد نقطة النهاية429معRetry-After.
حد الأمان (مهم)
تعامل مع نقطة النهاية هذه كسطح وصول كامل للمشغّل لمثيل البوابة.- مصادقة حامل HTTP هنا ليست نموذج نطاق ضيقًا لكل مستخدم.
- يجب التعامل مع رمز/كلمة مرور Gateway الصالحة لنقطة النهاية هذه كاعتماد مالك/مشغّل.
- بالنسبة إلى أوضاع مصادقة السر المشترك (
tokenوpassword)، تستعيد نقطة النهاية إعدادات المشغّل الافتراضية الكاملة المعتادة حتى إذا أرسل المستدعي ترويسةx-openclaw-scopesأضيق. - تعامل مصادقة السر المشترك أيضًا استدعاءات الأدوات المباشرة على نقطة النهاية هذه كدورات مرسل مالك.
- أوضاع HTTP الموثوقة الحاملة للهوية (على سبيل المثال مصادقة الوكيل الموثوق أو
gateway.auth.mode="none"على منفذ دخول خاص) تحترمx-openclaw-scopesعند وجودها، وإلا فتعود إلى مجموعة نطاقات المشغّل الافتراضية المعتادة. - أبقِ نقطة النهاية هذه على loopback/tailnet/منفذ دخول خاص فقط؛ لا تكشفها مباشرة للإنترنت العامة.
gateway.auth.mode="token"أو"password"+Authorization: Bearer ...- يثبت امتلاك سر مشغّل البوابة المشترك
- يتجاهل
x-openclaw-scopesالأضيق - يستعيد مجموعة نطاقات المشغّل الافتراضية الكاملة:
operator.admin,operator.approvals,operator.pairing,operator.read,operator.talk.secrets,operator.write - يعامل استدعاءات الأدوات المباشرة على نقطة النهاية هذه كدورات مرسل مالك
- أوضاع HTTP الموثوقة الحاملة للهوية (على سبيل المثال مصادقة الوكيل الموثوق، أو
gateway.auth.mode="none"على منفذ دخول خاص)- تصادق هوية خارجية موثوقة أو حد نشر
- تحترم
x-openclaw-scopesعند وجود الترويسة - تعود إلى مجموعة نطاقات المشغّل الافتراضية المعتادة عند غياب الترويسة
- لا تفقد دلالات المالك إلا عندما يضيّق المستدعي النطاقات صراحةً ويحذف
operator.admin
جسم الطلب
tool(سلسلة نصية، مطلوب): اسم الأداة المراد استدعاؤها.action(سلسلة نصية، اختياري): يُعيّن ضمن الوسائط إذا كان مخطط الأداة يدعمactionوكانت حمولة الوسائط قد حذفته.args(كائن، اختياري): وسيطات خاصة بالأداة.sessionKey(سلسلة نصية، اختياري): مفتاح الجلسة الهدف. إذا حُذف أو كان"main"، يستخدم Gateway مفتاح الجلسة الرئيسي المهيأ (يحترمsession.mainKeyوالوكيل الافتراضي، أوglobalفي النطاق العام).dryRun(قيمة منطقية، اختياري): محجوز للاستخدام المستقبلي؛ يتم تجاهله حاليًا.
سلوك السياسة والتوجيه
تُرشّح إتاحة الأدوات عبر سلسلة السياسات نفسها المستخدمة بواسطة وكلاء Gateway:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- سياسات المجموعة (إذا كان مفتاح الجلسة يُطابق مجموعة أو قناة)
- سياسة الوكيل الفرعي (عند الاستدعاء باستخدام مفتاح جلسة وكيل فرعي)
- موافقات
execهي حواجز حماية للمشغّل، وليست حد تفويض منفصلًا لنقطة نهاية HTTP هذه. إذا كانت أداة قابلة للوصول هنا عبر مصادقة Gateway + سياسة الأدوات، فإن/tools/invokeلا يضيف مطالبة موافقة إضافية لكل استدعاء. - إذا كان
execقابلًا للوصول هنا، فتعامل معه كسطح صدفة مُغيّر. إن رفضwriteأوeditأوapply_patchأو أدوات كتابة نظام الملفات عبر HTTP لا يجعل تنفيذ الصدفة للقراءة فقط. - لا تشارك اعتمادات حامل Gateway مع مستدعين غير موثوقين. إذا كنت تحتاج إلى فصل عبر حدود الثقة، فشغّل بوابات منفصلة (ومن الأفضل مستخدمين/مضيفين منفصلين لنظام التشغيل).
exec- تنفيذ أوامر مباشر (سطح RCE)spawn- إنشاء عمليات فرعية عشوائية (سطح RCE)shell- تنفيذ أوامر الصدفة (سطح RCE)fs_write- تعديل ملفات عشوائي على المضيفfs_delete- حذف ملفات عشوائي على المضيفfs_move- نقل/إعادة تسمية ملفات عشوائي على المضيفapply_patch- يمكن لتطبيق التصحيحات إعادة كتابة ملفات عشوائيةsessions_spawn- تنسيق الجلسات؛ إن إنشاء وكلاء عن بُعد هو RCEsessions_send- حقن رسائل عبر الجلساتcron- مستوى تحكم أتمتة مستمرةgateway- مستوى تحكم البوابة؛ يمنع إعادة التهيئة عبر HTTPnodes- يمكن لترحيل أوامر العقد الوصول إلى system.run على المضيفين المقترنينwhatsapp_login- إعداد تفاعلي يتطلب مسح QR من الطرفية؛ يعلق على HTTP
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 } }(خطأ غير متوقع في تنفيذ الأداة؛ رسالة منقّحة)