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
Використовуйте пакет без версії, щоб стежити за поточним офіційним тегом випуску. Закріплюйте точну версію лише тоді, коли вам потрібне відтворюване встановлення.
Локальна робоча копія (під час запуску з 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:
- Конфігурація:
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 - Конфігурація:
-
Перезапустіть Gateway (або завершіть налаштування).
Мінімальна конфігурація:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Примітки
- Боти не можуть ініціювати прямі повідомлення. Користувач має спершу написати боту.
- URL Webhook має бути доступним для Gateway; встановіть
webhookPublicUrl, якщо він за проксі. - Завантаження медіа не підтримується API бота; медіа надсилаються як URL.
- Payload Webhook не розрізняє прямі повідомлення та кімнати; встановіть
apiUser+apiPassword, щоб увімкнути визначення типу кімнати (інакше прямі повідомлення обробляються як кімнати).
Контроль доступу (прямі повідомлення)
- За замовчуванням:
channels.nextcloud-talk.dmPolicy = "pairing". Невідомі відправники отримують код сполучення. - Схвалення через:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Публічні прямі повідомлення:
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 інстанса Nextcloud.channels.nextcloud-talk.botSecret: спільний секрет бота.channels.nextcloud-talk.botSecretFile: шлях до секрету у звичайному файлі. Символічні посилання відхиляються.channels.nextcloud-talk.apiUser: користувач API для визначення кімнат (виявлення прямих повідомлень).channels.nextcloud-talk.apiPassword: пароль API/застосунку для визначення кімнат.channels.nextcloud-talk.apiPasswordFile: шлях до файлу пароля API.channels.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 | disabled.channels.nextcloud-talk.allowFrom: список дозволених для прямих повідомлень (ID користувачів).openвимагає"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: список дозволених для груп (ID користувачів).channels.nextcloud-talk.rooms: налаштування та список дозволених для кожної кімнати.channels.nextcloud-talk.historyLimit: ліміт історії групи (0 вимикає).channels.nextcloud-talk.dmHistoryLimit: ліміт історії прямих повідомлень (0 вимикає).channels.nextcloud-talk.dms: перевизначення для кожного прямого повідомлення (historyLimit).channels.nextcloud-talk.textChunkLimit: розмір фрагмента вихідного тексту (символи).channels.nextcloud-talk.chunkMode:length(за замовчуванням) абоnewlineдля поділу за порожніми рядками (межами абзаців) перед поділом за довжиною.channels.nextcloud-talk.blockStreaming: вимкнути блокове потокове передавання для цього каналу.channels.nextcloud-talk.blockStreamingCoalesce: налаштування об’єднання блокового потокового передавання.channels.nextcloud-talk.mediaMaxMb: ліміт вхідних медіа (МБ).
Пов’язане
- Огляд каналів — усі підтримувані канали
- Сполучення — автентифікація прямих повідомлень і потік сполучення
- Групи — поведінка групового чату та доступ за згадкою
- Маршрутизація каналів — маршрутизація сеансів для повідомлень
- Безпека — модель доступу та посилення безпеки