Nodes and media
بیدارسازی صوتی
OpenClaw واژههای بیدارباش را بهعنوان یک فهرست سراسری واحد در نظر میگیرد که مالک آن Gateway است.
- هیچ واژه بیدارباش سفارشیِ مختص هر گره وجود ندارد.
- هر رابط کاربریِ گره/برنامه میتواند این فهرست را ویرایش کند؛ تغییرات توسط Gateway پایدارسازی و برای همه پخش میشوند.
- macOS و iOS کلیدهای محلی فعال/غیرفعال کردن Voice Wake را نگه میدارند (تجربه کاربری محلی + مجوزها متفاوتاند).
- Android در حال حاضر Voice Wake را خاموش نگه میدارد و در زبانه Voice از جریان دستی میکروفون استفاده میکند.
ذخیرهسازی (میزبان Gateway)
واژههای بیدارباش و قواعد مسیریابی در پایگاه داده وضعیت Gateway ذخیره میشوند:
~/.openclaw/state/openclaw.sqlite
جدولهای فعال عبارتاند از:
voicewake_triggersvoicewake_routing_configvoicewake_routing_routes
فایلهای قدیمی settings/voicewake.json و settings/voicewake-routing.json
فقط ورودیهای مهاجرت doctor هستند؛ زمان اجرا جدولهای SQLite را میخواند و مینویسد.
پروتکل
روشها
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، و غیره)
- همه گرههای متصل (iOS/Android)، و همچنین هنگام اتصال گره، بهصورت ارسال اولیه «وضعیت فعلی».
رفتار سرویسگیرنده
برنامه macOS
- از فهرست سراسری برای کنترل محرکهای
VoiceWakeRuntimeاستفاده میکند. - ویرایش «واژههای محرک» در تنظیمات Voice Wake،
voicewake.setرا فراخوانی میکند و سپس برای همگام نگه داشتن دیگر سرویسگیرندهها به پخش تکیه میکند.
گره iOS
- از فهرست سراسری برای تشخیص محرک در
VoiceWakeManagerاستفاده میکند. - ویرایش Wake Words در Settings،
voicewake.setرا (از طریق Gateway WS) فراخوانی میکند و همچنین تشخیص محلی واژه بیدارباش را پاسخگو نگه میدارد.
گره Android
- Voice Wake در حال حاضر در زمان اجرای Android/Settings غیرفعال است.
- صدای Android بهجای محرکهای واژه بیدارباش، از ضبط دستی میکروفون در زبانه Voice استفاده میکند.
مرتبط
Was this useful?