Developer and self-hosted
แพลอยน้ำ
Raft เชื่อมต่อเอเจนต์ OpenClaw กับ Raft External Agent ผ่าน Raft CLI ภายในเครื่อง Raft ส่งสัญญาณปลุกที่ผ่านการยืนยันตัวตนไปยัง Gateway จากนั้นเอเจนต์จะ ใช้ Raft CLI เพื่อตรวจสอบและส่งข้อความ รองรับเฉพาะแชตโดยตรง (ไม่รองรับกลุ่ม)
การติดตั้ง
Raft เป็น Plugin ภายนอกอย่างเป็นทางการ ติดตั้งบนโฮสต์ Gateway:
openclaw plugins install @openclaw/raftopenclaw gateway restartรายละเอียด: Plugin
ข้อกำหนดเบื้องต้น
- พื้นที่ทำงาน Raft ที่มี External Agent
- ติดตั้ง Raft CLI บนโฮสต์เดียวกับ Gateway ของ OpenClaw และอยู่ใน
PATHของบริการ - โปรไฟล์ Raft CLI ที่ลงชื่อเข้าใช้แล้วและเชื่อมโยงกับ External Agent นั้น
Plugin ไม่จัดเก็บข้อมูลประจำตัวของ Raft โดย Raft CLI จะเก็บ ข้อมูลการยืนยันตัวตนดังกล่าวไว้ในโปรไฟล์ของตนเอง
การกำหนดค่า
ตั้งค่าโปรไฟล์ในการกำหนดค่า:
{ channels: { raft: { enabled: true, profile: "openclaw", }, },}สำหรับบัญชีเริ่มต้น คุณสามารถตั้งค่า RAFT_PROFILE ในสภาพแวดล้อมของ
Gateway แทนได้:
RAFT_PROFILE=openclawใช้บัญชีที่มีชื่อเมื่อ Gateway หนึ่งรายการเชื่อมต่อกับ Raft External Agent มากกว่าหนึ่งรายการ:
{ 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
- ส่งคืนเซสชันรันไทม์ที่คงที่สำหรับบริดจ์ปัจจุบันและ ชุดระบายกิจกรรมที่ว่างเปล่าสำหรับโปรโตคอล Raft CLI
- เริ่มรอบการทำงานของเอเจนต์ 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 External Agent บันทึกของ Gateway ควรแสดง การเริ่มต้นบริดจ์ Raft ตามด้วยสัญญาณปลุกขาเข้า เอเจนต์ควรใช้ โปรไฟล์ Raft ที่กำหนดค่าไว้เพื่อตรวจสอบข้อความที่รอดำเนินการ
การแก้ไขปัญหา
ไม่พบ Raft CLI
ติดตั้ง Raft CLI บนโฮสต์ Gateway และทำให้ raft พร้อมใช้งานใน
PATH ของบริการ ตรวจสอบด้วย raft --help แล้วรีสตาร์ต Gateway
บริดจ์หยุดทำงานทันที
ตรวจสอบว่าโปรไฟล์ที่กำหนดค่าไว้ลงชื่อเข้าใช้แล้วและเป็นของ
Raft External Agent ที่ต้องการ เรียกใช้ raft --profile <profile> agent bridge โดยตรง
เพื่อดูข้อมูลการวินิจฉัยจาก CLI
ได้รับสัญญาณปลุกแต่ไม่มีการส่งการตอบกลับ Raft
นี่เป็นพฤติกรรมที่คาดไว้เมื่อเอเจนต์ไม่ได้เรียกใช้ Raft CLI บริดจ์สำหรับการปลุก
ไม่ได้ส่งผ่านเนื้อหาข้อความหรือการตอบกลับสุดท้ายโดยอัตโนมัติ ตรวจสอบ
นโยบายเครื่องมือของเอเจนต์และตรวจสอบให้แน่ใจว่าสามารถเรียกใช้ raft --profile <profile> message check และ message send ได้