google-meet Plugin किसी OpenClaw एजेंट की ओर से स्पष्ट Meet URL से जुड़ता है। इसका दायरा जानबूझकर सीमित है:
- यह केवल
https://meet.google.com/...URL से जुड़ता है; यह स्वयं खोजे गए फ़ोन नंबर से कभी किसी मीटिंग में डायल नहीं करता। googlemeet createGoogle Meet API (या ब्राउज़र फ़ॉलबैक) के माध्यम से नया Meet URL बना सकता है और डिफ़ॉल्ट रूप से उससे जुड़ सकता है।- Chrome से भागीदारी के लिए साइन-इन की हुई Chrome प्रोफ़ाइल का उपयोग होता है, जो वैकल्पिक रूप से किसी युग्मित Node पर हो सकती है। Twilio से भागीदारी में वॉइस कॉल Plugin के माध्यम से फ़ोन नंबर और PIN/DTMF डायल किया जाता है; यह सीधे Meet URL डायल नहीं कर सकता।
mode: "agent"(डिफ़ॉल्ट) किसी रीयलटाइम प्रदाता की मदद से प्रतिभागियों की वाणी का ट्रांसक्रिप्शन करता है, उसे कॉन्फ़िगर किए गए OpenClaw एजेंट तक भेजता है और सामान्य OpenClaw TTS से उत्तर बोलता है।mode: "bidi"किसी रीयलटाइम वॉइस मॉडल को सीधे उत्तर देने देता है।mode: "transcribe"केवल अवलोकन के लिए जुड़ता है और प्रत्युत्तर में बोलता नहीं है।- Plugin के कॉल में जुड़ने पर सहमति की कोई स्वचालित घोषणा नहीं होती।
- CLI कमांड
googlemeetहै;meetव्यापक एजेंट टेलीकॉन्फ़्रेंस वर्कफ़्लो के लिए आरक्षित है।
त्वरित शुरुआत
Plugin और स्थानीय ऑडियो निर्भरताएँ इंस्टॉल करें, फिर रीयलटाइम प्रदाता की कुंजी सेट करें।agent मोड के लिए OpenAI डिफ़ॉल्ट ट्रांसक्रिप्शन प्रदाता है; Google Gemini Live, bidi-मोड वॉइस प्रदाता के रूप में उपलब्ध है:
blackhole-2ch वह BlackHole 2ch वर्चुअल ऑडियो डिवाइस इंस्टॉल करता है, जिसके माध्यम से Chrome ऑडियो रूट करता है। macOS पर डिवाइस उपलब्ध होने से पहले Homebrew के इंस्टॉलर के बाद रीबूट करना आवश्यक है:
openclaw plugins disable google-meet चलाएँ।
सेटअप जाँचें, फिर जुड़ें:
setup का आउटपुट एजेंट-पठनीय और मोड/ट्रांसपोर्ट के अनुरूप होता है: यह Chrome प्रोफ़ाइल, Node पिनिंग और रीयलटाइम Chrome जॉइन के लिए BlackHole/SoX ऑडियो ब्रिज तथा विलंबित-परिचय जाँच की रिपोर्ट देता है। केवल-अवलोकन जॉइन में रीयलटाइम पूर्वापेक्षाएँ छोड़ दी जाती हैं:
setup यह भी बताता है कि voice-call, Twilio क्रेडेंशियल और सार्वजनिक Webhook एक्सपोज़र तैयार हैं या नहीं। एजेंट के जुड़ने से पहले किसी भी ok: false जाँच को उस ट्रांसपोर्ट/मोड के लिए अवरोधक मानें। मशीन-पठनीय आउटपुट के लिए --json और किसी विशिष्ट ट्रांसपोर्ट की पहले से प्रारंभिक जाँच के लिए --transport chrome|chrome-node|twilio का उपयोग करें:
google_meet टूल के माध्यम से जुड़ने दें:
google_meet, आर्टिफ़ैक्ट, कैलेंडर, सेटअप, ट्रांसक्राइब, Twilio और chrome-node कार्रवाइयों के लिए उपलब्ध रहता है, लेकिन स्थानीय Chrome प्रत्युत्तर (transport: "chrome" के साथ mode: "agent" या "bidi") ऑडियो ब्रिज तक पहुँचने से पहले ही अवरुद्ध हो जाता है, क्योंकि यह पथ वर्तमान में macOS BlackHole 2ch पर निर्भर है। इसके बजाय mode: "transcribe", Twilio डायल-इन या macOS chrome-node होस्ट का उपयोग करें।
मीटिंग बनाएँ
create के दो पथ हैं, जिनकी रिपोर्ट परिणाम के source फ़ील्ड में दी जाती है:
api: Google Meet OAuth क्रेडेंशियल कॉन्फ़िगर होने पर उपयोग होता है। यह निर्धारक है; ब्राउज़र UI की स्थिति पर निर्भर नहीं करता।browser: OAuth क्रेडेंशियल के बिना उपयोग होता है। OpenClaw पिन किए गए Chrome Node परhttps://meet.google.com/newखोलता है और Google के किसी वास्तविक मीटिंग-कोड URL पर रीडायरेक्ट करने की प्रतीक्षा करता है; उस Node पर OpenClaw Chrome प्रोफ़ाइल पहले से Google में साइन-इन होनी चाहिए। जॉइन और क्रिएट, नया टैब खोलने से पहले मौजूदा Meet टैब (या प्रगति पर मौजूद.../new/ Google खाता प्रॉम्प्ट टैब) का पुनः उपयोग करते हैं; टैब मिलान मेंauthuserजैसी अहानिकर क्वेरी स्ट्रिंग को अनदेखा किया जाता है।
create डिफ़ॉल्ट रूप से जुड़ता है और जॉइन सत्र के साथ joined: true लौटाता है। केवल URL बनाने के लिए --no-join (CLI) या "join": false (टूल) पास करें।
API द्वारा बनाए गए कक्षों के लिए Google खाते का डिफ़ॉल्ट विरासत में लेने के बजाय स्पष्ट एक्सेस नीति सेट करें:
यह केवल API द्वारा बनाए गए कक्षों पर लागू होता है, इसलिए OAuth कॉन्फ़िगर होना आवश्यक है। यदि आपने इस विकल्प के उपलब्ध होने से पहले प्रमाणीकरण किया था, तो अपनी OAuth सहमति स्क्रीन में
meetings.space.settings स्कोप जोड़ने के बाद openclaw googlemeet auth login --json दोबारा चलाएँ।
यदि ब्राउज़र फ़ॉलबैक Google लॉगिन या Meet अनुमति अवरोधक का सामना करता है, तो टूल manualActionReason, manualActionMessage और browser.nodeId/browser.targetId/browserUrl के साथ manualActionRequired: true लौटाता है। उस संदेश की रिपोर्ट करें और ऑपरेटर द्वारा ब्राउज़र चरण पूरा किए जाने तक नए Meet टैब खोलना बंद रखें।
केवल-अवलोकन जॉइन
डुप्लेक्स रीयलटाइम ब्रिज छोड़ने के लिए"mode": "transcribe" सेट करें (BlackHole/SoX की आवश्यकता नहीं, कोई प्रत्युत्तर नहीं)। ट्रांसक्राइब-मोड Chrome जॉइन में OpenClaw की माइक्रोफ़ोन/कैमरा अनुमति और Meet का Use microphone पथ भी छोड़ दिया जाता है; यदि Meet ऑडियो-विकल्प मध्यवर्ती स्क्रीन दिखाता है, तो स्वचालन पहले Continue without microphone आज़माता है। प्रबंधित Chrome ट्रांसपोर्ट हर मोड में सर्वोत्तम-प्रयास वाला Meet कैप्शन पर्यवेक्षक इंस्टॉल करते हैं, ताकि लाइव एजेंट-परामर्श पथ को बदले बिना स्थायी नोट उपलब्ध हों। googlemeet status --json और googlemeet doctor, captioning, captionsEnabledAttempted, transcriptLines, lastCaptionAt, lastCaptionSpeaker, lastCaptionText और recentTranscript टेल की रिपोर्ट देते हैं।
सीमित सत्र ट्रांसक्रिप्ट के लिए, सटीक रूप से ट्रैक किया गया Meet टैब पढ़ें:
nextIndex सहेजने पर बाद का टेक्स्ट विस्तार नहीं छूट सकता; बाहर निकलने पर स्नैपशॉट से पहले दृश्यमान पंक्तियाँ अंतिम रूप ले लेती हैं। सीमा पार होने पर droppedLines शुरुआत से खोई हुई पंक्तियों की रिपोर्ट देता है। सीमित googlemeet transcript टेल अब भी केवल हाल में समाप्त हुए चार सत्र रखता है और Gateway के साथ रीसेट होता है। अलग से, OpenClaw पूरी मीटिंग के दौरान पूर्ण कैप्शन पंक्तियाँ साझा स्थिति डेटाबेस में जोड़ता है और बाहर निकलते समय व्युत्पन्न सारांश लिखता है। इन स्थायी नोटों का निरीक्षण या निर्यात करने के लिए openclaw transcripts का उपयोग करें।
स्वचालित नोट डिफ़ॉल्ट रूप से सक्षम होते हैं। स्थायी नोटों को वैश्विक रूप से
अक्षम करने के लिए transcripts.enabled: false सेट करें; स्पष्ट transcribe मोड फिर भी केवल
अपनी सीमित लाइव टेल दिखाता है। Twilio जॉइन में ब्राउज़र कैप्शन स्ट्रीम नहीं होती और
वे इस पथ से कैप्चर नहीं किए जाते।
हाँ/नहीं सुनने की जाँच के लिए:
listenVerified, listenTimedOut, मैन्युअल-कार्रवाई फ़ील्ड तथा वर्तमान कैप्शन स्वास्थ्य लौटाता है।
रीयलटाइम सत्र स्वास्थ्य
प्रत्युत्तर सत्रों के दौरानgoogle_meet स्थिति Chrome/ऑडियो ब्रिज के स्वास्थ्य की रिपोर्ट देती है: inCall, manualActionRequired, providerConnected, realtimeReady, audioInputActive, audioOutputActive, अंतिम इनपुट/आउटपुट टाइमस्टैम्प, बाइट काउंटर और ब्रिज-बंद स्थिति। प्रबंधित Chrome सत्र परिचय/परीक्षण वाक्यांश तभी बोलते हैं, जब स्वास्थ्य inCall: true रिपोर्ट करता है; अन्यथा speechReady: false होता है और वाणी प्रयास को चुपचाप निष्प्रभावी करने के बजाय अवरुद्ध कर दिया जाता है।
स्थानीय Chrome, साइन-इन की हुई OpenClaw ब्राउज़र प्रोफ़ाइल के माध्यम से जुड़ता है और माइक/स्पीकर पथ के लिए BlackHole 2ch की आवश्यकता होती है। पहली स्मोक जाँच के लिए एक BlackHole डिवाइस पर्याप्त है, लेकिन इससे प्रतिध्वनि हो सकती है; स्वच्छ डुप्लेक्स ऑडियो के लिए अलग-अलग वर्चुअल डिवाइस या Loopback-शैली के ग्राफ़ का उपयोग करें।
स्थानीय Gateway + Parallels Chrome
केवल macOS VM को Chrome उपलब्ध कराने के लिए उसके भीतर पूर्ण Gateway या मॉडल API कुंजी की आवश्यकता नहीं होती। Gateway और एजेंट स्थानीय रूप से चलाएँ; VM में Node होस्ट चलाएँ।
VM निर्भरताएँ इंस्टॉल करें, रीबूट करें और सत्यापित करें:
<gateway-host> TLS के बिना LAN IP है, तो उस विश्वसनीय निजी नेटवर्क के लिए स्पष्ट रूप से अनुमति दें:
openclaw.json सेटिंग):
googlemeet.chrome और ब्राउज़र क्षमता/browser.proxy, दोनों को विज्ञापित करता है:
manualActionReason और manualActionMessage के साथ manualActionRequired: true रिपोर्ट करता है। पुनः प्रयास करना रोकें, वह संदेश तथा browserUrl/browserTitle रिपोर्ट करें, और मैन्युअल कार्रवाई पूरी होने के बाद ही पुनः प्रयास करें।
यदि chromeNode.node छोड़ा गया है, तो OpenClaw केवल तभी स्वतः चयन करता है जब ठीक एक कनेक्टेड Node googlemeet.chrome और ब्राउज़र नियंत्रण दोनों की उपलब्धता घोषित करता है; कई सक्षम Node कनेक्टेड होने पर chromeNode.node (Node आईडी, प्रदर्शन नाम या रिमोट IP) को पिन करें।
सामान्य विफलता जाँच
इंस्टॉल संबंधी टिप्पणियाँ
Chrome टॉक-बैक का डिफ़ॉल्ट दो बाहरी टूल का उपयोग करता है, जिन्हें OpenClaw बंडल या पुनर्वितरित नहीं करता; इन्हें Homebrew के माध्यम से होस्ट निर्भरताओं के रूप में इंस्टॉल करें:sox: कमांड-लाइन ऑडियो उपयोगिता। Plugin डिफ़ॉल्ट 24 kHz PCM16 ऑडियो ब्रिज के लिए स्पष्ट CoreAudio डिवाइस कमांड जारी करता है।blackhole-2ch:BlackHole 2chडिवाइस प्रदान करने वाला macOS वर्चुअल ऑडियो ड्राइवर, जिसके माध्यम से Chrome/Meet रूट होते हैं।
LGPL-2.0-only AND GPL-2.0-only के अंतर्गत लाइसेंस प्राप्त है; BlackHole GPL-3.0 है। यदि आप ऐसा इंस्टॉलर या उपकरण बनाते हैं जो BlackHole को OpenClaw के साथ बंडल करता है, तो BlackHole के अपस्ट्रीम लाइसेंस की समीक्षा करें या Existential Audio से अलग लाइसेंस प्राप्त करें।
ट्रांसपोर्ट
Chrome
OpenClaw ब्राउज़र नियंत्रण के माध्यम से Meet URL खोलता है और साइन-इन की गई OpenClaw ब्राउज़र प्रोफ़ाइल के रूप में जुड़ता है। macOS पर, Plugin लॉन्च से पहलेBlackHole 2ch की जाँच करता है और कॉन्फ़िगर होने पर Chrome खोलने से पहले ऑडियो ब्रिज स्वास्थ्य/स्टार्टअप कमांड चलाता है। स्थानीय Chrome के लिए browser.defaultProfile से प्रोफ़ाइल चुनें; इसके बजाय chrome.browserProfile को chrome-node होस्ट को भेजा जाता है।
BlackHole 2ch इंस्टॉल नहीं है, तो बिना ऑडियो पथ के जुड़ने के बजाय जुड़ाव सेटअप त्रुटि के साथ विफल हो जाता है।
Twilio
Voice call Plugin को सौंपा गया एक सख्त डायल प्लान। यह फ़ोन नंबरों के लिए Meet पेजों को पार्स नहीं करता; Google Meet को मीटिंग के लिए फ़ोन डायल-इन नंबर और PIN उपलब्ध कराना होगा। Voice Call को Chrome Node पर नहीं, Gateway होस्ट पर सक्षम करें:openclaw.json से बाहर रखने के लिए पर्यावरण के माध्यम से Twilio क्रेडेंशियल प्रदान करें:
OPENAI_API_KEY के साथ realtime.provider: "openai" का उपयोग करें।
voice-call सक्षम करने के बाद Gateway को पुनः आरंभ या रीलोड करें; Plugin कॉन्फ़िगरेशन परिवर्तन रीलोड होने तक प्रभावी नहीं होते। सत्यापित करें:
googlemeet setup में twilio-voice-call-plugin, twilio-voice-call-credentials और twilio-voice-call-webhook जाँच शामिल होती हैं।
--dtmf-sequence का उपयोग करें, जिसमें PIN से पहले विराम के लिए प्रारंभिक w या कॉमा हों:
OAuth और प्रीफ़्लाइट
Meet लिंक बनाने के लिए OAuth वैकल्पिक है, क्योंकिgooglemeet create ब्राउज़र स्वचालन पर फ़ॉलबैक कर सकता है। आधिकारिक API निर्माण, स्पेस समाधान या Meet Media API प्रीफ़्लाइट के लिए OAuth कॉन्फ़िगर करें। Chrome/Chrome-node जुड़ाव कभी भी OAuth पर निर्भर नहीं होते; वे साइन-इन की गई Chrome प्रोफ़ाइल, BlackHole/SoX और (chrome-node के लिए) किसी भी स्थिति में कनेक्टेड Node का उपयोग करते हैं।
Google क्रेडेंशियल बनाएँ
Google Cloud Console में:1
कोई प्रोजेक्ट बनाएँ या चुनें
2
Google Meet REST API सक्षम करें
3
OAuth सहमति स्क्रीन कॉन्फ़िगर करें
Google Workspace संगठन के लिए Internal सबसे सरल है। व्यक्तिगत/परीक्षण सेटअप के लिए External काम करता है; जब ऐप Testing में हो, तब उसे अधिकृत करने वाले प्रत्येक Google खाते को टेस्ट उपयोगकर्ता के रूप में जोड़ें।
4
अनुरोधित स्कोप जोड़ें
https://www.googleapis.com/auth/meetings.space.createdhttps://www.googleapis.com/auth/meetings.space.readonlyhttps://www.googleapis.com/auth/meetings.space.settingshttps://www.googleapis.com/auth/meetings.conference.media.readonlyhttps://www.googleapis.com/auth/calendar.events.readonly(Calendar खोज)https://www.googleapis.com/auth/drive.meet.readonly(ट्रांसक्रिप्ट/स्मार्ट-नोट दस्तावेज़ बॉडी निर्यात)
5
OAuth क्लाइंट ID बनाएँ
एप्लिकेशन प्रकार Web application। अधिकृत रीडायरेक्ट URI:
6
क्लाइंट ID और क्लाइंट सीक्रेट कॉपी करें
spaces.create के लिए meetings.space.created आवश्यक है। meetings.space.readonly Meet URL/कोड को स्पेस में हल करता है। meetings.space.settings OpenClaw को API कक्ष निर्माण के दौरान accessType जैसी SpaceConfig सेटिंग पास करने देता है। meetings.conference.media.readonly Meet Media API प्रीफ़्लाइट और मीडिया कार्य के लिए है; वास्तविक Media API उपयोग के लिए Google को Developer Preview नामांकन की आवश्यकता हो सकती है। calendar.events.readonly की आवश्यकता केवल --today/--event Calendar खोज के लिए है। drive.meet.readonly की आवश्यकता केवल --include-doc-bodies निर्यात के लिए है। यदि आपको केवल ब्राउज़र-आधारित Chrome जुड़ाव चाहिए, तो OAuth को पूरी तरह छोड़ दें।
रीफ़्रेश टोकन बनाएँ
oauth.clientId और वैकल्पिक रूप से oauth.clientSecret कॉन्फ़िगर करें (या उन्हें पर्यावरण चर के रूप में पास करें), फिर चलाएँ:
http://localhost:8085/oauth2callback पर localhost कॉलबैक के साथ PKCE प्रवाह चलाता है और रीफ़्रेश टोकन वाला oauth कॉन्फ़िगरेशन ब्लॉक प्रिंट करता है। जब ब्राउज़र स्थानीय कॉलबैक तक नहीं पहुँच सकता, तब कॉपी/पेस्ट प्रवाह के लिए --manual जोड़ें:
oauth ऑब्जेक्ट संग्रहीत करें:
openclaw googlemeet auth login --json फिर से चलाएँ, ताकि रीफ़्रेश टोकन वर्तमान स्कोप समूह को कवर करे।
डॉक्टर से OAuth सत्यापित करें
ok, configured, tokenSource, expiresAt, जाँच संदेश) शामिल होते हैं और यह कभी भी ऐक्सेस टोकन, रिफ़्रेश टोकन या क्लाइंट सीक्रेट प्रिंट नहीं करती।
साइड इफ़ेक्ट उत्पन्न करने वाली क्रिएट जाँच से Meet API का सक्षम होना और
spaces.create स्कोप प्रमाणित करें:
403 का सामान्यतः अर्थ है कि Meet REST API अक्षम है, रिफ़्रेश टोकन में आवश्यक स्कोप नहीं है या Google खाता उस स्पेस को ऐक्सेस नहीं कर सकता। रिफ़्रेश-टोकन त्रुटि का अर्थ है कि openclaw googlemeet auth login --json फिर से चलाएँ और नया oauth ब्लॉक संग्रहीत करें।
ब्राउज़र फ़ॉलबैक के लिए OAuth की आवश्यकता नहीं है; वहाँ Google प्रमाणीकरण, OpenClaw कॉन्फ़िग से नहीं, बल्कि चयनित Node पर साइन-इन किए गए Chrome प्रोफ़ाइल से आता है।
इन एनवायरनमेंट वेरिएबल को फ़ॉलबैक के रूप में स्वीकार किया जाता है:
OPENCLAW_GOOGLE_MEET_CLIENT_IDयाGOOGLE_MEET_CLIENT_IDOPENCLAW_GOOGLE_MEET_CLIENT_SECRETयाGOOGLE_MEET_CLIENT_SECRETOPENCLAW_GOOGLE_MEET_REFRESH_TOKENयाGOOGLE_MEET_REFRESH_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKENयाGOOGLE_MEET_ACCESS_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATयाGOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATOPENCLAW_GOOGLE_MEET_DEFAULT_MEETINGयाGOOGLE_MEET_DEFAULT_MEETINGOPENCLAW_GOOGLE_MEET_PREVIEW_ACKयाGOOGLE_MEET_PREVIEW_ACK
आर्टिफ़ैक्ट का समाधान, प्रीफ़्लाइट और पठन
--meeting के साथ, artifacts और attendance डिफ़ॉल्ट रूप से नवीनतम कॉन्फ़्रेंस रिकॉर्ड का उपयोग करते हैं; सुरक्षित रखे गए प्रत्येक रिकॉर्ड के लिए --all-conference-records पास करें।
Calendar लुकअप आर्टिफ़ैक्ट पढ़ने से पहले Google Calendar से मीटिंग URL का समाधान करता है (इसके लिए ऐसा रिफ़्रेश टोकन आवश्यक है जिसमें Calendar इवेंट का केवल-पढ़ने योग्य स्कोप शामिल हो):
--today Meet लिंक वाले इवेंट के लिए आज का primary कैलेंडर खोजता है; --event <query> मेल खाने वाला इवेंट टेक्स्ट खोजता है; --calendar <id> किसी गैर-प्राथमिक कैलेंडर को लक्षित करता है। calendar-events मेल खाने वाले इवेंट का पूर्वावलोकन करता है और चिह्नित करता है कि latest/artifacts/attendance/export किसे चुनेगा।
यदि कॉन्फ़्रेंस रिकॉर्ड ID पहले से ज्ञात है, तो उसे सीधे संबोधित करें:
spaces.endActiveConference को कॉल करता है और ऐसे स्पेस के लिए meetings.space.created स्कोप वाले OAuth की आवश्यकता होती है जिसे अधिकृत खाता प्रबंधित कर सकता है। यह Meet URL, मीटिंग कोड या spaces/{id} स्वीकार करता है और पहले उसका API स्पेस रिसोर्स में समाधान करता है। यह googlemeet leave से अलग है: leave OpenClaw की स्थानीय/सेशन भागीदारी रोकता है; end-active-conference Google Meet से उस स्पेस की सक्रिय कॉन्फ़्रेंस समाप्त करने के लिए कहता है।
पठनीय रिपोर्ट लिखें:
artifacts कॉन्फ़्रेंस रिकॉर्ड मेटाडेटा के साथ प्रतिभागी, रिकॉर्डिंग, ट्रांसक्रिप्ट, संरचित ट्रांसक्रिप्ट-एंट्री और स्मार्ट-नोट रिसोर्स मेटाडेटा लौटाता है। --no-transcript-entries बड़ी मीटिंग के लिए एंट्री लुकअप छोड़ देता है। attendance प्रतिभागियों को प्रतिभागी-सेशन पंक्तियों में विस्तारित करता है, जिनमें पहली/अंतिम बार देखे जाने का समय, कुल सेशन अवधि, देर से आने/जल्दी जाने के फ़्लैग और साइन-इन किए गए उपयोगकर्ता या डिस्प्ले नाम के आधार पर मर्ज किए गए डुप्लिकेट प्रतिभागी रिसोर्स होते हैं; --no-merge-duplicates रॉ रिसोर्स को अलग रखता है, और --late-after-minutes/--early-before-minutes थ्रेशोल्ड समायोजित करते हैं।
export, summary.md, attendance.csv, transcript.md, artifacts.json, attendance.json और manifest.json वाली फ़ोल्डर लिखता है। manifest.json चुने गए इनपुट, एक्सपोर्ट विकल्पों, कॉन्फ़्रेंस रिकॉर्ड, आउटपुट फ़ाइलों, गणनाओं, टोकन स्रोत, उपयोग किए गए किसी Calendar इवेंट और आंशिक पुनर्प्राप्ति चेतावनियों को रिकॉर्ड करता है। --zip फ़ोल्डर के पास एक पोर्टेबल आर्काइव भी लिखता है। --include-doc-bodies, Drive files.export के माध्यम से लिंक किए गए ट्रांसक्रिप्ट/स्मार्ट-नोट Google Docs टेक्स्ट को एक्सपोर्ट करता है (इसके लिए Drive Meet का केवल-पढ़ने योग्य स्कोप आवश्यक है); इसके बिना, एक्सपोर्ट में केवल Meet मेटाडेटा और संरचित ट्रांसक्रिप्ट एंट्री शामिल होती हैं। आंशिक आर्टिफ़ैक्ट विफलता (स्मार्ट-नोट सूचीकरण, ट्रांसक्रिप्ट-एंट्री या दस्तावेज़-बॉडी त्रुटि) पूरे एक्सपोर्ट को विफल करने के बजाय चेतावनी को सारांश/मैनिफ़ेस्ट में बनाए रखती है। --dry-run वही डेटा फ़ेच करता है और फ़ोल्डर या ZIP बनाए बिना मैनिफ़ेस्ट JSON प्रिंट करता है।
एजेंट google_meet टूल (export, create के साथ accessType, end_active_conference, test_listen) के माध्यम से उन्हीं कार्रवाइयों का उपयोग करते हैं; टूल देखें।
लाइव स्मोक टेस्ट
मूल आर्टिफ़ैक्ट/उपस्थिति स्मोक के लिए
meetings.space.readonly और meetings.conference.media.readonly आवश्यक हैं। Calendar लुकअप के लिए calendar.events.readonly आवश्यक है। Drive दस्तावेज़-बॉडी एक्सपोर्ट के लिए drive.meet.readonly आवश्यक है।
बनाने के उदाहरण
google_meet साधारण स्ट्रिंग के बजाय संरचित विवरण लौटाता है:
manualActionRequired: true या ब्राउज़र फ़ॉलबैक त्रुटि की रिपोर्ट करता है और ऑपरेटर से पुनः प्रयास करने से पहले Google लॉगिन पूरा करने को कहता है।
preview.enrollmentAcknowledged: true केवल यह पुष्टि करने के बाद सेट करें कि आपका Cloud प्रोजेक्ट, OAuth प्रिंसिपल और मीटिंग प्रतिभागी, Meet मीडिया API के Google Workspace Developer Preview Program में नामांकित हैं।
कॉन्फ़िग
सामान्य Chrome एजेंट पथ को केवल सक्षम Plugin, BlackHole, SoX, एक रियलटाइम प्रोवाइडर कुंजी और कॉन्फ़िगर किया गया OpenClaw TTS प्रोवाइडर चाहिए:डिफ़ॉल्ट
chrome.audioBridgeCommand और chrome.audioBridgeHealthCommand, chrome.audioInputCommand/chrome.audioOutputCommand के बजाय किसी बाहरी ब्रिज को संपूर्ण स्थानीय ऑडियो पथ का स्वामित्व लेने देते हैं; कौन-सा मोड उनका उपयोग कर सकता है, इसकी बाध्यता के लिए टिप्पणियाँ देखें।
लीगेसी realtime.provider: "google" आकार के लिए एक openclaw doctor --fix माइग्रेशन मौजूद है: यदि वे फ़ील्ड पहले से सेट नहीं हैं, तो यह उस आशय को realtime.voiceProvider: "google" और realtime.transcriptionProvider: "openai" में स्थानांतरित करता है।
वैकल्पिक ओवरराइड
tts.providers.elevenlabs.speakerVoiceId से आती है। TTS मॉडल ओवरराइड सक्षम होने पर एजेंट के उत्तर प्रति-उत्तर [[tts:speakerVoiceId=... model=eleven_v3]] निर्देशों का भी उपयोग कर सकते हैं, लेकिन मीटिंग के लिए कॉन्फ़िग नियतात्मक डिफ़ॉल्ट है। शामिल होने पर लॉग transcriptionProvider=elevenlabs दिखाते हैं, और प्रत्येक बोले गए उत्तर के लिए provider=elevenlabs model=eleven_v3 speakerVoiceId=<voiceId> लॉग होता है।
केवल Twilio के लिए कॉन्फ़िग:
voiceCall.enabled: true (डिफ़ॉल्ट) और Twilio ट्रांसपोर्ट के साथ, Voice Call रीयलटाइम मीडिया स्ट्रीम खोलने से पहले DTMF अनुक्रम स्थापित करता है, फिर सहेजे गए परिचय टेक्स्ट को आरंभिक रीयलटाइम अभिवादन के रूप में उपयोग करता है। यदि voice-call सक्षम नहीं है, तो Google Meet फिर भी डायल योजना को सत्यापित और रिकॉर्ड कर सकता है, लेकिन Twilio कॉल नहीं कर सकता।
स्थानीय विश्वसनीय Gateway रनटाइम का उपयोग करने के लिए voiceCall.gatewayUrl को अनसेट छोड़ें, जो पूरे
कॉल के दौरान आह्वान करने वाले एजेंट को बनाए रखता है। कॉन्फ़िगर किया गया Gateway URL स्पष्ट WebSocket लक्ष्य बना रहता है और
Plugin के उद्गम को प्रमाणित नहीं कर सकता; गैर-डिफ़ॉल्ट एजेंट जॉइन किसी अन्य एजेंट का चुपचाप
उपयोग करने के बजाय सुरक्षित रूप से विफल होते हैं। जब प्रति-एजेंट
रूटिंग आवश्यक हो, तब Google Meet और Voice Call को समान Gateway प्रक्रिया में चलाएँ।
टूल
एजेंटgoogle_meet टूल का उपयोग करते हैं:
test_speech हमेशा mode: "agent" या "bidi" को बाध्य करता है और mode: "transcribe" में चलाने के लिए कहे जाने पर विफल हो जाता है, क्योंकि केवल-अवलोकन सत्र वाणी उत्सर्जित नहीं कर सकते। speechOutputVerified के लिए ताज़ा रीयलटाइम आउटपुट बाइट और उस आउटपुट के दौरान ब्रिज के माइक्रोफ़ोन कैप्चर पथ पर लौटने वाला ताज़ा गैर-मौन ऑडियो, दोनों आवश्यक हैं। पुनः उपयोग किए गए सत्र का पुराना आउटपुट या लूपबैक संकेत मान्य नहीं होता, और केवल सिंक-बाइट की वृद्धि अब सत्यापित वाणी की सूचना नहीं देती।
Chrome ट्रांसपोर्ट के लिए, leave Meet का Leave call बटन क्लिक करने के बाद पुनः उपयोग किए गए उपयोगकर्ता-स्वामित्व वाले टैब को खुला रखता है। OpenClaw द्वारा खोले गए टैब प्रस्थान के बाद बंद हो जाते हैं।
जब Chrome Gateway होस्ट पर चलता हो तो transport: "chrome" का उपयोग करें, और युग्मित Node पर चलने पर transport: "chrome-node" का। दोनों स्थितियों में मॉडल प्रदाता और openclaw_agent_consult Gateway होस्ट पर चलते हैं, इसलिए मॉडल क्रेडेंशियल वहीं रहते हैं। एजेंट-मोड लॉग में ब्रिज स्टार्टअप के समय समाधान किया गया ट्रांसक्रिप्शन प्रदाता/मॉडल और प्रत्येक संश्लेषित उत्तर के बाद TTS प्रदाता/मॉडल/वॉइस/आउटपुट फ़ॉर्मैट/सैंपल दर शामिल होते हैं। कच्चा mode: "realtime" अब भी mode: "agent" के लिए पुरानी संगतता उपनाम के रूप में स्वीकार किया जाता है, लेकिन अब टूल के mode एनम में प्रदर्शित नहीं किया जाता।
API-समर्थित रूम और स्पष्ट ऐक्सेस नीति वाला create:
status में Chrome की स्थिति शामिल होती है:
एजेंट और द्विदिश मोड
agent मोड: रीयलटाइम ट्रांसक्रिप्शन प्रदाता मीटिंग ऑडियो सुनता है, अंतिम प्रतिभागी ट्रांसक्रिप्ट कॉन्फ़िगर किए गए OpenClaw एजेंट के माध्यम से रूट होते हैं, और उत्तर नियमित OpenClaw TTS के माध्यम से बोला जाता है। परामर्श से पहले आस-पास के अंतिम-ट्रांसक्रिप्ट अंश एकत्र किए जाते हैं, ताकि एक बोला गया क्रम कई पुराने आंशिक उत्तर उत्पन्न न करे; कतारबद्ध सहायक ऑडियो चलने के दौरान रीयलटाइम इनपुट दबा दिया जाता है, और परामर्श से पहले हाल के सहायक-जैसे ट्रांसक्रिप्ट प्रतिध्वनियों को अनदेखा किया जाता है, ताकि BlackHole लूपबैक एजेंट से उसकी अपनी वाणी का उत्तर न दिलवाए।
bidi मोड: रीयलटाइम वॉइस मॉडल सीधे उत्तर देता है और गहन तर्क, वर्तमान जानकारी या सामान्य OpenClaw टूल के लिए openclaw_agent_consult को कॉल कर सकता है। परामर्श टूल हाल के मीटिंग ट्रांसक्रिप्ट संदर्भ के साथ पृष्ठभूमि में नियमित OpenClaw एजेंट चलाता है और संक्षिप्त मौखिक उत्तर लौटाता है; agent मोड में OpenClaw उस उत्तर को सीधे TTS को भेजता है, और bidi मोड में रीयलटाइम वॉइस मॉडल उसे बोल सकता है। यह Voice Call वाली साझा परामर्श प्रणाली का ही उपयोग करता है।
डिफ़ॉल्ट रूप से परामर्श main एजेंट के विरुद्ध चलते हैं; Meet लेन को समर्पित एजेंट वर्कस्पेस, मॉडल डिफ़ॉल्ट, टूल नीति, मेमोरी और सत्र इतिहास की ओर इंगित करने के लिए realtime.agentId सेट करें। एजेंट-मोड परामर्श प्रति-मीटिंग agent:<id>:subagent:google-meet:<session> सत्र कुंजी का उपयोग करते हैं, इसलिए अनुवर्ती प्रश्न सामान्य एजेंट नीति प्राप्त करते हुए मीटिंग संदर्भ बनाए रखते हैं। जब कोई एजेंट, एजेंट मोड में google_meet को कॉल करता है, तो परामर्शदाता सत्र प्रतिभागी की वाणी का उत्तर देने से पहले कॉलर के वर्तमान ट्रांसक्रिप्ट को फ़ोर्क करता है; Meet सत्र अलग रहता है, इसलिए मीटिंग के अनुवर्ती प्रश्न कॉलर के ट्रांसक्रिप्ट को सीधे परिवर्तित नहीं करते।
realtime.toolPolicy परामर्श रन को नियंत्रित करता है:
परामर्श सत्र कुंजी प्रत्येक Meet सत्र के दायरे में होती है, इसलिए अनुवर्ती परामर्श कॉल उसी मीटिंग के दौरान पिछले परामर्श संदर्भ का पुनः उपयोग करते हैं।
Chrome के पूरी तरह जुड़ने के बाद मौखिक तत्परता जाँच बाध्य करें:
लाइव परीक्षण चेकलिस्ट
किसी मीटिंग को अप्रत्यक्ष एजेंट को सौंपने से पहले:googlemeet setupपूरी तरह हरा है, और जब Chrome-node डिफ़ॉल्ट ट्रांसपोर्ट हो या कोई नोड पिन किया गया हो, तब इसमेंchrome-node-connectedशामिल होता है।nodes statusचयनित नोड को कनेक्टेड दिखाता है, जोgooglemeet.chromeऔरbrowser.proxyदोनों को विज्ञापित करता है।- Meet टैब जुड़ता है, और
test-speech,inCall: trueके साथ Chrome की स्थिति लौटाता है।
googlemeet setupमें हरीtwilio-voice-call-plugin,twilio-voice-call-credentials, औरtwilio-voice-call-webhookजाँचें शामिल होती हैं।- Gateway को पुनः लोड करने के बाद
voicecallCLI में उपलब्ध होता है। - लौटाए गए सेशन में
transport: "twilio"और एकtwilio.voiceCallIdहोता है। openclaw logs --followदिखाता है कि रियलटाइम TwiML से पहले DTMF TwiML सर्व किया गया, फिर शुरुआती अभिवादन को कतार में रखकर एक रियलटाइम ब्रिज बनाया गया।googlemeet leave <sessionId>प्रत्यायोजित वॉइस कॉल समाप्त करता है।
समस्या निवारण
एजेंट को Google Meet टूल दिखाई नहीं देता
पुष्टि करें कि Plugin सक्षम है और Gateway को पुनः लोड करें; चल रहा एजेंट केवल वर्तमान Gateway प्रक्रिया द्वारा पंजीकृत Plugin टूल देखता है:google_meet दिखाई देता रहता है, लेकिन स्थानीय Chrome टॉक-बैक क्रियाएँ ऑडियो ब्रिज तक पहुँचने से पहले अवरुद्ध कर दी जाती हैं। डिफ़ॉल्ट स्थानीय Chrome एजेंट पथ के बजाय mode: "transcribe", Twilio डायल-इन, या macOS chrome-node होस्ट का उपयोग करें।
Google Meet-सक्षम कोई नोड कनेक्टेड नहीं है
नोड होस्ट पर:googlemeet.chrome के साथ browser.proxy सूचीबद्ध होना चाहिए; Gateway कॉन्फ़िगरेशन को दोनों की अनुमति देनी चाहिए:
googlemeet setup, chrome-node-connected में विफल होता है, या Gateway लॉग gateway token mismatch रिपोर्ट करता है, तो वर्तमान Gateway टोकन के साथ नोड को पुनः इंस्टॉल या रीस्टार्ट करें:
ब्राउज़र खुलता है लेकिन एजेंट जुड़ नहीं पाता
केवल-अवलोकन वाले जुड़ावों के लिएgooglemeet test-listen या रियलटाइम जुड़ावों के लिए googlemeet test-speech चलाएँ, फिर लौटाई गई Chrome स्थिति की जाँच करें। यदि इनमें से कोई भी manualActionRequired: true रिपोर्ट करता है, तो ऑपरेटर को manualActionMessage दिखाएँ और ब्राउज़र क्रिया पूरी होने तक पुनः प्रयास करना बंद करें।
सामान्य मैन्युअल क्रियाएँ: Chrome प्रोफ़ाइल में साइन इन करें; Meet होस्ट खाते से अतिथि को प्रवेश दें; नेटिव प्रॉम्प्ट दिखाई देने पर Chrome को माइक्रोफ़ोन/कैमरा अनुमतियाँ दें; अटके हुए Meet अनुमति डायलॉग को बंद करें या ठीक करें।
केवल इसलिए “साइन इन नहीं है” रिपोर्ट न करें क्योंकि Meet पूछता है “क्या आप चाहते हैं कि मीटिंग में लोग आपकी आवाज़ सुनें?”; यह Meet का ऑडियो-विकल्प मध्यवर्ती पृष्ठ है। उपलब्ध होने पर OpenClaw ब्राउज़र ऑटोमेशन के माध्यम से माइक्रोफ़ोन का उपयोग करें पर क्लिक करता है और वास्तविक मीटिंग स्थिति की प्रतीक्षा करता रहता है; केवल-निर्माण ब्राउज़र फ़ॉलबैक के लिए यह इसके बजाय माइक्रोफ़ोन के बिना जारी रखें पर क्लिक कर सकता है, क्योंकि URL बनाने के लिए रियलटाइम ऑडियो पथ की आवश्यकता नहीं होती।
मीटिंग निर्माण विफल होता है
OAuth कॉन्फ़िगर होने परgooglemeet create, Meet API spaces.create का उपयोग करता है, अन्यथा पिन किए गए Chrome नोड ब्राउज़र का। पुष्टि करें:
- API निर्माण:
oauth.clientIdऔरoauth.refreshToken(या संबंधितOPENCLAW_GOOGLE_MEET_*पर्यावरण चर) मौजूद हैं, और रीफ़्रेश टोकन निर्माण समर्थन जोड़े जाने के बाद बनाया गया था; पुराने टोकन मेंmeetings.space.createdअनुपस्थित हो सकता है, इसलिएopenclaw googlemeet auth login --jsonदोबारा चलाएँ। - ब्राउज़र फ़ॉलबैक:
defaultTransport: "chrome-node"औरchromeNode.nodeऐसे कनेक्टेड नोड की ओर संकेत करते हैं जिसमेंbrowser.proxyऔरgooglemeet.chromeहैं; उस नोड पर OpenClaw Chrome प्रोफ़ाइल साइन इन है औरhttps://meet.google.com/newखोल सकती है। - ब्राउज़र फ़ॉलबैक पुनः प्रयास: नया टैब खोलने से पहले मौजूदा
.../newया Google खाता प्रॉम्प्ट टैब का पुनः उपयोग करें; मैन्युअल रूप से दूसरा टैब खोलने के बजाय टूल कॉल को दोबारा चलाएँ। - मैन्युअल क्रिया: यदि टूल
manualActionRequired: trueलौटाता है, तो ऑपरेटर का मार्गदर्शन करने के लिएbrowser.nodeId,browser.targetId,browserUrl, औरmanualActionMessageका उपयोग करें; लूप में पुनः प्रयास न करें। - ऑडियो-विकल्प मध्यवर्ती पृष्ठ: यदि Meet “क्या आप चाहते हैं कि मीटिंग में लोग आपकी आवाज़ सुनें?” दिखाता है, तो टैब खुला छोड़ दें। OpenClaw को माइक्रोफ़ोन का उपयोग करें या (केवल निर्माण के लिए) माइक्रोफ़ोन के बिना जारी रखें पर क्लिक करके जनरेट किए गए URL की प्रतीक्षा करते रहना चाहिए; यदि वह ऐसा नहीं कर सकता, तो त्रुटि में
meet-audio-choice-requiredका उल्लेख होना चाहिए,google-login-requiredका नहीं।
एजेंट जुड़ता है लेकिन बोलता नहीं है
mode: "agent", और सीधे रियलटाइम वॉइस फ़ॉलबैक के लिए mode: "bidi" का उपयोग करें। mode: "transcribe" जानबूझकर कोई टॉक-बैक ब्रिज शुरू नहीं करता। केवल-अवलोकन डीबगिंग के लिए, प्रतिभागियों के बोलने के बाद openclaw googlemeet status --json <session-id> चलाएँ और captioning, transcriptLines, lastCaptionText जाँचें। यदि inCall सही है लेकिन transcriptLines, 0 ही रहता है, तो संभव है कि Meet कैप्शन अक्षम हों, ऑब्ज़र्वर इंस्टॉल होने के बाद किसी ने बात न की हो, Meet UI बदल गया हो, या मीटिंग की भाषा/खाते के लिए लाइव कैप्शन उपलब्ध न हों।
googlemeet test-speech हमेशा रियलटाइम पथ की जाँच करता है और रिपोर्ट करता है कि उस आह्वान के लिए ब्रिज आउटपुट बाइट देखे गए या नहीं। यदि speechOutputVerified गलत है और speechOutputTimedOut सही है, तो हो सकता है रियलटाइम प्रदाता ने कथन स्वीकार कर लिया हो, लेकिन OpenClaw ने Chrome ऑडियो ब्रिज तक नए आउटपुट बाइट पहुँचते हुए न देखे हों।
यह भी सत्यापित करें: Gateway होस्ट पर रियलटाइम प्रदाता कुंजी (OPENAI_API_KEY या GEMINI_API_KEY) उपलब्ध है; Chrome होस्ट पर BlackHole 2ch दिखाई देता है; वहाँ sox मौजूद है; Meet का माइक/स्पीकर वर्चुअल ऑडियो पथ के माध्यम से रूट किया गया है (स्थानीय Chrome रियलटाइम जुड़ावों के लिए doctor को meet output routed: yes दिखाना चाहिए)।
googlemeet doctor [session-id] सेशन, नोड, कॉल-अंतर्गत स्थिति, मैन्युअल क्रिया का कारण, रियलटाइम प्रदाता कनेक्शन, realtimeReady, ऑडियो इनपुट/आउटपुट गतिविधि, अंतिम ऑडियो टाइमस्टैम्प, बाइट काउंटर, और ब्राउज़र URL प्रिंट करता है। कच्चे JSON के लिए googlemeet status [session-id] --json, और टोकन उजागर किए बिना OAuth रीफ़्रेश सत्यापित करने के लिए googlemeet doctor --oauth (--meeting या --create-space जोड़ें) का उपयोग करें।
यदि किसी एजेंट का समय समाप्त हो गया है और Meet टैब पहले से खुला है, तो दूसरा टैब खोले बिना उसकी जाँच करें:
recover_current_tab है: यह नया टैब या सेशन खोले बिना चयनित ट्रांसपोर्ट ( chrome के लिए स्थानीय ब्राउज़र नियंत्रण, chrome-node के लिए कॉन्फ़िगर किया गया नोड) हेतु मौजूदा Meet टैब पर फ़ोकस करके उसकी जाँच करती है, और वर्तमान अवरोधक (लॉगिन, प्रवेश, अनुमतियाँ, ऑडियो-विकल्प स्थिति) रिपोर्ट करती है। CLI कमांड कॉन्फ़िगर किए गए Gateway से संवाद करता है, जिसका चलना आवश्यक है; chrome-node के लिए नोड का कनेक्टेड होना भी आवश्यक है।
Twilio सेटअप जाँचें विफल होती हैं
जबvoice-call अनुमत या सक्षम नहीं होता, तब twilio-voice-call-plugin विफल होता है: इसे plugins.allow में जोड़ें, plugins.entries.voice-call सक्षम करें, और Gateway को पुनः लोड करें।
जब Twilio बैकएंड में खाता SID, प्रमाणीकरण टोकन, या कॉलर नंबर नहीं होता, तब twilio-voice-call-credentials विफल होता है:
voice-call के पास सार्वजनिक Webhook एक्सपोज़र नहीं होता, या publicUrl लूपबैक/निजी नेटवर्क स्थान की ओर संकेत करता है, तब twilio-voice-call-webhook विफल होता है। localhost, 127.0.0.1, 0.0.0.0, 10.x, 172.16.x-172.31.x, 192.168.x, 169.254.x, fc00::/7, या fd00::/8 को publicUrl के रूप में उपयोग न करें; कैरियर कॉलबैक उन तक नहीं पहुँच सकते। plugins.entries.voice-call.config.publicUrl को किसी सार्वजनिक URL पर सेट करें, या टनल/Tailscale एक्सपोज़र कॉन्फ़िगर करें:
voicecall smoke केवल तत्परता की जाँच करता है। किसी विशिष्ट नंबर पर ड्राई-रन करें:
--yes जोड़ें:
Twilio कॉल शुरू होती है लेकिन मीटिंग में कभी प्रवेश नहीं करती
पुष्टि करें कि Meet ईवेंट फ़ोन डायल-इन विवरण उपलब्ध कराता है, और सटीक डायल-इन नंबर के साथ PIN या कस्टम DTMF अनुक्रम दें:--dtmf-sequence में आरंभिक w या अल्पविराम का उपयोग करें।
यदि कॉल बन जाती है लेकिन Meet प्रतिभागी सूची में डायल-इन प्रतिभागी कभी दिखाई नहीं देता:
openclaw googlemeet doctor <session-id>: प्रत्यायोजित Twilio कॉल ID, DTMF को कतार में रखा गया था या नहीं, और परिचयात्मक अभिवादन का अनुरोध किया गया था या नहीं, इसकी पुष्टि करें।openclaw voicecall status --call-id <id>: पुष्टि करें कि कॉल अभी भी सक्रिय है।openclaw voicecall tail: पुष्टि करें कि Twilio Webhook Gateway तक पहुँच रहे हैं।openclaw logs --follow: Twilio Meet अनुक्रम खोजें: Google Meet जुड़ाव प्रत्यायोजित करता है, Voice Call कनेक्शन-पूर्व DTMF TwiML को संग्रहीत और सर्व करता है, Voice Call Twilio कॉल के लिए रियलटाइम TwiML सर्व करता है, फिर Google Meetvoicecall.speakके साथ परिचयात्मक वाणी का अनुरोध करता है।openclaw googlemeet setup --transport twilioदोबारा चलाएँ; हरी सेटअप जाँच आवश्यक है, लेकिन यह प्रमाणित नहीं करती कि मीटिंग PIN अनुक्रम सही है।- पुष्टि करें कि डायल-इन नंबर उसी Meet आमंत्रण और क्षेत्र से संबंधित है जिससे PIN संबंधित है।
- यदि Meet धीरे उत्तर देता है या कनेक्शन-पूर्व DTMF भेजे जाने के बाद भी कॉल ट्रांसक्रिप्ट PIN प्रॉम्प्ट दिखाती है, तो
voiceCall.dtmfDelayMsको 12-सेकंड के डिफ़ॉल्ट से बढ़ाएँ। - यदि प्रतिभागी जुड़ जाता है लेकिन अभिवादन सुनाई नहीं देता, तो DTMF के बाद वाले
voicecall.speakअनुरोध और मीडिया-स्ट्रीम TTS प्लेबैक या Twilio<Say>फ़ॉलबैक के लिएopenclaw logs --followजाँचें। यदि ट्रांसक्रिप्ट अब भी “मीटिंग PIN दर्ज करें” दिखाती है, तो फ़ोन लेग अभी तक Meet कक्ष में शामिल नहीं हुआ है, इसलिए प्रतिभागियों को वाणी सुनाई नहीं देगी।
plugins.entries.voice-call.config.publicUrl या कॉन्फ़िगर की गई टनल तक पहुँचने में सक्षम होना चाहिए। वॉइस कॉल समस्या निवारण देखें।
टिप्पणियाँ
Google Meet का आधिकारिक मीडिया API प्राप्ति-उन्मुख है, इसलिए कॉल में बोलने के लिए अब भी प्रतिभागी पथ आवश्यक है। यह Plugin उस सीमा को स्पष्ट रखता है: Chrome ब्राउज़र सहभागिता और स्थानीय ऑडियो रूटिंग संभालता है; Twilio फ़ोन डायल-इन सहभागिता संभालता है। Chrome टॉक-बैक मोड के लिएBlackHole 2ch के साथ निम्न में से कोई एक भी आवश्यक है:
chrome.audioInputCommandके साथchrome.audioOutputCommand: OpenClaw ब्रिज का स्वामी होता है और उन कमांड तथा चयनित प्रदाता के बीचchrome.audioFormatमें ऑडियो पाइप करता है।agentमोड रीयल-टाइम ट्रांसक्रिप्शन और नियमित TTS का उपयोग करता है;bidiमोड रीयल-टाइम वॉइस प्रदाता का उपयोग करता है। डिफ़ॉल्ट पथchrome.audioBufferBytes: 4096के साथ 24 kHz PCM16 है; लीगेसी कमांड युग्मों के लिए 8 kHz G.711 mu-law उपलब्ध रहता है।chrome.audioBridgeCommand: कोई बाहरी ब्रिज कमांड संपूर्ण स्थानीय ऑडियो पथ का स्वामी होता है और अपने डेमन को शुरू या सत्यापित करने के बाद उसे बंद हो जाना चाहिए। यह केवलbidiके लिए मान्य है, क्योंकिagentमोड को TTS के लिए कमांड-युग्म तक सीधी पहुँच चाहिए।
chrome.bargeInInputCommand एक अलग स्थानीय माइक्रोफ़ोन सुन सकता है और किसी मानव के बोलना शुरू करने पर सहायक का प्लेबैक साफ़ कर सकता है, जिससे सहायक के प्लेबैक के दौरान साझा BlackHole लूपबैक इनपुट अस्थायी रूप से दबा होने पर भी मानव की वाणी सहायक के आउटपुट से आगे रहती है। chrome.audioInputCommand/chrome.audioOutputCommand की तरह, यह ऑपरेटर द्वारा कॉन्फ़िगर किया गया स्थानीय कमांड है: किसी स्पष्ट विश्वसनीय कमांड पथ या आर्ग्युमेंट सूची का उपयोग करें, किसी अविश्वसनीय स्थान की स्क्रिप्ट का कभी उपयोग न करें।
स्वच्छ डुप्लेक्स ऑडियो के लिए, Meet आउटपुट और Meet माइक्रोफ़ोन को अलग-अलग वर्चुअल डिवाइसों या Loopback-शैली के वर्चुअल डिवाइस ग्राफ़ से रूट करें; एकल साझा BlackHole डिवाइस अन्य प्रतिभागियों की आवाज़ को वापस कॉल में प्रतिध्वनित कर सकता है।
googlemeet speak किसी Chrome सत्र के लिए सक्रिय टॉक-बैक ऑडियो ब्रिज को ट्रिगर करता है; googlemeet leave उसे रोकता है (और Voice Call के माध्यम से प्रत्यायोजित Twilio सत्रों के लिए, अंतर्निहित कॉल को काट देता है)। API-प्रबंधित स्पेस के लिए सक्रिय Google Meet कॉन्फ़्रेंस भी बंद करने हेतु googlemeet end-active-conference का उपयोग करें।