Sessions and memory

การเชื่อมต่อช่องทาง

การเชื่อมเทียบช่องทางคือการโอนสายสำหรับเซสชัน OpenClaw หนึ่งเซสชัน โดยยังคงบริบทการสนทนาเดิมไว้ แต่เปลี่ยนตำแหน่งที่จะส่งคำตอบในอนาคตของเซสชันนั้น การเชื่อมเทียบใช้ได้เฉพาะจากแชตโดยตรงเท่านั้น และไม่ทำงานจากแชตกลุ่ม

ตัวอย่าง

Alice สามารถส่งข้อความถึง OpenClaw ผ่าน Telegram และ Discord ได้:

json5
{  session: {    identityLinks: {      alice: ["telegram:123", "discord:456"],    },  },}

หาก Alice ส่งคำสั่งนี้จากแชตโดยตรงของ Telegram:

text
/dock_discord

OpenClaw จะคงบริบทของเซสชันปัจจุบันไว้และเปลี่ยนเส้นทางการตอบกลับ:

ก่อนเชื่อมเทียบ หลังใช้ /dock_discord
ส่งคำตอบไปยัง Telegram 123 ส่งคำตอบไปยัง Discord 456

ระบบจะไม่สร้างเซสชันขึ้นใหม่ ประวัติทรานสคริปต์จะยังคงผูกอยู่กับเซสชันเดิม

เหตุผลที่ควรใช้

ใช้การเชื่อมเทียบเมื่องานเริ่มต้นในแอปแชตหนึ่ง แต่ต้องการให้คำตอบถัดไปไปปรากฏในอีกแอปหนึ่ง

ขั้นตอนทั่วไป:

  1. เริ่มงานของเอเจนต์จาก Telegram
  2. ย้ายไปยัง Discord ซึ่งคุณกำลังประสานงานอยู่
  3. ส่ง /dock_discord จากแชตโดยตรงของ Telegram
  4. ใช้เซสชัน OpenClaw เดิมต่อไป แต่รับคำตอบในอนาคตผ่าน Discord

การกำหนดค่าที่จำเป็น

การเชื่อมเทียบต้องใช้ session.identityLinks ผู้ส่งต้นทางและเพียร์เป้าหมายต้องอยู่ในกลุ่มข้อมูลประจำตัวเดียวกัน:

json5
{  session: {    identityLinks: {      alice: ["telegram:123", "discord:456", "slack:U123"],    },  },}

ค่าต่าง ๆ คือ ID เพียร์ที่มีชื่อช่องทางนำหน้า:

ค่า ความหมาย
telegram:123 ID ผู้ส่ง Telegram 123
discord:456 ID เพียร์โดยตรงของ Discord 456
slack:U123 ID ผู้ใช้ Slack U123

คีย์มาตรฐาน (alice ในตัวอย่างข้างต้น) เป็นเพียงชื่อกลุ่มข้อมูลประจำตัวที่ใช้ร่วมกัน คำสั่งเชื่อมเทียบจะใช้ค่าที่มีชื่อช่องทางนำหน้าเพื่อยืนยันว่าผู้ส่งต้นทางและเพียร์เป้าหมายเป็นบุคคลเดียวกัน

คำสั่ง

OpenClaw สร้างคำสั่ง /dock-<channel> หนึ่งคำสั่งสำหรับ Plugin ช่องทางที่โหลดแต่ละรายการซึ่งรองรับคำสั่งแบบเนทีฟ ดังนั้นรายการจะเพิ่มขึ้นเมื่อมีการเพิ่ม Plugin Plugin ที่มาพร้อมระบบซึ่งรองรับในปัจจุบันมีดังนี้:

ช่องทางเป้าหมาย คำสั่ง นามแฝง
Discord /dock-discord /dock_discord
Mattermost /dock-mattermost /dock_mattermost
Slack /dock-slack /dock_slack
Telegram /dock-telegram /dock_telegram

รูปแบบขีดล่างยังเป็นชื่อคำสั่งแบบเนทีฟบนพื้นผิวอย่าง Telegram ที่แสดงคำสั่งสแลชโดยตรงอีกด้วย

สิ่งที่เปลี่ยนแปลง

การเชื่อมเทียบจะอัปเดตฟิลด์การนำส่งของเซสชันที่ใช้งานอยู่:

ฟิลด์เซสชัน ตัวอย่างหลังใช้ /dock_discord
lastChannel discord
lastTo 456
lastAccountId บัญชีช่องทางเป้าหมาย หรือ default

ฟิลด์เหล่านี้จะถูกบันทึกถาวรในที่เก็บเซสชัน และใช้สำหรับการนำส่งคำตอบในภายหลังของเซสชันนั้น

สิ่งที่ไม่เปลี่ยนแปลง

การเชื่อมเทียบจะไม่:

  • สร้างบัญชีช่องทาง
  • เชื่อมต่อบอต Discord, Telegram, Slack หรือ Mattermost ใหม่
  • ให้สิทธิ์การเข้าถึงแก่ผู้ใช้
  • ข้ามรายการอนุญาตของช่องทางหรือนโยบาย DM
  • ย้ายประวัติทรานสคริปต์ไปยังเซสชันอื่น
  • ทำให้ผู้ใช้ที่ไม่เกี่ยวข้องใช้เซสชันร่วมกัน

การเชื่อมเทียบจะเปลี่ยนเฉพาะเส้นทางการนำส่งของเซสชันปัจจุบันเท่านั้น

การแก้ไขปัญหา

คำสั่งแจ้งว่าผู้ส่งไม่ได้เชื่อมโยงไว้

เพิ่มทั้งผู้ส่งปัจจุบันและเพียร์เป้าหมายไปยังกลุ่ม session.identityLinks เดียวกัน ตัวอย่างเช่น หากต้องการเชื่อมเทียบผู้ส่ง Telegram 123 ไปยังเพียร์ Discord 456 ให้ใส่ทั้ง telegram:123 และ discord:456

คำสั่งแจ้งว่าการเชื่อมเทียบใช้ได้เฉพาะจากแชตโดยตรงเท่านั้น

ส่งคำสั่งเชื่อมเทียบจากแชตโดยตรงกับ OpenClaw ไม่ใช่จากแชตกลุ่ม

คำสั่งแจ้งว่าไม่มีเซสชันที่ใช้งานอยู่

เชื่อมเทียบจากเซสชันแชตโดยตรงที่มีอยู่ คำสั่งต้องใช้รายการเซสชันที่ใช้งานอยู่เพื่อบันทึกเส้นทางใหม่อย่างถาวร

คำตอบยังคงถูกส่งไปยังช่องทางเดิม

ตรวจสอบว่าคำสั่งตอบกลับด้วยข้อความสำเร็จ และยืนยันว่า ID เพียร์เป้าหมายตรงกับ ID ที่ช่องทางนั้นใช้ การเชื่อมเทียบจะเปลี่ยนเฉพาะเส้นทางของเซสชันที่ใช้งานอยู่เท่านั้น ส่วนเซสชันอื่นอาจยังคงกำหนดเส้นทางไปยังที่อื่น

ฉันต้องการสลับกลับ

ส่งคำสั่งที่ตรงกับช่องทางเดิม เช่น /dock_telegram หรือ /dock-telegram จากผู้ส่งที่เชื่อมโยงไว้

Was this useful?
On this page

On this page