Developer and self-hosted
Nextcloud Talk
สถานะ: Plugin ที่มาพร้อมชุด (บอต Webhook) รองรับข้อความโดยตรง ห้อง รีแอ็กชัน และข้อความ Markdown
Plugin ที่มาพร้อมชุด
Nextcloud Talk จัดส่งเป็น Plugin ที่มาพร้อมชุดใน OpenClaw รุ่นปัจจุบัน ดังนั้น บิลด์แบบแพ็กเกจปกติจึงไม่ต้องติดตั้งแยกต่างหาก
หากคุณใช้บิลด์เก่ากว่าหรือการติดตั้งแบบกำหนดเองที่ไม่รวม Nextcloud Talk ให้ติดตั้งแพ็กเกจ npm โดยตรง:
ติดตั้งผ่าน CLI (รีจิสทรี npm):
openclaw plugins install @openclaw/nextcloud-talk
ใช้แพ็กเกจเปล่าเพื่อติดตามแท็กรุ่นทางการปัจจุบัน ปักหมุดเวอร์ชันที่แน่นอน เฉพาะเมื่อคุณต้องการการติดตั้งที่ทำซ้ำได้
เช็กเอาต์ในเครื่อง (เมื่อรันจาก repo git):
openclaw plugins install ./path/to/local/nextcloud-talk-plugin
รายละเอียด: Plugins
การตั้งค่าแบบรวดเร็ว (ผู้เริ่มต้น)
-
ตรวจสอบให้แน่ใจว่า Plugin Nextcloud Talk พร้อมใช้งาน
- OpenClaw รุ่นแบบแพ็กเกจปัจจุบันมีรวมมาให้อยู่แล้ว
- การติดตั้งเก่ากว่า/แบบกำหนดเองสามารถเพิ่มเองได้ด้วยคำสั่งข้างต้น
-
บนเซิร์ฟเวอร์ Nextcloud ของคุณ ให้สร้างบอต:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
เปิดใช้งานบอตในการตั้งค่าห้องเป้าหมาย
-
กำหนดค่า OpenClaw:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - หรือ env:
NEXTCLOUD_TALK_BOT_SECRET(บัญชีเริ่มต้นเท่านั้น)
การตั้งค่าผ่าน CLI:
openclaw channels add --channel nextcloud-talk \ --url https://cloud.example.com \ --token "<shared-secret>"ฟิลด์แบบระบุชัดเจนที่เทียบเท่า:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret "<shared-secret>"ความลับที่อ้างอิงจากไฟล์:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret-file /path/to/nextcloud-talk-secret - Config:
-
รีสตาร์ต Gateway (หรือทำการตั้งค่าให้เสร็จ)
การกำหนดค่าขั้นต่ำ:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
หมายเหตุ
- บอตไม่สามารถเริ่ม DM ได้ ผู้ใช้ต้องส่งข้อความถึงบอตก่อน
- URL ของ Webhook ต้องเข้าถึงได้โดย Gateway; ตั้งค่า
webhookPublicUrlหากอยู่หลังพร็อกซี - API ของบอตไม่รองรับการอัปโหลดสื่อ; สื่อจะถูกส่งเป็น URL
- เพย์โหลด Webhook ไม่แยกความแตกต่างระหว่าง DM กับห้อง; ตั้งค่า
apiUser+apiPasswordเพื่อเปิดใช้การค้นหาประเภทห้อง (ไม่เช่นนั้น DM จะถูกถือว่าเป็นห้อง)
การควบคุมการเข้าถึง (DM)
- ค่าเริ่มต้น:
channels.nextcloud-talk.dmPolicy = "pairing"ผู้ส่งที่ไม่รู้จักจะได้รับโค้ดการจับคู่ - อนุมัติผ่าน:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DM สาธารณะ:
channels.nextcloud-talk.dmPolicy="open"พร้อมchannels.nextcloud-talk.allowFrom=["*"] allowFromจะจับคู่กับ ID ผู้ใช้ Nextcloud เท่านั้น; ชื่อที่แสดงจะถูกละเว้น
ห้อง (กลุ่ม)
- ค่าเริ่มต้น:
channels.nextcloud-talk.groupPolicy = "allowlist"(ต้องมีการกล่าวถึง) - อนุญาตห้องด้วย
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- หากไม่ต้องการอนุญาตห้องใดเลย ให้ปล่อยรายการอนุญาตว่างไว้หรือตั้งค่า
channels.nextcloud-talk.groupPolicy="disabled"
ความสามารถ
| ฟีเจอร์ | สถานะ |
|---|---|
| ข้อความโดยตรง | รองรับ |
| ห้อง | รองรับ |
| เธรด | ไม่รองรับ |
| สื่อ | URL เท่านั้น |
| รีแอ็กชัน | รองรับ |
| คำสั่งเนทีฟ | ไม่รองรับ |
ข้อมูลอ้างอิงการกำหนดค่า (Nextcloud Talk)
การกำหนดค่าฉบับเต็ม: การกำหนดค่า
ตัวเลือกผู้ให้บริการ:
channels.nextcloud-talk.enabled: เปิด/ปิดการเริ่มต้นช่องทางchannels.nextcloud-talk.baseUrl: URL อินสแตนซ์ Nextcloudchannels.nextcloud-talk.botSecret: ความลับร่วมของบอตchannels.nextcloud-talk.botSecretFile: พาธความลับแบบไฟล์ปกติ Symlink จะถูกปฏิเสธchannels.nextcloud-talk.apiUser: ผู้ใช้ API สำหรับค้นหาห้อง (การตรวจจับ DM)channels.nextcloud-talk.apiPassword: รหัสผ่าน API/แอปสำหรับค้นหาห้องchannels.nextcloud-talk.apiPasswordFile: พาธไฟล์รหัสผ่าน APIchannels.nextcloud-talk.webhookPort: พอร์ตตัวรับฟัง Webhook (ค่าเริ่มต้น: 8788)channels.nextcloud-talk.webhookHost: โฮสต์ Webhook (ค่าเริ่มต้น: 0.0.0.0)channels.nextcloud-talk.webhookPath: พาธ Webhook (ค่าเริ่มต้น: /nextcloud-talk-webhook)channels.nextcloud-talk.webhookPublicUrl: URL Webhook ที่เข้าถึงได้จากภายนอกchannels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabledchannels.nextcloud-talk.allowFrom: รายการอนุญาต DM (ID ผู้ใช้)openต้องใช้"*"channels.nextcloud-talk.groupPolicy:allowlist | open | disabledchannels.nextcloud-talk.groupAllowFrom: รายการอนุญาตกลุ่ม (ID ผู้ใช้)channels.nextcloud-talk.rooms: การตั้งค่าและรายการอนุญาตรายห้องchannels.nextcloud-talk.historyLimit: ขีดจำกัดประวัติกลุ่ม (0 คือปิดใช้งาน)channels.nextcloud-talk.dmHistoryLimit: ขีดจำกัดประวัติ DM (0 คือปิดใช้งาน)channels.nextcloud-talk.dms: การแทนที่ราย DM (historyLimit)channels.nextcloud-talk.textChunkLimit: ขนาดชิ้นส่วนข้อความขาออก (อักขระ)channels.nextcloud-talk.chunkMode:length(ค่าเริ่มต้น) หรือnewlineเพื่อแยกตามบรรทัดว่าง (ขอบเขตย่อหน้า) ก่อนแยกชิ้นตามความยาวchannels.nextcloud-talk.blockStreaming: ปิดใช้งานการสตรีมบล็อกสำหรับช่องทางนี้channels.nextcloud-talk.blockStreamingCoalesce: การปรับแต่งการรวมการสตรีมบล็อกchannels.nextcloud-talk.mediaMaxMb: ขีดจำกัดสื่อขาเข้า (MB)
ที่เกี่ยวข้อง
- ภาพรวมช่องทาง — ช่องทางที่รองรับทั้งหมด
- การจับคู่ — การตรวจสอบสิทธิ์ DM และโฟลว์การจับคู่
- กลุ่ม — พฤติกรรมแชตกลุ่มและการควบคุมด้วยการกล่าวถึง
- การกำหนดเส้นทางช่องทาง — การกำหนดเส้นทางเซสชันสำหรับข้อความ
- ความปลอดภัย — โมเดลการเข้าถึงและการเสริมความแข็งแกร่ง