Nextcloud Talk (plugin)
Trạng thái: được hỗ trợ qua plugin (webhook bot). Hỗ trợ tin nhắn trực tiếp, phòng chat, reaction và tin nhắn markdown.
Cần cài plugin
Nextcloud Talk được cung cấp dưới dạng plugin và không đi kèm với bản cài đặt core.
Cài đặt qua CLI (npm registry):
openclaw plugins install @openclaw/nextcloud-talk
Cài từ local (khi chạy từ git repo):
openclaw plugins install ./extensions/nextcloud-talk
Nếu các bạn chọn Nextcloud Talk trong quá trình configure/onboarding và phát hiện có git checkout, OpenClaw sẽ tự động đề xuất đường dẫn cài đặt local.
Chi tiết: Plugins
Cài đặt nhanh (dành cho người mới)
- Cài plugin Nextcloud Talk.
- Trên Nextcloud server của các bạn, tạo bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction - Bật bot trong cài đặt phòng chat mục tiêu.
- Cấu hình OpenClaw:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Hoặc dùng env:
NEXTCLOUD_TALK_BOT_SECRET(chỉ cho tài khoản mặc định)
- Config:
- Khởi động lại Gateway (hoặc hoàn tất onboarding).
Config tối thiểu:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Lưu ý
- Bot không thể bắt đầu DM trước. Người dùng phải nhắn tin cho bot trước.
- Webhook URL phải có thể truy cập được từ Gateway; đặt
webhookPublicUrlnếu đứng sau proxy. - Bot API không hỗ trợ upload media; media sẽ được gửi dưới dạng URL.
- Webhook payload không phân biệt DM và phòng chat; đặt
apiUser+apiPasswordđể bật tính năng tra cứu loại phòng (nếu không DM sẽ được xử lý như phòng chat).
Kiểm soát truy cập (DM)
- Mặc định:
channels.nextcloud-talk.dmPolicy = "pairing". Người gửi lạ sẽ nhận mã pairing. - Phê duyệt qua:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DM công khai:
channels.nextcloud-talk.dmPolicy="open"cộng vớichannels.nextcloud-talk.allowFrom=["*"].
Phòng chat (nhóm)
- Mặc định:
channels.nextcloud-talk.groupPolicy = "allowlist"(yêu cầu mention). - Thêm phòng vào allowlist với
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Để không cho phép phòng nào, giữ allowlist trống hoặc đặt
channels.nextcloud-talk.groupPolicy="disabled".
Tính năng
| Tính năng | Trạng thái |
|---|---|
| Tin nhắn trực tiếp | Hỗ trợ |
| Phòng chat | Hỗ trợ |
| Thread | Chưa hỗ trợ |
| Media | Chỉ URL |
| Reaction | Hỗ trợ |
| Lệnh gốc | Chưa hỗ trợ |
Tham khảo cấu hình (Nextcloud Talk)
Cấu hình đầy đủ: Configuration
Các tùy chọn provider:
channels.nextcloud-talk.enabled: bật/tắt khởi động channel.channels.nextcloud-talk.baseUrl: URL instance Nextcloud.channels.nextcloud-talk.botSecret: shared secret của bot.channels.nextcloud-talk.botSecretFile: đường dẫn file secret.channels.nextcloud-talk.apiUser: API user để tra cứu phòng (phát hiện DM).channels.nextcloud-talk.apiPassword: API/app password để tra cứu phòng.channels.nextcloud-talk.apiPasswordFile: đường dẫn file API password.channels.nextcloud-talk.webhookPort: cổng webhook listener (mặc định: 8788).channels.nextcloud-talk.webhookHost: host webhook (mặc định: 0.0.0.0).channels.nextcloud-talk.webhookPath: đường dẫn webhook (mặc định: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL webhook có thể truy cập từ bên ngoài.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: allowlist DM (user ID).openyêu cầu"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: allowlist nhóm (user ID).channels.nextcloud-talk.rooms: cài đặt từng phòng và allowlist.channels.nextcloud-talk.historyLimit: giới hạn lịch sử nhóm (0 để tắt).channels.nextcloud-talk.dmHistoryLimit: giới hạn lịch sử DM (0 để tắt).channels.nextcloud-talk.dms: ghi đè cài đặt từng DM (historyLimit).channels.nextcloud-talk.textChunkLimit: kích thước chunk text gửi đi (ký tự).channels.nextcloud-talk.chunkMode:length(mặc định) hoặcnewlineđể tách theo dòng trống (ranh giới đoạn văn) trước khi tách theo độ dài.channels.nextcloud-talk.blockStreaming: tắt block streaming cho channel này.channels.nextcloud-talk.blockStreamingCoalesce: điều chỉnh block streaming coalesce.channels.nextcloud-talk.mediaMaxMb: giới hạn media đầu vào (MB).