الانتقال إلى المحتوى الرئيسي

التنبيه الصوتي (كلمات التنبيه العالمية)

يتعامل OpenClaw مع كلمات التنبيه كقائمة عالمية واحدة مملوكة لـ Gateway (البوابة).
  • لا يوجد كلمات إيقاظ مخصصة لكل عقدة.
  • يمكن لأي واجهة مستخدم لعُقدة/تطبيق تعديل القائمة؛ إذ تُحفَظ التغييرات بواسطة Gateway (البوابة) وتُبَثّ للجميع.
  • يحتفظ كل جهاز على حدة بمفتاح تمكين/تعطيل التنبيه الصوتي الخاص به (تجربة المستخدم المحلية + اختلافات الأذونات).

التخزين (مضيف Gateway)

تُخزَّن كلمات التنبيه على جهاز الـ Gateway في المسار:
  • ~/.openclaw/settings/voicewake.json
الشكل:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }

البروتوكول

الأساليب

  • 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 بحيث تتزامن التعديلات في كل مكان.