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