Developer and self-hosted
رَفت
يربط Raft وكيل OpenClaw بوكيل Raft خارجي عبر CLI المحلي لـ Raft. يرسل Raft تلميحات تنبيه مصادَقًا عليها إلى Gateway؛ ثم يستخدم الوكيل CLI لـ Raft للتحقق من الرسائل وإرسالها. المحادثات المباشرة فقط (من دون مجموعات).
التثبيت
Raft هو Plugin خارجي رسمي. ثبّته على مضيف Gateway:
openclaw plugins install @openclaw/raftopenclaw gateway restartالتفاصيل: الإضافات
المتطلبات الأساسية
- مساحة عمل Raft تحتوي على وكيل خارجي.
- تثبيت CLI لـ Raft على المضيف نفسه الذي يشغّل Gateway الخاص بـ OpenClaw، وأن يكون متاحًا ضمن
PATHالخاص بالخدمة. - ملف تعريف في CLI لـ Raft سبق تسجيل الدخول إليه وربطه بذلك الوكيل الخارجي.
لا يخزّن Plugin بيانات اعتماد Raft؛ إذ يحتفظ CLI لـ Raft بهذه المصادقة في ملف تعريفه الخاص.
الإعداد
عيّن ملف التعريف في الإعدادات:
{ channels: { raft: { enabled: true, profile: "openclaw", }, },}بالنسبة إلى الحساب الافتراضي، يمكنك بدلًا من ذلك تعيين RAFT_PROFILE في بيئة Gateway:
RAFT_PROFILE=openclawاستخدم حسابًا مسمّى عندما يتصل Gateway واحد بأكثر من وكيل Raft خارجي:
{ channels: { raft: { accounts: { support: { profile: "support-agent", }, engineering: { profile: "engineering-agent", }, }, }, },}يسجّل الإعداد التفاعلي ملف التعريف نفسه:
openclaw channels add --channel raftآلية العمل
عند بدء تشغيل Gateway، ينفّذ Plugin ما يلي:
- يفتح نقطة نهاية HTTP للتنبيه مقتصرة على local loopback عبر منفذ مؤقت.
- يشغّل
raft --profile <profile> agent bridgeباستخدام نقطة النهاية هذه ورمز مميز خاص بكل عملية. - لا يقبل إلا تلميحات تنبيه مصادَقًا عليها وخالية من المحتوى، وتحمل هوية لمنع إعادة التشغيل، من الجسر المحلي.
- يشترط وجود أحد الحقول
eventIdأوattemptIdأوmessageIdأوdelivery_idأوwake_idأوidفي كل حمولة تنبيه. - يزيل تكرار عمليات تسليم التنبيه المعاد إرسالها استنادًا إلى معرّف حدث الجسر لمدة 24 ساعة، بما في ذلك عبر عمليات إعادة تشغيل Gateway.
- يعيد جلسة وقت تشغيل مستقرة للجسر الحالي ودفعة فارغة لتفريغ النشاط لبروتوكول CLI لـ Raft.
- يبدأ دورة واحدة متسلسلة لوكيل OpenClaw لكل تنبيه مقبول.
يتولى الجسر إعادة محاولات التسليم وإعادة الاتصال في Raft. لا تتلقى دورة OpenClaw سوى إشعار تنبيه، وليس نسخة من نص رسالة Raft. وتستخدم CLI لقراءة الرسائل المعلّقة وإرسال ردها:
raft --profile openclaw message checkraft --profile openclaw message sendالتحقق
تحقق من أن OpenClaw يستطيع العثور على CLI وأن لديه ملف تعريف مُعدًا:
openclaw channels status --probeopenclaw plugins inspect raft --runtime --jsonثم أرسل رسالة إلى وكيل Raft الخارجي. ينبغي أن يعرض سجل Gateway بدء تشغيل جسر Raft، يتبعه تنبيه وارد. وينبغي أن يستخدم الوكيل ملف تعريف Raft المُعد للتحقق من رسائله المعلّقة.
استكشاف الأخطاء وإصلاحها
CLI لـ Raft مفقود
ثبّت CLI لـ Raft على مضيف Gateway واجعل raft متاحًا ضمن PATH الخاص بالخدمة. تحقق منه باستخدام raft --help، ثم أعد تشغيل Gateway.
يُغلق الجسر فورًا
تحقق من تسجيل الدخول إلى ملف التعريف المُعد ومن أنه ينتمي إلى وكيل Raft الخارجي المقصود. شغّل raft --profile <profile> agent bridge مباشرةً للاطلاع على تشخيص CLI.
يصل تنبيه ولكن لا يُرسل رد عبر Raft
هذا متوقع عندما لا يستدعي الوكيل CLI لـ Raft. لا ينقل جسر التنبيه نصوص الرسائل أو الردود النهائية التلقائية. تحقق من سياسة أدوات الوكيل وتأكد من قدرته على تشغيل raft --profile <profile> message check وmessage send.