Developer and self-hosted
Nextcloud Talk
Status: Plugin bawaan (bot Webhook). Pesan langsung, ruang, reaksi, dan pesan markdown didukung.
Plugin bawaan
Nextcloud Talk disertakan sebagai Plugin bawaan dalam rilis OpenClaw saat ini, sehingga build paket normal tidak memerlukan instalasi terpisah.
Jika Anda menggunakan build lama atau instalasi kustom yang mengecualikan Nextcloud Talk, instal paket npm secara langsung:
Instal melalui CLI (registri npm):
openclaw plugins install @openclaw/nextcloud-talkGunakan paket polos untuk mengikuti tag rilis resmi saat ini. Sematkan versi yang tepat hanya saat Anda memerlukan instalasi yang dapat direproduksi.
Checkout lokal (saat menjalankan dari repo git):
openclaw plugins install ./path/to/local/nextcloud-talk-pluginDetail: Plugin
Penyiapan cepat (pemula)
-
Pastikan Plugin Nextcloud Talk tersedia.
- Rilis paket OpenClaw saat ini sudah menyertakannya.
- Instalasi lama/kustom dapat menambahkannya secara manual dengan perintah di atas.
-
Di server Nextcloud Anda, buat bot:
bash ./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature webhook --feature response --feature reaction -
Aktifkan bot di pengaturan ruang target.
-
Konfigurasikan OpenClaw:
- Konfigurasi:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Atau env:
NEXTCLOUD_TALK_BOT_SECRET(hanya akun default)
Penyiapan CLI:
bash openclaw channels add --channel nextcloud-talk \ --url https://cloud.example.com \ --token "<shared-secret>"Field eksplisit yang setara:
bash openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret "<shared-secret>"Rahasia berbasis file:
bash openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret-file /path/to/nextcloud-talk-secret - Konfigurasi:
-
Mulai ulang Gateway (atau selesaikan penyiapan).
Konfigurasi minimal:
{ channels: { "nextcloud-talk": { enabled: true, baseUrl: "https://cloud.example.com", botSecret: "shared-secret", dmPolicy: "pairing", }, },}Catatan
- Bot tidak dapat memulai DM. Pengguna harus mengirim pesan ke bot terlebih dahulu.
- URL Webhook harus dapat dijangkau oleh Gateway; tetapkan
webhookPublicUrljika berada di belakang proxy. - Unggahan media tidak didukung oleh API bot; media dikirim sebagai URL.
- Payload Webhook tidak membedakan DM dan ruang; tetapkan
apiUser+apiPassworduntuk mengaktifkan pencarian tipe ruang (jika tidak, DM diperlakukan sebagai ruang).
Kontrol akses (DM)
- Default:
channels.nextcloud-talk.dmPolicy = "pairing". Pengirim yang tidak dikenal mendapatkan kode pairing. - Setujui melalui:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DM publik:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFromhanya mencocokkan ID pengguna Nextcloud; nama tampilan diabaikan.
Ruang (grup)
- Default:
channels.nextcloud-talk.groupPolicy = "allowlist"(dibatasi penyebutan). - Izinkan ruang dengan
channels.nextcloud-talk.rooms:
{ channels: { "nextcloud-talk": { rooms: { "room-token": { requireMention: true }, }, }, },}- Untuk tidak mengizinkan ruang apa pun, biarkan allowlist kosong atau tetapkan
channels.nextcloud-talk.groupPolicy="disabled".
Kapabilitas
| Fitur | Status |
|---|---|
| Pesan langsung | Didukung |
| Ruang | Didukung |
| Thread | Tidak didukung |
| Media | Hanya URL |
| Reaksi | Didukung |
| Perintah native | Tidak didukung |
Referensi konfigurasi (Nextcloud Talk)
Konfigurasi lengkap: Konfigurasi
Opsi penyedia:
channels.nextcloud-talk.enabled: aktifkan/nonaktifkan startup saluran.channels.nextcloud-talk.baseUrl: URL instance Nextcloud.channels.nextcloud-talk.botSecret: rahasia bersama bot.channels.nextcloud-talk.botSecretFile: path rahasia file reguler. Symlink ditolak.channels.nextcloud-talk.apiUser: pengguna API untuk pencarian ruang (deteksi DM).channels.nextcloud-talk.apiPassword: kata sandi API/aplikasi untuk pencarian ruang.channels.nextcloud-talk.apiPasswordFile: path file kata sandi API.channels.nextcloud-talk.webhookPort: port listener Webhook (default: 8788).channels.nextcloud-talk.webhookHost: host Webhook (default: 0.0.0.0).channels.nextcloud-talk.webhookPath: path Webhook (default: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL Webhook yang dapat dijangkau secara eksternal.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: allowlist DM (ID pengguna).openmemerlukan"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: allowlist grup (ID pengguna).channels.nextcloud-talk.rooms: pengaturan per ruang dan allowlist.- Grup akses pengirim statis dapat direferensikan dari
allowFromdangroupAllowFromdenganaccessGroup:<name>. channels.nextcloud-talk.historyLimit: batas riwayat grup (0 menonaktifkan).channels.nextcloud-talk.dmHistoryLimit: batas riwayat DM (0 menonaktifkan).channels.nextcloud-talk.dms: override per DM (historyLimit).channels.nextcloud-talk.textChunkLimit: ukuran chunk teks keluar (karakter).channels.nextcloud-talk.chunkMode:length(default) ataunewlineuntuk memisahkan pada baris kosong (batas paragraf) sebelum chunking berdasarkan panjang.channels.nextcloud-talk.blockStreaming: nonaktifkan streaming blok untuk saluran ini.channels.nextcloud-talk.blockStreamingCoalesce: penyesuaian coalesce streaming blok.channels.nextcloud-talk.mediaMaxMb: batas media masuk (MB).
Terkait
- Ikhtisar Saluran — semua saluran yang didukung
- Pairing — autentikasi DM dan alur pairing
- Grup — perilaku chat grup dan pembatasan penyebutan
- Perutean Saluran — perutean sesi untuk pesan
- Keamanan — model akses dan hardening