Developer and self-hosted
Nextcloud Talk
Status: dołączony Plugin (bot Webhook). Obsługiwane są wiadomości bezpośrednie, pokoje, reakcje i wiadomości markdown.
Dołączony Plugin
Nextcloud Talk jest dostarczany jako dołączony Plugin w aktualnych wydaniach OpenClaw, więc normalne spakowane kompilacje nie wymagają osobnej instalacji.
Jeśli używasz starszej kompilacji lub instalacji niestandardowej, która wyklucza Nextcloud Talk, zainstaluj pakiet npm bezpośrednio:
Instalacja przez CLI (rejestr npm):
openclaw plugins install @openclaw/nextcloud-talk
Użyj samego pakietu, aby śledzić bieżący oficjalny tag wydania. Przypnij dokładną wersję tylko wtedy, gdy potrzebujesz powtarzalnej instalacji.
Lokalny checkout (podczas uruchamiania z repozytorium git):
openclaw plugins install ./path/to/local/nextcloud-talk-plugin
Szczegóły: Plugins
Szybka konfiguracja (dla początkujących)
-
Upewnij się, że Plugin Nextcloud Talk jest dostępny.
- Aktualne spakowane wydania OpenClaw już go zawierają.
- Starsze/niestandardowe instalacje mogą dodać go ręcznie za pomocą powyższych poleceń.
-
Na serwerze Nextcloud utwórz bota:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
Włącz bota w ustawieniach pokoju docelowego.
-
Skonfiguruj OpenClaw:
- Konfiguracja:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Lub env:
NEXTCLOUD_TALK_BOT_SECRET(tylko konto domyślne)
Konfiguracja CLI:
openclaw channels add --channel nextcloud-talk \ --url https://cloud.example.com \ --token "<shared-secret>"Równoważne jawne pola:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret "<shared-secret>"Sekret oparty na pliku:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret-file /path/to/nextcloud-talk-secret - Konfiguracja:
-
Uruchom ponownie Gateway (albo dokończ konfigurację).
Minimalna konfiguracja:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
Uwagi
- Boty nie mogą inicjować DM. Użytkownik musi najpierw wysłać wiadomość do bota.
- URL Webhook musi być osiągalny przez Gateway; ustaw
webhookPublicUrl, jeśli znajduje się za proxy. - Przesyłanie multimediów nie jest obsługiwane przez API bota; multimedia są wysyłane jako URL-e.
- Ładunek Webhook nie rozróżnia DM i pokoi; ustaw
apiUser+apiPassword, aby włączyć wyszukiwanie typu pokoju (w przeciwnym razie DM są traktowane jak pokoje).
Kontrola dostępu (DM)
- Domyślnie:
channels.nextcloud-talk.dmPolicy = "pairing". Nieznani nadawcy otrzymują kod parowania. - Zatwierdź przez:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- Publiczne DM:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"]. allowFromdopasowuje wyłącznie identyfikatory użytkowników Nextcloud; nazwy wyświetlane są ignorowane.
Pokoje (grupy)
- Domyślnie:
channels.nextcloud-talk.groupPolicy = "allowlist"(bramkowane wzmianką). - Dodaj pokoje do listy dozwolonych za pomocą
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- Aby nie zezwalać na żadne pokoje, pozostaw listę dozwolonych pustą albo ustaw
channels.nextcloud-talk.groupPolicy="disabled".
Możliwości
| Funkcja | Status |
|---|---|
| Wiadomości bezpośrednie | Obsługiwane |
| Pokoje | Obsługiwane |
| Wątki | Nieobsługiwane |
| Multimedia | Tylko URL |
| Reakcje | Obsługiwane |
| Polecenia natywne | Nieobsługiwane |
Dokumentacja konfiguracji (Nextcloud Talk)
Pełna konfiguracja: Konfiguracja
Opcje dostawcy:
channels.nextcloud-talk.enabled: włącza/wyłącza uruchamianie kanału.channels.nextcloud-talk.baseUrl: URL instancji Nextcloud.channels.nextcloud-talk.botSecret: współdzielony sekret bota.channels.nextcloud-talk.botSecretFile: ścieżka do sekretu w zwykłym pliku. Symlinki są odrzucane.channels.nextcloud-talk.apiUser: użytkownik API do wyszukiwania pokoi (wykrywanie DM).channels.nextcloud-talk.apiPassword: hasło API/aplikacji do wyszukiwania pokoi.channels.nextcloud-talk.apiPasswordFile: ścieżka do pliku hasła API.channels.nextcloud-talk.webhookPort: port nasłuchiwania Webhook (domyślnie: 8788).channels.nextcloud-talk.webhookHost: host Webhook (domyślnie: 0.0.0.0).channels.nextcloud-talk.webhookPath: ścieżka Webhook (domyślnie: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: zewnętrznie osiągalny URL Webhook.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: lista dozwolonych DM (identyfikatory użytkowników).openwymaga"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: lista dozwolonych grup (identyfikatory użytkowników).channels.nextcloud-talk.rooms: ustawienia dla poszczególnych pokoi i lista dozwolonych.channels.nextcloud-talk.historyLimit: limit historii grupy (0 wyłącza).channels.nextcloud-talk.dmHistoryLimit: limit historii DM (0 wyłącza).channels.nextcloud-talk.dms: nadpisania dla poszczególnych DM (historyLimit).channels.nextcloud-talk.textChunkLimit: rozmiar wychodzącego fragmentu tekstu (znaki).channels.nextcloud-talk.chunkMode:length(domyślnie) lubnewline, aby dzielić po pustych wierszach (granicach akapitów) przed dzieleniem według długości.channels.nextcloud-talk.blockStreaming: wyłącza streaming bloków dla tego kanału.channels.nextcloud-talk.blockStreamingCoalesce: strojenie scalania streamingu bloków.channels.nextcloud-talk.mediaMaxMb: limit przychodzących multimediów (MB).
Powiązane
- Przegląd kanałów — wszystkie obsługiwane kanały
- Parowanie — uwierzytelnianie DM i przepływ parowania
- Grupy — zachowanie czatu grupowego i bramkowanie wzmianką
- Routing kanałów — routing sesji dla wiadomości
- Bezpieczeństwo — model dostępu i wzmacnianie bezpieczeństwa