Nodes and media
بیدارسازی صوتی
OpenClaw با واژههای بیدارباش بهعنوان یک فهرست سراسری واحد برخورد میکند که مالک آن Gateway است.
- هیچ واژه بیدارباش سفارشی مختص هر node وجود ندارد.
- هر رابط کاربری node/app میتواند فهرست را ویرایش کند؛ تغییرات توسط Gateway پایدار میشوند و برای همه پخش میشوند.
- macOS و iOS کلیدهای محلی فعال/غیرفعالسازی بیدارباش صوتی را نگه میدارند (تجربه کاربری محلی + مجوزها متفاوتاند).
- Android در حال حاضر بیدارباش صوتی را خاموش نگه میدارد و در زبانه Voice از جریان دستی میکروفن استفاده میکند.
ذخیرهسازی (میزبان Gateway)
واژههای بیدارباش روی دستگاه Gateway در این مسیر ذخیره میشوند:
~/.openclaw/settings/voicewake.json
شکل:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
پروتکل
متدها
voicewake.get→{ triggers: string[] }voicewake.setبا پارامترهای{ triggers: string[] }→{ triggers: string[] }
نکات:
- محرکها نرمالسازی میشوند (فاصلههای ابتدا و انتها حذف میشوند، موارد خالی حذف میشوند). فهرستهای خالی به مقادیر پیشفرض برمیگردند.
- محدودیتها برای ایمنی اعمال میشوند (سقف تعداد/طول).
متدهای مسیریابی (محرک → هدف)
voicewake.routing.get→{ config: VoiceWakeRoutingConfig }voicewake.routing.setبا پارامترهای{ config: VoiceWakeRoutingConfig }→{ config: VoiceWakeRoutingConfig }
شکل VoiceWakeRoutingConfig:
{
"version": 1,
"defaultTarget": { "mode": "current" },
"routes": [{ "trigger": "robot wake", "target": { "sessionKey": "agent:main:main" } }],
"updatedAtMs": 1730000000000
}
اهداف مسیر دقیقاً از یکی از اینها پشتیبانی میکنند:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
رویدادها
- محتوای
voicewake.changedبهشکل{ triggers: string[] } - محتوای
voicewake.routing.changedبهشکل{ config: VoiceWakeRoutingConfig }
چه کسانی آن را دریافت میکنند:
- همه کلاینتهای WebSocket (اپ macOS، WebChat و غیره)
- همه nodeهای متصل (iOS/Android)، و همچنین هنگام اتصال node بهعنوان ارسال اولیه «وضعیت فعلی».
رفتار کلاینت
اپ macOS
- از فهرست سراسری برای کنترل محرکهای
VoiceWakeRuntimeاستفاده میکند. - ویرایش «واژههای محرک» در تنظیمات بیدارباش صوتی،
voicewake.setرا فراخوانی میکند و سپس برای همگام نگه داشتن سایر کلاینتها به پخش تکیه میکند.
node در iOS
- از فهرست سراسری برای تشخیص محرک در
VoiceWakeManagerاستفاده میکند. - ویرایش واژههای بیدارباش در تنظیمات،
voicewake.setرا فراخوانی میکند (از طریق Gateway WS) و همچنین تشخیص محلی واژه بیدارباش را پاسخگو نگه میدارد.
node در Android
- بیدارباش صوتی در حال حاضر در زماناجرای Android/تنظیمات غیرفعال است.
- صدای Android بهجای محرکهای واژه بیدارباش، از ضبط دستی میکروفن در زبانه Voice استفاده میکند.