- नेटिव macOS/iOS/Android Talk स्थानीय स्पीच रिकग्निशन, Gateway चैट, और
talk.speakTTS का उपयोग करता है। नोडtalkक्षमता विज्ञापित करते हैं और वे जिनtalk.*कमांड का समर्थन करते हैं उन्हें घोषित करते हैं। - ब्राउज़र Talk क्लाइंट-स्वामित्व वाले
webrtcऔरprovider-websocketसत्रों के लिएtalk.client.create, या Gateway-स्वामित्व वालेgateway-relayसत्रों के लिएtalk.session.createका उपयोग करता है।managed-roomGateway हैंडऑफ और वॉकी-टॉकी रूम के लिए आरक्षित है। - Android Talk
talk.realtime.mode: "realtime"औरtalk.realtime.transport: "gateway-relay"के साथ Gateway-स्वामित्व वाले रियलटाइम रिले सत्रों में ऑप्ट इन कर सकता है। अन्यथा यह नेटिव स्पीच रिकग्निशन, Gateway चैट, औरtalk.speakपर रहता है। - केवल-ट्रांसक्रिप्शन क्लाइंट
talk.session.create({ mode: "transcription", transport: "gateway-relay", brain: "none" })का उपयोग करते हैं, फिर जब उन्हें सहायक की वॉइस प्रतिक्रिया के बिना कैप्शन या डिक्टेशन चाहिए तबtalk.session.appendAudio,talk.session.cancelTurn, औरtalk.session.closeका उपयोग करते हैं।
- भाषण सुनें
- सक्रिय सत्र के माध्यम से ट्रांसक्रिप्ट मॉडल को भेजें
- प्रतिक्रिया की प्रतीक्षा करें
- कॉन्फ़िगर किए गए Talk प्रदाता (
talk.speak) के माध्यम से उसे बोलें
talk.client.toolCall के माध्यम से आगे भेजता है; ब्राउज़र क्लाइंट रियलटाइम परामर्शों के लिए सीधे chat.send कॉल नहीं करते।
जब कोई रियलटाइम परामर्श सक्रिय हो, Talk क्लाइंट बोले गए इनपुट को status, steer, cancel, या
followup के रूप में वर्गीकृत करने के लिए talk.client.steer या
talk.session.steer का उपयोग कर सकते हैं। स्वीकृत स्टीयरिंग सक्रिय एम्बेडेड रन में कतारबद्ध की जाती है; अस्वीकृत
स्टीयरिंग no_active_run, not_streaming,
या compacting जैसे संरचित कारण लौटाती है।
केवल-ट्रांसक्रिप्शन Talk रियलटाइम और STT/TTS सत्रों जैसा ही सामान्य Talk इवेंट एनवेलप उत्सर्जित करता है, लेकिन mode: "transcription" और brain: "none" का उपयोग करता है। यह कैप्शन, डिक्टेशन, और केवल-अवलोकन स्पीच कैप्चर के लिए है; वन-शॉट अपलोड किए गए वॉइस नोट अब भी मीडिया/ऑडियो पथ का उपयोग करते हैं।
व्यवहार (macOS)
- Talk मोड सक्षम होने पर हमेशा-चालू ओवरले।
- सुनना → सोचना → बोलना चरण संक्रमण।
- छोटे विराम (साइलेंस विंडो) पर, वर्तमान ट्रांसक्रिप्ट भेजी जाती है।
- उत्तर WebChat में लिखे जाते हैं (टाइप करने जैसा)।
- भाषण पर व्यवधान (डिफ़ॉल्ट रूप से चालू): अगर सहायक के बोलते समय उपयोगकर्ता बोलना शुरू करता है, हम प्लेबैक रोक देते हैं और अगले प्रॉम्प्ट के लिए व्यवधान टाइमस्टैम्प नोट करते हैं।
उत्तरों में वॉइस निर्देश
सहायक वॉइस नियंत्रित करने के लिए अपने उत्तर के आगे एकल JSON पंक्ति लगा सकता है:- केवल पहली गैर-खाली पंक्ति।
- अज्ञात कुंजियां अनदेखी की जाती हैं।
once: trueकेवल वर्तमान उत्तर पर लागू होता है।onceके बिना, वॉइस Talk मोड के लिए नया डिफ़ॉल्ट बन जाती है।- TTS प्लेबैक से पहले JSON पंक्ति हटा दी जाती है।
voice/voice_id/voiceIdmodel/model_id/modelIdspeed,rate(WPM),stability,similarity,style,speakerBoostseed,normalize,lang,output_format,latency_tieronce
कॉन्फ़िग (~/.openclaw/openclaw.json)
interruptOnSpeech: truesilenceTimeoutMs: सेट न होने पर, Talk ट्रांसक्रिप्ट भेजने से पहले प्लेटफ़ॉर्म का डिफ़ॉल्ट पॉज़ विंडो रखता है (700 ms on macOS and Android, 900 ms on iOS)provider: सक्रिय Talk प्रदाता चुनता है। macOS-स्थानीय प्लेबैक पथों के लिएelevenlabs,mlx, याsystemका उपयोग करें।providers.<provider>.voiceId: ElevenLabs के लिएELEVENLABS_VOICE_ID/SAG_VOICE_IDपर वापस जाता है (या API कुंजी उपलब्ध होने पर पहली ElevenLabs वॉइस)।providers.elevenlabs.modelId: सेट न होने पर डिफ़ॉल्टeleven_v3होता है।providers.mlx.modelId: सेट न होने पर डिफ़ॉल्टmlx-community/Soprano-80M-bf16होता है।providers.elevenlabs.apiKey:ELEVENLABS_API_KEYपर वापस जाता है (या उपलब्ध होने पर Gateway शेल प्रोफ़ाइल)।consultThinkingLevel: रियलटाइमopenclaw_agent_consultकॉल के पीछे पूर्ण OpenClaw एजेंट रन के लिए वैकल्पिक थिंकिंग लेवल ओवरराइड।consultFastMode: रियलटाइमopenclaw_agent_consultकॉल के लिए वैकल्पिक फ़ास्ट-मोड ओवरराइड।realtime.provider: सक्रिय ब्राउज़र/सर्वर रियलटाइम वॉइस प्रदाता चुनता है। WebRTC के लिएopenai, प्रदाता WebSocket के लिएgoogle, या Gateway रिले के माध्यम से केवल-ब्रिज प्रदाता का उपयोग करें।realtime.providers.<provider>प्रदाता-स्वामित्व वाला रियलटाइम कॉन्फ़िग संग्रहीत करता है। ब्राउज़र को केवल अल्पकालिक या सीमित सत्र क्रेडेंशियल मिलते हैं, कभी भी मानक API कुंजी नहीं।realtime.providers.openai.voice: बिल्ट-इन OpenAI Realtime वॉइस id। वर्तमानgpt-realtime-2वॉइसalloy,ash,ballad,coral,echo,sage,shimmer,verse,marin, औरcedarहैं; सर्वोत्तम गुणवत्ता के लिएmarinऔरcedarअनुशंसित हैं।realtime.transport:webrtcऔरprovider-websocketब्राउज़र रियलटाइम ट्रांसपोर्ट हैं। Android रियलटाइम रिले का उपयोग केवल तब करता है जब यहgateway-relayहो; अन्यथा Android Talk अपने नेटिव STT/TTS लूप का उपयोग करता है।realtime.brain:agent-consultरियलटाइम टूल कॉल को Gateway नीति के माध्यम से रूट करता है;direct-toolsविरासती डायरेक्ट-टूल संगतता व्यवहार है;noneट्रांसक्रिप्शन या बाहरी ऑर्केस्ट्रेशन के लिए है।realtime.consultRouting: जब प्रदाताopenclaw_agent_consultछोड़ता है तोprovider-directप्रदाता के सीधे उत्तर को बनाए रखता है;force-agent-consultGateway रिले को अंतिम उपयोगकर्ता ट्रांसक्रिप्ट OpenClaw के माध्यम से रूट करने को कहता है।realtime.instructions: OpenClaw के बिल्ट-इन रियलटाइम प्रॉम्प्ट में प्रदाता-सामने सिस्टम निर्देश जोड़ता है। इसे वॉइस शैली और टोन के लिए उपयोग करें; OpenClaw डिफ़ॉल्टopenclaw_agent_consultमार्गदर्शन रखता है।talk.catalogप्रत्येक प्रदाता के वैध मोड, ट्रांसपोर्ट, ब्रेन रणनीतियां, रियलटाइम ऑडियो फ़ॉर्मैट, और क्षमता फ़्लैग उजागर करता है ताकि प्रथम-पक्ष Talk क्लाइंट असमर्थित संयोजनों से बच सकें।- स्ट्रीमिंग ट्रांसक्रिप्शन प्रदाता
talk.catalog.transcriptionके माध्यम से खोजे जाते हैं। वर्तमान Gateway रिले समर्पित Talk ट्रांसक्रिप्शन कॉन्फ़िग सतह जोड़े जाने तक Voice Call स्ट्रीमिंग प्रदाता कॉन्फ़िग का उपयोग करता है। speechLocale: iOS/macOS पर ऑन-डिवाइस Talk स्पीच रिकग्निशन के लिए वैकल्पिक BCP 47 लोकेल id। डिवाइस डिफ़ॉल्ट उपयोग करने के लिए इसे सेट न करें।outputFormat: macOS/iOS पर डिफ़ॉल्टpcm_44100और Android परpcm_24000होता है (MP3 स्ट्रीमिंग बाध्य करने के लिएmp3_*सेट करें)
macOS UI
- मेनू बार टॉगल: Talk
- कॉन्फ़िग टैब: Talk मोड समूह (वॉइस id + व्यवधान टॉगल)
- ओवरले:
- सुनना: क्लाउड माइक स्तर के साथ पल्स करता है
- सोचना: सिंकिंग एनीमेशन
- बोलना: विकीर्ण होती रिंग
- क्लाउड पर क्लिक करें: बोलना रोकें
- X पर क्लिक करें: Talk मोड से बाहर निकलें
Android UI
- वॉइस टैब टॉगल: Talk
- मैनुअल Mic और Talk परस्पर अनन्य रनटाइम कैप्चर मोड हैं।
- जब ऐप फ़ोरग्राउंड छोड़ता है या उपयोगकर्ता Voice टैब छोड़ता है, मैनुअल Mic रुक जाता है।
- Talk मोड तब तक चलता रहता है जब तक उसे बंद न किया जाए या Android नोड डिस्कनेक्ट न हो जाए, और सक्रिय रहते समय Android के माइक्रोफ़ोन फ़ोरग्राउंड-सर्विस प्रकार का उपयोग करता है।
नोट्स
- Speech + Microphone अनुमतियां आवश्यक हैं।
- नेटिव Talk सक्रिय Gateway सत्र का उपयोग करता है और प्रतिक्रिया इवेंट उपलब्ध न होने पर ही इतिहास पोलिंग पर वापस जाता है।
- ब्राउज़र रियलटाइम Talk प्रदाता-स्वामित्व वाले ब्राउज़र सत्रों को
chat.sendउजागर करने के बजायopenclaw_agent_consultके लिएtalk.client.toolCallका उपयोग करता है। - केवल-ट्रांसक्रिप्शन Talk
talk.session.create,talk.session.appendAudio,talk.session.cancelTurn, औरtalk.session.closeका उपयोग करता है; क्लाइंट आंशिक/अंतिम ट्रांसक्रिप्ट अपडेट के लिएtalk.eventको सब्सक्राइब करते हैं। - gateway सक्रिय Talk प्रदाता का उपयोग करके
talk.speakके माध्यम से Talk प्लेबैक हल करता है। Android उस RPC के अनुपलब्ध होने पर ही स्थानीय सिस्टम TTS पर वापस जाता है। - macOS स्थानीय MLX प्लेबैक मौजूद होने पर बंडल किए गए
openclaw-mlx-ttsहेल्पर, याPATHपर किसी executable का उपयोग करता है। विकास के दौरान कस्टम हेल्पर बाइनरी की ओर इंगित करने के लिएOPENCLAW_MLX_TTS_BINसेट करें। eleven_v3के लिएstabilityको0.0,0.5, या1.0पर मान्य किया जाता है; अन्य मॉडल0..1स्वीकार करते हैं।- सेट होने पर
latency_tierको0..4पर मान्य किया जाता है। - Android कम-लेटेंसी AudioTrack स्ट्रीमिंग के लिए
pcm_16000,pcm_22050,pcm_24000, औरpcm_44100आउटपुट फ़ॉर्मैट का समर्थन करता है।