Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
ما الذي يعمل
- فهم الوسائط (الصوت): إذا كان فهم الصوت ممكّنًا (أو تم اكتشافه تلقائيًا)، فإن 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أو النموذج الصغير المضمّن)whisper(واجهة CLI من Python؛ تنزّل النماذج تلقائيًا)
- Gemini CLI (
gemini) باستخدامread_many_files - مصادقة المزوّد
- تتم تجربة إدخالات
models.providers.*المضبوطة التي تدعم الصوت أولًا - ترتيب الاحتياطي المضمّن: OpenAI → Groq → xAI → Deepgram → Google → SenseAudio → ElevenLabs → Mistral
- تتم تجربة إدخالات
tools.media.audio.enabled: false.
للتخصيص، عيّن tools.media.audio.models.
ملاحظة: اكتشاف الملفات الثنائية يتم بأفضل جهد عبر macOS/Linux/Windows؛ تأكد من أن CLI موجودة على PATH (نوسّع ~)، أو عيّن نموذج CLI صريحًا بمسار أمر كامل.
أمثلة التكوين
مزوّد + احتياطي CLI (OpenAI + Whisper CLI)
مزوّد فقط مع تقييد النطاق
مزوّد فقط (Deepgram)
مزوّد فقط (Mistral Voxtral)
مزوّد فقط (SenseAudio)
تكرار النص المنسوخ إلى الدردشة (اختياري)
ملاحظات وحدود
- تتبع مصادقة المزوّد ترتيب مصادقة النموذج القياسي (ملفات تعريف المصادقة، ومتغيرات البيئة، و
models.providers.*.apiKey). - تفاصيل إعداد Groq: Groq.
- يلتقط Deepgram قيمة
DEEPGRAM_API_KEYعند استخدامprovider: "deepgram". - تفاصيل إعداد Deepgram: Deepgram (نسخ الصوت).
- تفاصيل إعداد Mistral: Mistral.
- يلتقط SenseAudio قيمة
SENSEAUDIO_API_KEYعند استخدامprovider: "senseaudio". - تفاصيل إعداد SenseAudio: SenseAudio.
- يمكن لمزوّدي الصوت تجاوز
baseUrlوheadersوproviderOptionsعبرtools.media.audio. - حد الحجم الافتراضي هو 20MB (
tools.media.audio.maxBytes). يتم تخطي الصوت الذي يتجاوز الحجم لذلك النموذج، ثم تتم تجربة الإدخال التالي. - يتم تخطي ملفات الصوت الصغيرة جدًا/الفارغة التي يقل حجمها عن 1024 بايت قبل نسخ المزوّد/CLI.
- قيمة
maxCharsالافتراضية للصوت غير معيّنة (النص المنسوخ كامل). عيّنtools.media.audio.maxCharsأوmaxCharsلكل إدخال لاقتطاع المخرجات. - الافتراضي التلقائي لـ OpenAI هو
gpt-4o-mini-transcribe؛ عيّنmodel: "gpt-4o-transcribe"لدقة أعلى. - استخدم
tools.media.audio.attachmentsلمعالجة ملاحظات صوتية متعددة (mode: "all"+maxAttachments). - النص المنسوخ متاح للقوالب باسم
{{Transcript}}. - يكون
tools.media.audio.echoTranscriptمتوقفًا افتراضيًا؛ مكّنه لإرسال تأكيد النص المنسوخ مرة أخرى إلى الدردشة الأصلية قبل معالجة الوكيل. - يخصص
tools.media.audio.echoFormatنص التكرار (العنصر النائب:{transcript}). - يتم تقييد stdout الخاص بـ CLI (5MB)؛ اجعل مخرجات CLI موجزة.
- يجب أن تستخدم
argsالخاصة بـ CLI قيمة{{MediaPath}}لمسار ملف الصوت المحلي. شغّلopenclaw doctor --fixلترحيل عناصر{input}النائبة المهملة من تكويناتaudio.transcription.commandالأقدم.
دعم بيئة الوكيل
يحترم نسخ الصوت المستند إلى المزوّد متغيرات بيئة الوكيل القياسية الصادرة:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
اكتشاف الإشارات في المجموعات
عند تعيينrequireMention: true لدردشة جماعية، يقوم OpenClaw الآن بنسخ الصوت قبل التحقق من الإشارات. يتيح ذلك معالجة الملاحظات الصوتية حتى عندما تحتوي على إشارات.
كيف يعمل:
- إذا لم تكن للرسالة الصوتية متن نصي وكانت المجموعة تتطلب إشارات، ينفذ OpenClaw نسخًا “تمهيديًا”.
- يتم التحقق من النص المنسوخ بحثًا عن أنماط الإشارة (مثل
@BotName، ومشغلات الرموز التعبيرية). - إذا تم العثور على إشارة، تتابع الرسالة عبر مسار الرد الكامل.
- يُستخدم النص المنسوخ لاكتشاف الإشارات بحيث يمكن للملاحظات الصوتية اجتياز بوابة الإشارة.
- إذا فشل النسخ أثناء التمهيد (مهلة، خطأ API، وما إلى ذلك)، تتم معالجة الرسالة بناءً على اكتشاف الإشارات النصي فقط.
- يضمن هذا عدم إسقاط الرسائل المختلطة (نص + صوت) بشكل غير صحيح أبدًا.
- عيّن
channels.telegram.groups.<chatId>.disableAudioPreflight: trueلتخطي فحوصات إشارات النص المنسوخ التمهيدية لتلك المجموعة. - عيّن
channels.telegram.groups.<chatId>.topics.<threadId>.disableAudioPreflightللتجاوز لكل موضوع (trueللتخطي، وfalseلفرض التمكين). - الافتراضي هو
false(التمهيد ممكّن عندما تتطابق شروط بوابة الإشارة).
requireMention: true. يتم نسخ الملاحظة الصوتية، واكتشاف الإشارة، ويرد الوكيل.
تنبيهات
- تستخدم قواعد النطاق أسبقية أول تطابق. يتم تطبيع
chatTypeإلىdirectأوgroupأوroom. - تأكد من أن CLI تخرج بالرمز 0 وتطبع نصًا عاديًا؛ يحتاج JSON إلى المعالجة عبر
jq -r .text. - بالنسبة إلى
parakeet-mlx، إذا مررت--output-dir، يقرأ OpenClaw من<output-dir>/<media-basename>.txtعندما تكون--output-formatهيtxt(أو محذوفة)؛ أما تنسيقات المخرجات غيرtxtفتعود إلى تحليل stdout. - أبقِ المهل معقولة (
timeoutSeconds، الافتراضي 60 ثانية) لتجنب حظر طابور الرد. - لا يعالج النسخ التمهيدي إلا المرفق الصوتي الأول لاكتشاف الإشارات. تتم معالجة الصوت الإضافي أثناء مرحلة فهم الوسائط الرئيسية.