Developer and self-hosted
Nextcloud Talk
Status: Plugin bawaan (bot Webhook). Pesan langsung, ruang, reaksi, dan pesan markdown didukung.
Plugin bawaan
Nextcloud Talk dikirim sebagai Plugin bawaan dalam rilis OpenClaw saat ini, sehingga build terpaket 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-talk
Gunakan paket polos untuk mengikuti tag rilis resmi saat ini. Sematkan versi persis hanya ketika Anda memerlukan instalasi yang dapat direproduksi.
Checkout lokal (saat berjalan dari repo git):
openclaw plugins install ./path/to/local/nextcloud-talk-plugin
Detail: Plugin
Penyiapan cepat (pemula)
-
Pastikan Plugin Nextcloud Talk tersedia.
- Rilis OpenClaw terpaket saat ini sudah menyertakannya.
- Instalasi lama/kustom dapat menambahkannya secara manual dengan perintah di atas.
-
Di server Nextcloud Anda, buat bot:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Aktifkan bot di pengaturan ruang target.
-
Konfigurasikan OpenClaw:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Atau env:
NEXTCLOUD_TALK_BOT_SECRET(hanya akun default)
Penyiapan CLI:
openclaw channels add --channel nextcloud-talk \ --url https://cloud.example.com \ --token "<shared-secret>"Bidang eksplisit yang setara:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret "<shared-secret>"Secret berbasis file:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret-file /path/to/nextcloud-talk-secret - Config:
-
Mulai ulang Gateway (atau selesaikan penyiapan).
Config 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; atur
webhookPublicUrljika berada di balik proxy. - Unggahan media tidak didukung oleh API bot; media dikirim sebagai URL.
- Payload Webhook tidak membedakan DM vs ruang; atur
apiUser+apiPassworduntuk mengaktifkan pencarian tipe ruang (jika tidak, DM diperlakukan sebagai ruang).
Kontrol akses (DM)
- Default:
channels.nextcloud-talk.dmPolicy = "pairing". Pengirim 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 oleh mention). - Masukkan ruang ke allowlist dengan
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Untuk tidak mengizinkan ruang apa pun, biarkan allowlist kosong atau atur
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 channel.channels.nextcloud-talk.baseUrl: URL instans Nextcloud.channels.nextcloud-talk.botSecret: secret bersama bot.channels.nextcloud-talk.botSecretFile: path secret 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.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 potongan teks keluar (karakter).channels.nextcloud-talk.chunkMode:length(default) ataunewlineuntuk memisahkan pada baris kosong (batas paragraf) sebelum pemotongan berdasarkan panjang.channels.nextcloud-talk.blockStreaming: nonaktifkan streaming blok untuk channel ini.channels.nextcloud-talk.blockStreamingCoalesce: penyetelan penggabungan streaming blok.channels.nextcloud-talk.mediaMaxMb: batas media masuk (MB).
Terkait
- Ringkasan Channel — semua channel yang didukung
- Pairing — autentikasi DM dan alur pairing
- Grup — perilaku chat grup dan gating mention
- Routing Channel — routing sesi untuk pesan
- Keamanan — model akses dan hardening