التنبيه الصوتي (كلمات التنبيه العالمية)
يتعامل OpenClaw مع كلمات التنبيه كقائمة عالمية واحدة مملوكة لـ Gateway (البوابة).- لا يوجد كلمات إيقاظ مخصصة لكل عقدة.
- يمكن لأي واجهة مستخدم لعُقدة/تطبيق تعديل القائمة؛ إذ تُحفَظ التغييرات بواسطة Gateway (البوابة) وتُبَثّ للجميع.
- يحتفظ كل جهاز على حدة بمفتاح تمكين/تعطيل التنبيه الصوتي الخاص به (تجربة المستخدم المحلية + اختلافات الأذونات).
التخزين (مضيف Gateway)
تُخزَّن كلمات التنبيه على جهاز الـ Gateway في المسار:~/.openclaw/settings/voicewake.json
البروتوكول
الأساليب
voicewake.get→{ triggers: string[] }voicewake.setمع المعلمات{ triggers: string[] }→{ triggers: string[] }
- تُوحَّد المُحفِّزات (يُزال الفراغ الزائد وتُستبعَد القيم الفارغة). القوائم الفارغة تعود إلى الإعدادات الافتراضية.
- تُفرَض حدود للأمان (حدود العدد/الطول).
الأحداث
voicewake.changedبحمولة{ triggers: string[] }
- جميع عملاء WebSocket (تطبيق macOS، WebChat، إلخ).
- جميع العُقد المتصلة (iOS/Android)، وكذلك عند اتصال العُقدة كدفع أولي لـ «الحالة الحالية».
سلوك العميل
تطبيق macOS
- يستخدم القائمة العالمية لضبط مُحفِّزات
VoiceWakeRuntime. - يؤدّي تحرير «كلمات المُحفِّز» في إعدادات التنبيه الصوتي إلى استدعاء
voicewake.setثم يعتمد على البث لإبقاء بقية العملاء متزامنين.
عُقدة iOS
- تستخدم القائمة العالمية لاكتشاف مُحفِّزات
VoiceWakeManager. - يؤدّي تحرير كلمات التنبيه في الإعدادات إلى استدعاء
voicewake.set(عبر WebSocket الخاص بـ Gateway) مع الحفاظ على استجابة الكشف المحلي لكلمات التنبيه.
عُقدة Android
- توفّر محرّر كلمات التنبيه ضمن الإعدادات.
- تستدعي
voicewake.setعبر WebSocket الخاص بـ Gateway بحيث تتزامن التعديلات في كل مكان.