Google Chat (Chat API)
جاهز للرسائل المباشرة + المساحات عبر webhooks Google Chat API (HTTP فقط).
الإعداد السريع:
- أنشئ مشروع Google Cloud وفعّل Google Chat API
- أنشئ Service Account ومفتاح JSON
- اكشف مسار
/googlechatفقط للعامة (عبر Tailscale Funnel أو Reverse Proxy) - استخدم
openclaw onboardلإتمام التكوين
الإعداد التفصيلي
1) إنشاء Service Account
- انتقل إلى Google Chat API Credentials
- فعّل API إذا لم يكن ممكّنًا
- اضغط على Create Credentials > Service Account
- أدخل اسمًا ومعرفًا (ID)
- بعد الإنشاء، افتح حساب الخدمة وانتقل إلى Keys
- أنشئ مفتاح JSON جديد واحفظه بشكل آمن (مثل
~/.config/openclaw/google-chat-sa.json)
2) تكوين Chat App
انتقل إلى Google Chat API > Configuration:
- App name: OpenClaw (أو الاسم الذي تفضله)
- Avatar URL: (اختياري) رابط صورة للبوت
- Functionality: حدد Receive 1:1 messages و Join spaces
- Connection settings: حدد App URL (HTTP) وأدخل عنوان URL العام (مثل
https://your-domain.com/googlechat) - Visibility: أضف بريدك الإلكتروني للاختبار
3) تشغيل المعالج
openclaw onboard
اختر Google Chat واتبع المطالبات:
- مسار ملف Service Account
- نوع الجمهور (audience):
app-url - قيمة الجمهور: عنوان URL للـ webhook
إضافة البوت إلى Google Chat
- انتقل إلى Google Chat
- انقر على أيقونة + بجوار Direct Messages
- اكتب اسم التطبيق كاملاً واضغط Enter
- سيتم فتح محادثة مع البوت
ملاحظة
لن يظهر البوت في الاقتراحات العادية؛ عليك كتابة الاسم كاملاً.
عنوان URL عام (Webhook فقط)
تتطلب webhooks Google Chat نقطة نهاية HTTPS عامة. للأمان، قم فقط بكشف مسار /googlechat.
الخيار A: Tailscale Funnel (موصى به)
استخدم Tailscale Serve للوحة التحكم الخاصة و Funnel لمسار webhook العام:
# 1) اكشف لوحة التحكم لـ tailnet فقط tailscale serve --bg --https 8443 https+insecure://localhost:18789 # 2) اكشف webhook للعامة tailscale funnel --bg 443 on
ملف تكوين Tailscale:
{
"TCP": { "443": { "HTTPS": true } },
"Web": {
"<node-name>.<tailnet>.ts.net:443": {
"Handlers": {
"/googlechat": { "Proxy": "https+insecure://localhost:18789" },
"/googlechat/": { "Proxy": "https+insecure://localhost:18789" }
}
}
},
"AllowFunnel": {
"<node-name>.<tailnet>.ts.net:443": true
}
}الخيار B: Reverse Proxy (Caddy)
your-domain.com {
reverse_proxy /googlechat* localhost:18789
}الخيار C: Cloudflare Tunnel
قواعد ingress:
- Path:
/googlechat→http://localhost:18789/googlechat - Default: HTTP 404
كيف يعمل
- يرسل Google Chat webhook POSTs إلى Gateway مع رأس
Authorization: Bearer <token> - يتحقق OpenClaw من الرمز مقابل
audienceType+audience - بعد التحقق، تتم معالجة الرسالة وإرسال الرد عبر Chat API REST
الأهداف (Targets)
- الرسائل المباشرة:
users/<userId>أوusers/<email> - المساحات:
spaces/<spaceId>
مرجع التكوين
{
channels: {
googlechat: {
enabled: true,
serviceAccountFile: "/path/to/service-account.json",
audienceType: "app-url",
audience: "https://gateway.example.com/googlechat",
webhookPath: "/googlechat",
botUserId: "123456789012345678901",
dmPolicy: "pairing",
actions: { reactions: true },
},
},
}استكشاف الأخطاء
405 Method Not Allowed
إذا ظهر هذا الخطأ في Google Cloud Logs:
الأسباب الشائعة
- القناة غير ممكّنة في التكوين
- مسار webhook غير صحيح
- Gateway غير قيد التشغيل
مشاكل أخرى
- تحقق من
openclaw channels status --probeلأخطاء المصادقة - إذا لم تصل أي رسائل، تأكد من عنوان URL لـ webhook
- إذا كانت بوابة الذكر تحجب الردود، قم بتعيين
botUserIdبشكل صريح