وضع التحدث
وضع التحدث هو حلقة محادثة صوتية مستمرة:- الاستماع إلى الكلام
- إرسال النص المفرغ إلى النموذج (الجلسة الرئيسية،
chat.send) - انتظار الرد
- نطقه عبر موفّر Talk المُعدّ (
talk.speak)
السلوك (macOS)
- تراكب دائم الظهور ما دام وضع التحدث مفعّلًا.
- انتقالات بين مراحل الاستماع → التفكير → التحدث.
- عند توقف قصير (نافذة صمت)، يتم إرسال النص المفرغ الحالي.
- تُكتب الردود في WebChat (مثلها مثل الكتابة).
- المقاطعة عند الكلام (مفعّلة افتراضيًا): إذا بدأ المستخدم بالكلام بينما كان المساعد يتحدث، فإننا نوقف التشغيل ونسجل الطابع الزمني للمقاطعة من أجل prompt التالي.
توجيهات الصوت داخل الردود
يمكن للمساعد أن يسبق رده بسطر JSON واحد للتحكم في الصوت:- أول سطر غير فارغ فقط.
- يتم تجاهل المفاتيح غير المعروفة.
- تطبق
once: trueعلى الرد الحالي فقط. - من دون
once، يصبح الصوت هو الافتراضي الجديد لوضع التحدث. - تتم إزالة سطر JSON قبل تشغيل TTS.
voice/voice_id/voiceIdmodel/model_id/modelIdspeedوrate(كلمات في الدقيقة)، وstability، وsimilarity، وstyle، وspeakerBoostseedوnormalizeوlangوoutput_formatوlatency_tieronce
الإعدادات (~/.openclaw/openclaw.json)
interruptOnSpeech: truesilenceTimeoutMs: عند عدم تعيينه، يحتفظ Talk بنافذة التوقف الافتراضية الخاصة بالمنصة قبل إرسال النص المفرغ (700 msعلى macOS وAndroid، و900 msعلى iOS)voiceId: يرجع إلىELEVENLABS_VOICE_ID/SAG_VOICE_ID(أو أول صوت من ElevenLabs عندما يكون API key متاحًا)modelId: القيمة الافتراضية هيeleven_v3عند عدم التعيينapiKey: يرجع إلىELEVENLABS_API_KEY(أو ملف shell profile الخاص بالبوابة إذا كان متاحًا)outputFormat: القيمة الافتراضية هيpcm_44100على macOS/iOS وpcm_24000على Android (اضبطmp3_*لفرض بث MP3)
واجهة macOS
- مفتاح التبديل في شريط القوائم: Talk
- تبويب الإعدادات: مجموعة Talk Mode (معرّف الصوت + مفتاح المقاطعة)
- التراكب:
- الاستماع: تنبض السحابة مع مستوى الميكروفون
- التفكير: حركة غوص
- التحدث: حلقات متشععة
- انقر السحابة: أوقف التحدث
- انقر X: اخرج من وضع التحدث
ملاحظات
- يتطلب أذونات Speech + Microphone.
- يستخدم
chat.sendعلى مفتاح الجلسةmain. - تحل البوابة تشغيل Talk عبر
talk.speakباستخدام موفّر Talk النشط. ويرجع Android إلى TTS المحلي للنظام فقط عندما لا يكون RPC هذا متاحًا. - يتم التحقق من
stabilityفيeleven_v3بحيث تكون0.0أو0.5أو1.0؛ أما النماذج الأخرى فتقبل0..1. - يتم التحقق من
latency_tierبحيث يكون0..4عند تعيينه. - يدعم Android صيغ الإخراج
pcm_16000وpcm_22050وpcm_24000وpcm_44100من أجل البث منخفض الكمون عبر AudioTrack.