Nextcloud Talk (плагин)
Статус: поддерживается через плагин (бот на вебхуках). Прямые сообщения, комнаты, реакции и сообщения в формате markdown поддерживаются.
Требуется плагин
Nextcloud Talk поставляется как плагин и не входит в базовую установку.
Установка через CLI (npm-реестр):
openclaw plugins install @openclaw/nextcloud-talk
Установка из локальной копии (при работе из git-репозитория):
openclaw plugins install ./extensions/nextcloud-talk
Если вы выбираете Nextcloud Talk во время настройки/онбординга и обнаружен git-checkout, OpenClaw автоматически предложит путь локальной установки.
Подробнее: Плагины
Быстрая настройка (для начинающих)
-
Установите плагин Nextcloud Talk.
-
На вашем сервере 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(только для аккаунта по умолчанию)
- Конфиг:
-
Перезапустите шлюз (или завершите онбординг).
Минимальная конфигурация:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Примечания
- Боты не могут инициировать ЛС. Пользователь должен написать боту первым.
- URL вебхука должен быть доступен шлюзу; задайте
webhookPublicUrl, если используете прокси. - Загрузка медиа не поддерживается Bot API; медиа отправляется как URL.
- Payload вебхука не различает ЛС и комнаты; задайте
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".
Возможности
| Функция | Статус |
|---|---|
| Прямые сообщения | Поддерживается |
| Комнаты | Поддерживается |
| Потоки (threads) | Не поддерживается |
| Медиа | Только по 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/app-пароль для определения типа комнаты.channels.nextcloud-talk.apiPasswordFile: путь к файлу с API-паролем.channels.nextcloud-talk.webhookPort: порт обработчика вебхуков (по умолчанию: 8788).channels.nextcloud-talk.webhookHost: хост вебхука (по умолчанию: 0.0.0.0).channels.nextcloud-talk.webhookPath: путь вебхука (по умолчанию: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: внешний URL вебхука.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: лимит входящих медиа (МБ).