الوسائط والأجهزة

الاستيقاظ الصوتي

تعامل 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 التقاط ميكروفون يدوي في علامة تبويب الصوت بدلاً من مشغلات كلمات الاستيقاظ.

وضع المحادثةأمر الموقع