Developer and self-hosted
Raft
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 بیدارباش را که فقط روی 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 موردنظر است. برای مشاهده عیبیابی CLI، raft --profile <profile> agent bridge را مستقیماً
اجرا کنید.
یک بیدارباش میرسد، اما هیچ پاسخ Raft ارسال نمیشود
وقتی عامل CLI Raft را فراخوانی نمیکند، این رفتار مورد انتظار است. پل
بیدارباش بدنه پیامها یا پاسخهای نهایی خودکار را حمل نمیکند. سیاست ابزار
عامل را بررسی کنید و مطمئن شوید که میتواند raft --profile <profile> message check و message send را اجرا کند.