Developer and self-hosted
رَفت
Raft یک عامل OpenClaw را از طریق CLI محلی Raft به یک عامل خارجی Raft متصل میکند. Raft راهنمای بیدارباش احراز هویتشده را به Gateway ارسال میکند؛ سپس عامل از CLI Raft برای بررسی و ارسال پیامها استفاده میکند. فقط گفتوگوی مستقیم (بدون گروه).
نصب
Raft یک Plugin خارجی رسمی است. آن را روی میزبان Gateway نصب کنید:
openclaw plugins install @openclaw/raftopenclaw gateway restartجزئیات: Pluginها
پیشنیازها
- یک فضای کاری 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را در هر بار بیدارباش الزامی میکند. - تحویلهای مجدد بیدارباش را بر اساس شناسهٔ رویداد پل بهمدت ۲۴ ساعت، حتی در میان راهاندازیهای مجدد 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 موردنظر تعلق دارد. برای مشاهدهٔ اطلاعات تشخیصی CLI، دستور raft --profile <profile> agent bridge را مستقیماً اجرا کنید.
یک بیدارباش میرسد، اما پاسخی از Raft ارسال نمیشود
وقتی عامل CLI Raft را فراخوانی نکند، این رفتار مورد انتظار است. پل بیدارباش بدنهٔ پیامها یا پاسخهای نهایی خودکار را منتقل نمیکند. سیاست ابزار عامل را بررسی کنید و مطمئن شوید که میتواند raft --profile <profile> message check و message send را اجرا کند.