Wprowadzenie
OpenClaw integruje się z Google Chat przez Google Chat API i webhooks HTTP. Obsługiwane są wiadomości bezpośrednie i pokoje (spaces). Ten przewodnik przeprowadzi Cię przez pełną konfigurację, od utworzenia projektu w Google Cloud po uruchomienie bota.
Konfiguracja krok po kroku
- Utwórz projekt Google Cloud — przejdź do konsoli Google Cloud i utwórz nowy projekt
- Włącz Chat API — w sekcji API i usługi znajdź i włącz Google Chat API
- Utwórz konto usługi (Service Account) — nazwij je np.
openclaw-chat - Wygeneruj klucz JSON — w zakładce Keys konta usługi wygeneruj i pobierz plik JSON
- Zapisz plik lokalnie — np. w
~/.openclaw/googlechat-service-account.json - Skonfiguruj aplikację Chat w konsoli Google Cloud:
- Nazwa aplikacji, URL awatara i opis
- Włącz funkcje interaktywne
- Włącz dostęp do konwersacji grupowych
- Ustaw endpoint HTTP na ścieżkę
/googlechatTwojego Gateway - Ogranicz widoczność do wybranych użytkowników
- Zmień status aplikacji na „Live — available to users"
Dodawanie bota do Google Chat
Użytkownicy szukają bota po skonfigurowanej nazwie w interfejsie wiadomości bezpośrednich Google Chat (nie przez Marketplace, ponieważ aplikacja jest prywatna).
Eksponowanie publicznego URL
Tailscale Funnel (zalecane)
Eksponuj webhook publicznie przez Tailscale Funnel, udostępniając tylko ścieżkę /googlechat:
tailscale serve --bg 8443
tailscale funnel --bg /googlechat
Wynikowy URL: https://<node>.<tailnet>.ts.net/googlechat
Reverse proxy
Skieruj tylko ścieżkę /googlechat* przez usługę taką jak Caddy, blokując pozostałe ścieżki.
Cloudflare Tunnel
Skonfiguruj reguły ingress, aby kierować /googlechat do Gateway, a resztę odrzucać z kodem 404.
Uwierzytelnianie i weryfikacja
System weryfikuje tokeny bearer w żądaniach webhook na podstawie skonfigurowanego typu audytorium:
- app-url — audytorium odpowiada adresowi URL webhooka HTTPS
- project-number — audytorium odpowiada numerowi projektu Cloud
Routing wiadomości
- Wiadomości bezpośrednie: klucz sesji
agent:<agentId>:googlechat:direct:<spaceId> - Pokoje grupowe:
agent:<agentId>:googlechat:group:<spaceId> - DM domyślnie wymagają zatwierdzenia parowania
- Pokoje grupowe wymagają wzmianki
@bot, chyba że skonfigurowano inaczej
Przykład konfiguracji
{
channels: {
googlechat: {
serviceAccountFile: "~/.openclaw/googlechat-service-account.json",
audienceType: "app-url",
webhookPath: "/googlechat",
dmPolicy: "pairing",
groupPolicy: "allowlist",
groups: {
"spaces/ABC123": { requireMention: true }
},
mediaMaxMb: 20,
sendTyping: true
}
}
}
Identyfikatory celów
- Wiadomości bezpośrednie:
users/<userId>(preferowane) - Pokoje:
spaces/<spaceId> - Dopasowanie po e-mailu jest dostępne, ale oznaczone jako zmienne i niezalecane
Rozwiązywanie problemów
Błąd 405 Method Not Allowed zwykle oznacza:
- Brakującą konfigurację
channels.googlechat - Wyłączoną wtyczkę Google Chat
- Gateway nie został zrestartowany po zmianach konfiguracji
Komendy diagnostyczne: openclaw channels status i openclaw channels status --probe z weryfikacją błędów uwierzytelniania.