สถานะ: ช่องทางข้อความตรงของ bundled plugin โดยใช้ Synology Chat webhooks. Plugin รับข้อความขาเข้าจาก Synology Chat outgoing webhooks และส่งการตอบกลับ ผ่าน Synology Chat incoming webhook.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
bundled plugin
Synology Chat จัดส่งเป็น bundled plugin ใน OpenClaw รุ่นปัจจุบัน ดังนั้นบิลด์แบบ แพ็กเกจปกติจึงไม่ต้องติดตั้งแยกต่างหาก หากคุณใช้บิลด์เก่าหรือการติดตั้งแบบกำหนดเองที่ไม่รวม Synology Chat ให้ติดตั้งด้วยตนเอง: ติดตั้งจาก checkout ในเครื่อง:ตั้งค่าอย่างรวดเร็ว
- ตรวจสอบให้แน่ใจว่า Synology Chat plugin พร้อมใช้งาน
- OpenClaw รุ่นแพ็กเกจปัจจุบันรวมไว้แล้ว
- การติดตั้งรุ่นเก่า/แบบกำหนดเองสามารถเพิ่มด้วยตนเองจาก source checkout โดยใช้คำสั่งด้านบน
openclaw onboardตอนนี้แสดง Synology Chat ในรายการตั้งค่าช่องทางเดียวกับopenclaw channels add- การตั้งค่าแบบไม่โต้ตอบ:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- ใน Synology Chat integrations:
- สร้าง incoming webhook แล้วคัดลอก URL
- สร้าง outgoing webhook พร้อม token ลับของคุณ
- ชี้ URL ของ outgoing webhook ไปยัง OpenClaw gateway ของคุณ:
https://gateway-host/webhook/synologyโดยค่าเริ่มต้น- หรือ
channels.synology-chat.webhookPathแบบกำหนดเองของคุณ
- ตั้งค่าให้เสร็จใน OpenClaw
- แบบมีคำแนะนำ:
openclaw onboard - แบบตรง:
openclaw channels add --channel synology-chat --token <token> --url <incoming-webhook-url>
- แบบมีคำแนะนำ:
- รีสตาร์ท gateway แล้วส่ง DM ไปยังบอต Synology Chat
- OpenClaw ยอมรับ token ของ outgoing webhook จาก
body.tokenจากนั้น?token=...แล้วจึงเป็น headers - รูปแบบ header ที่ยอมรับ:
x-synology-tokenx-webhook-tokenx-openclaw-tokenAuthorization: Bearer <token>
- token ที่ว่างหรือขาดหายจะล้มเหลวแบบปิด
ตัวแปรสภาพแวดล้อม
สำหรับบัญชีเริ่มต้น คุณสามารถใช้ env vars:SYNOLOGY_CHAT_TOKENSYNOLOGY_CHAT_INCOMING_URLSYNOLOGY_NAS_HOSTSYNOLOGY_ALLOWED_USER_IDS(คั่นด้วยจุลภาค)SYNOLOGY_RATE_LIMITOPENCLAW_BOT_NAME
SYNOLOGY_CHAT_INCOMING_URL จาก workspace .env; ดู ไฟล์ Workspace .env
นโยบาย DM และการควบคุมการเข้าถึง
dmPolicy: "allowlist"เป็นค่าเริ่มต้นที่แนะนำallowedUserIdsรับรายการ (หรือสตริงที่คั่นด้วยจุลภาค) ของ Synology user IDs- ในโหมด
allowlistรายการallowedUserIdsที่ว่างจะถือว่าเป็นการกำหนดค่าผิดพลาด และ webhook route จะไม่เริ่มทำงาน (ใช้dmPolicy: "open"พร้อมallowedUserIds: ["*"]สำหรับอนุญาตทั้งหมด) dmPolicy: "open"อนุญาต DM สาธารณะเฉพาะเมื่อallowedUserIdsมี"*"; หากมีรายการแบบจำกัด เฉพาะผู้ใช้ที่ตรงกันเท่านั้นจึงจะแชตได้dmPolicy: "disabled"บล็อก DM- การผูกผู้รับการตอบกลับจะคงอยู่กับ
user_idแบบตัวเลขที่เสถียรโดยค่าเริ่มต้นchannels.synology-chat.dangerouslyAllowNameMatching: trueคือโหมดความเข้ากันได้กรณีฉุกเฉินที่เปิดใช้การค้นหาชื่อผู้ใช้/ชื่อเล่นที่เปลี่ยนแปลงได้อีกครั้งสำหรับการส่งการตอบกลับ - การอนุมัติการจับคู่ทำงานกับ:
openclaw pairing list synology-chatopenclaw pairing approve synology-chat <CODE>
การส่งขาออก
ใช้ Synology Chat user IDs แบบตัวเลขเป็นเป้าหมาย ตัวอย่าง:http หรือ https และเป้าหมายเครือข่ายส่วนตัวหรือที่ถูกบล็อกด้วยเหตุอื่นจะถูกปฏิเสธก่อนที่ OpenClaw จะส่งต่อ URL ไปยัง NAS webhook
หลายบัญชี
รองรับบัญชี Synology Chat หลายบัญชีภายใต้channels.synology-chat.accounts
แต่ละบัญชีสามารถแทนที่ token, incoming URL, webhook path, นโยบาย DM และขีดจำกัดได้
เซสชันข้อความตรงจะแยกตามบัญชีและผู้ใช้ ดังนั้น user_id แบบตัวเลขเดียวกัน
ในบัญชี Synology สองบัญชีที่ต่างกันจะไม่ใช้สถานะ transcript ร่วมกัน
ให้ webhookPath ที่แตกต่างกันกับแต่ละบัญชีที่เปิดใช้ OpenClaw ตอนนี้ปฏิเสธ path ที่ซ้ำกันแบบตรงทั้งหมด
และปฏิเสธไม่เริ่มบัญชีที่มีชื่อซึ่งรับช่วงเฉพาะ webhook path ร่วมกันในการตั้งค่าแบบหลายบัญชี
หากคุณตั้งใจต้องการการรับช่วงแบบเดิมสำหรับบัญชีที่มีชื่อ ให้ตั้งค่า
dangerouslyAllowInheritedWebhookPath: true ในบัญชีนั้นหรือที่ channels.synology-chat
แต่ path ที่ซ้ำกันแบบตรงทั้งหมดยังคงถูกปฏิเสธแบบล้มเหลวปิด ควรใช้ path ที่ระบุชัดเจนต่อบัญชี
หมายเหตุด้านความปลอดภัย
- เก็บ
tokenเป็นความลับและหมุนเวียนหากรั่วไหล - คง
allowInsecureSsl: falseไว้ เว้นแต่คุณจะไว้วางใจ cert ของ NAS ในเครื่องที่ลงนามเองอย่างชัดเจน - คำขอ inbound webhook จะได้รับการตรวจสอบ token และจำกัดอัตราต่อผู้ส่ง
- การตรวจสอบ token ที่ไม่ถูกต้องใช้การเปรียบเทียบ secret แบบ constant-time และล้มเหลวแบบปิด
- ควรใช้
dmPolicy: "allowlist"สำหรับ production - ปิด
dangerouslyAllowNameMatchingไว้ เว้นแต่คุณต้องการการส่งการตอบกลับตามชื่อผู้ใช้แบบเดิมอย่างชัดเจน - ปิด
dangerouslyAllowInheritedWebhookPathไว้ เว้นแต่คุณยอมรับความเสี่ยงในการ route ผ่าน shared-path ในการตั้งค่าแบบหลายบัญชีอย่างชัดเจน
การแก้ไขปัญหา
Missing required fields (token, user_id, text):- payload ของ outgoing webhook ขาดหนึ่งในฟิลด์ที่จำเป็น
- หาก Synology ส่ง token ใน headers ให้ตรวจสอบว่า gateway/proxy เก็บ headers เหล่านั้นไว้
Invalid token:- secret ของ outgoing webhook ไม่ตรงกับ
channels.synology-chat.token - คำขอกำลังไปยังบัญชี/webhook path ที่ไม่ถูกต้อง
- reverse proxy ลบ token header ออกก่อนที่คำขอจะถึง OpenClaw
- secret ของ outgoing webhook ไม่ตรงกับ
Rate limit exceeded:- ความพยายามใช้ token ที่ไม่ถูกต้องจำนวนมากเกินไปจากแหล่งเดียวกันอาจล็อกแหล่งนั้นชั่วคราว
- ผู้ส่งที่ยืนยันตัวตนแล้วยังมีขีดจำกัดอัตราข้อความต่อผู้ใช้อีกชุดหนึ่ง
Allowlist is empty. Configure allowedUserIds or use dmPolicy=open with allowedUserIds=["*"].:- เปิดใช้
dmPolicy="allowlist"แล้วแต่ยังไม่ได้กำหนดค่าผู้ใช้
- เปิดใช้
User not authorized:user_idแบบตัวเลขของผู้ส่งไม่อยู่ในallowedUserIds
ที่เกี่ยวข้อง
- ภาพรวมช่องทาง — ช่องทางทั้งหมดที่รองรับ
- การจับคู่ — การยืนยันตัวตน DM และขั้นตอนการจับคู่
- กลุ่ม — พฤติกรรมแชตกลุ่มและการควบคุมด้วยการกล่าวถึง
- การกำหนดเส้นทางช่องทาง — การกำหนดเส้นทางเซสชันสำหรับข้อความ
- ความปลอดภัย — โมเดลการเข้าถึงและการเสริมความปลอดภัย