ऑडियो / वॉयस नोट्स — 2026-01-17
क्या काम करता है
- मीडिया समझ (ऑडियो): यदि ऑडियो समझ सक्षम है (या स्वतः‑पता चल जाती है), OpenClaw:
- पहले ऑडियो अटैचमेंट (लोकल पथ या URL) को खोजता है और आवश्यकता होने पर डाउनलोड करता है।
- प्रत्येक मॉडल एंट्री को भेजने से पहले
maxBytesलागू करता है। - क्रम में पहली पात्र मॉडल एंट्री (प्रदाता या CLI) चलाता है।
- यदि वह विफल होती है या स्किप होती है (आकार/टाइमआउट), तो अगली एंट्री आज़माता है।
- सफलता पर,
Bodyको[Audio]ब्लॉक से बदलता है और{{Transcript}}सेट करता है।
- कमांड पार्सिंग: जब ट्रांसक्रिप्शन सफल होता है, तो
CommandBody/RawBodyको ट्रांसक्रिप्ट पर सेट किया जाता है ताकि स्लैश कमांड्स काम करते रहें। - विस्तृत लॉगिंग:
--verboseमें, हम लॉग करते हैं कि ट्रांसक्रिप्शन कब चलता है और कब यह बॉडी को बदलता है।
स्वतः‑पता लगाना (डिफ़ॉल्ट)
यदि आप मॉडल कॉन्फ़िगर नहीं करते औरtools.media.audio.enabled को false पर सेट नहीं किया गया है,
तो OpenClaw निम्न क्रम में स्वतः‑पता लगाता है और पहली कार्यशील विकल्प पर रुक जाता है:
- लोकल CLI (यदि इंस्टॉल हों)
sherpa-onnx-offline(इसके लिएSHERPA_ONNX_MODEL_DIRआवश्यक है, जिसमें encoder/decoder/joiner/tokens हों)whisper-cli(whisper-cppसे;WHISPER_CPP_MODELया बंडल्ड tiny मॉडल का उपयोग करता है)whisper(Python CLI; मॉडल स्वतः डाउनलोड करता है)
- Gemini CLI (
gemini) का उपयोगread_many_filesके साथ - प्रदाता कुंजियाँ (OpenAI → Groq → Deepgram → Google)
tools.media.audio.enabled: false सेट करें।
Customize करने के लिए, tools.media.audio.models सेट करें।
टिप्पणी: बाइनरी डिटेक्शन macOS/Linux/Windows पर best‑effort है; सुनिश्चित करें कि CLI PATH पर है (हम ~ का विस्तार करते हैं), या पूर्ण कमांड पथ के साथ एक स्पष्ट CLI मॉडल सेट करें।
विन्यास उदाहरण
प्रदाता + CLI फ़ॉलबैक (OpenAI + Whisper CLI)
स्कोप गेटिंग के साथ केवल‑प्रदाता
केवल‑प्रदाता (Deepgram)
नोट्स और सीमाएँ
- प्रदाता प्रमाणीकरण मानक मॉडल प्रमाणीकरण क्रम का पालन करता है (auth प्रोफ़ाइल, env vars,
models.providers.*.apiKey)। - Deepgram, जब
provider: "deepgram"उपयोग किया जाता है, तोDEEPGRAM_API_KEYको ग्रहण करता है। - Deepgram सेटअप विवरण: Deepgram (ऑडियो ट्रांसक्रिप्शन)।
- ऑडियो प्रदाता
tools.media.audioके माध्यम सेbaseUrl,headers, औरproviderOptionsको ओवरराइड कर सकते हैं। - Default size cap 20MB है (
tools.media.audio.maxBytes)। Oversize audio उस मॉडल के लिए छोड़ दिया जाता है और अगली प्रविष्टि आज़माई जाती है। - Audio के लिए default
maxCharsunset होता है (पूरा transcript)। आउटपुट ट्रिम करने के लिएtools.media.audio.maxCharsया प्रति-प्रविष्टिmaxCharsसेट करें। - OpenAI का ऑटो डिफ़ॉल्ट
gpt-4o-mini-transcribeहै; अधिक सटीकता के लिएmodel: "gpt-4o-transcribe"सेट करें। - अनेक वॉयस नोट्स प्रोसेस करने के लिए
tools.media.audio.attachmentsका उपयोग करें (mode: "all"+maxAttachments)। - ट्रांसक्रिप्ट टेम्पलेट्स में
{{Transcript}}के रूप में उपलब्ध है। - CLI stdout सीमित है (5MB); CLI आउटपुट संक्षिप्त रखें।
सावधानियाँ
जब समूह चैट के लिएrequireMention: true सेट किया जाता है, तो OpenClaw अब उल्लेखों की जाँच करने से पहले ऑडियो का ट्रांसक्रिप्शन करता है। इससे वॉइस नोट्स को प्रोसेस किया जा सकता है, भले ही उनमें उल्लेख शामिल हों।
यह कैसे काम करता है:
- यदि किसी वॉइस संदेश में टेक्स्ट बॉडी नहीं है और समूह में उल्लेख आवश्यक है, तो OpenClaw “preflight” ट्रांसक्रिप्शन करता है।
- ट्रांसक्रिप्ट में उल्लेख पैटर्न (जैसे,
@BotName, इमोजी ट्रिगर्स) की जाँच की जाती है। - यदि कोई उल्लेख मिलता है, तो संदेश पूर्ण रिप्लाई पाइपलाइन से होकर गुजरता है।
- उल्लेख पहचान के लिए ट्रांसक्रिप्ट का उपयोग किया जाता है ताकि वॉइस नोट्स उल्लेख गेट को पार कर सकें।
- यदि preflight के दौरान ट्रांसक्रिप्शन विफल हो जाता है (टाइमआउट, API त्रुटि आदि), तो संदेश को केवल टेक्स्ट-आधारित उल्लेख पहचान के आधार पर प्रोसेस किया जाता है।
- यह सुनिश्चित करता है कि मिश्रित संदेश (टेक्स्ट + ऑडियो) कभी भी गलत तरीके से ड्रॉप न हों।
requireMention: true के साथ एक Telegram समूह में “Hey @Claude, what’s the weather?” कहते हुए एक वॉइस नोट भेजता है। वॉइस नोट का ट्रांसक्रिप्शन किया जाता है, मेंशन का पता लगाया जाता है, और एजेंट उत्तर देता है।
सावधानियाँ
- Scope rules में first-match wins लागू होता है।
chatTypeकोdirect,group, याroomमें normalize किया जाता है। - सुनिश्चित करें कि आपका CLI 0 के साथ बाहर निकलता है और सादा पाठ प्रिंट करता है; JSON को
jq -r .textके माध्यम से समायोजित करना होगा। - उत्तर कतार को ब्लॉक होने से बचाने के लिए टाइमआउट उचित रखें (
timeoutSeconds, डिफ़ॉल्ट 60s)। - Preflight ट्रांसक्रिप्शन मेंशन पहचान के लिए केवल पहले ऑडियो अटैचमेंट को प्रोसेस करता है। अतिरिक्त ऑडियो को मुख्य मीडिया समझ चरण के दौरान प्रोसेस किया जाता है।