Voice Wake (Global Wake Words)
Mayros wake words को single global list के रूप में treat करता है जो Gateway का है।
- कोई per-node custom wake words नहीं हैं।
- कोई भी node/app UI edit कर सकता है; परिवर्तन Gateway द्वारा persisted और सभी को broadcast किए जाते हैं।
- प्रत्येक device अभी भी अपना Voice Wake enabled/disabled toggle रखता है (स्थानीय UX + permissions भिन्न होते हैं)।
Storage (Gateway host)
Wake words gateway मशीन पर stored हैं:
~/.mayros/settings/voicewake.json
आकार:
json{ "triggers": ["mayros", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protocol
Methods
voicewake.get→{ triggers: string[] }voicewake.setparams{ triggers: string[] }के साथ →{ triggers: string[] }
नोट्स:
- Triggers normalized हैं (trimmed, empties dropped)। Empty lists defaults पर fall back करती हैं।
- Safety के लिए limits enforced हैं (count/length caps)।
Events
voicewake.changedpayload{ triggers: string[] }
इसे कौन प्राप्त करता है:
- सभी WebSocket clients (macOS app, WebChat, आदि)
- सभी connected nodes (iOS/Android), और node connect पर भी initial "current state" push के रूप में।
Client व्यवहार
macOS app
VoiceWakeRuntimetriggers को gate करने के लिए global list का उपयोग करता है।- Voice Wake settings में "Trigger words" edit करना
voicewake.setको call करता है और फिर अन्य clients को sync में रखने के लिए broadcast पर निर्भर करता है।
iOS node
VoiceWakeManagertrigger detection के लिए global list का उपयोग करता है।- Settings में Wake Words edit करना
voicewake.setको call करता है (Gateway WS पर) और local wake-word detection को responsive रखता है।
Android node
- Settings में Wake Words editor expose करता है।
voicewake.setको Gateway WS पर call करता है ताकि edits सभी जगह sync हों।