الوسائط والأجهزة
الاستيقاظ الصوتي
تعامل OpenClaw كلمات الاستيقاظ كقائمة عالمية واحدة مملوكة للبوابة.
- لا توجد كلمات استيقاظ مخصصة لكل عقدة.
- يمكن لأي واجهة مستخدم لعقدة/تطبيق تعديل القائمة؛ يتم حفظ التغييرات بواسطة البوابة وبثها للجميع.
- تحتفظ أنظمة macOS وiOS بمفاتيح تبديل تمكين/تعطيل الاستيقاظ الصوتي محليًا (تختلف تجربة المستخدم المحلية والأذونات).
- يحتفظ نظام Android حاليًا بخيار الاستيقاظ الصوتي معطل ويستخدم تدفقًا يدويًا للميكروفون في علامة تبويب الصوت.
التخزين (مضيف البوابة)
يتم تخزين كلمات الاستيقاظ على جهاز البوابة في:
~/.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 الخاص بالبوابة) ويحافظ أيضًا على استجابة الكشف عن كلمات الاستيقاظ محليًا.
عقدة Android
- الاستيقاظ الصوتي معطل حاليًا في وقت تشغيل/إعدادات Android.
- يستخدم الصوت في نظام Android التقاط ميكروفون يدوي في علامة تبويب الصوت بدلاً من مشغلات كلمات الاستيقاظ.