Nextcloud Talk (плагин)
Статус: поддерживается через плагин (webhook бот). Личные сообщения, комнаты, реакции и markdown-сообщения поддерживаются.
Требуется плагин
Nextcloud Talk поставляется как плагин и не входит в основную установку.
Установка через CLI (реестр npm):
openclaw plugins install @openclaw/nextcloud-talk
Локальная версия (при запуске из git-репозитория):
openclaw plugins install ./extensions/nextcloud-talk
Если вы выбираете Nextcloud Talk во время настройки/онбординга и обнаружен git-репозиторий, OpenClaw автоматически предложит локальный путь установки.
Подробности: Плагины
Быстрая настройка (для начинающих)
- Установите плагин Nextcloud Talk.
- На вашем сервере Nextcloud создайте бота:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction - Включите бота в настройках целевой комнаты.
- Настройте OpenClaw:
- Конфигурация: channels.nextcloud-talk.baseUrl + channels.nextcloud-talk.botSecret
- Или окружение: NEXTCLOUD_TALK_BOT_SECRET (только учетная запись по умолчанию)
- Перезапустите шлюз (или завершите онбординг).
Минимальная конфигурация:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing"
}
}
}
Примечания
- Боты не могут инициировать личные сообщения. Пользователь должен сначала отправить сообщение боту.
- URL webhook должен быть доступен для Gateway; установите webhookPublicUrl, если за прокси.
- Загрузки медиа не поддерживаются bot API; медиа отправляется как URL.
- Полезная нагрузка webhook не различает личные сообщения и комнаты; установите apiUser + apiPassword для включения поиска типа комнаты (в противном случае личные сообщения обрабатываются как комнаты).
Контроль доступа (личные сообщения)
- По умолчанию: channels.nextcloud-talk.dmPolicy = "pairing". Неизвестные отправители получают код сопряжения.
- Утверждение через:
- openclaw pairing list nextcloud-talk
- openclaw pairing approve nextcloud-talk <CODE>
- Публичные личные сообщения: channels.nextcloud-talk.dmPolicy="open" плюс channels.nextcloud-talk.allowFrom=["*"].
Комнаты (группы)
- По умолчанию: 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: лимит входящих медиа (МБ).