Nodes and media
Sesle uyandırma
Uyandırma sözcükleri, Gateway'in sahip olduğu tek bir genel listedir — düğüm başına özel listeler yoktur. Herhangi bir düğüm veya uygulama kullanıcı arayüzü listeyi düzenleyebilir; Gateway değişikliği kalıcı hâle getirir ve bağlı tüm istemcilere yayınlar.
- macOS: yerel Sesle Uyandırma etkinleştirme/devre dışı bırakma anahtarı. macOS 26+ gerektirir; çalışma zamanı/PTT ayrıntıları için Sesle uyandırma (macOS) bölümüne bakın.
- iOS: Ayarlar'da yerel Sesle Uyandırma etkinleştirme/devre dışı bırakma anahtarı.
- Android: Ayarlar → Ses bölümünde yerel Sesle Uyandırma etkinleştirme/devre dışı bırakma anahtarı ve uyandırma sözcüğü düzenleyicisi. Android'in cihaz üzerindeki konuşma tanıma özelliğini gerektirir.
Depolama
Uyandırma sözcükleri ve yönlendirme kuralları Gateway durum veritabanında, varsayılan olarak ~/.openclaw/state/openclaw.sqlite konumunda (geçersiz kılmak için OPENCLAW_STATE_DIR), voicewake_triggers, voicewake_routing_config, voicewake_routing_routes tablolarında bulunur. Eski settings/voicewake.json ve settings/voicewake-routing.json yalnızca openclaw doctor --fix geçiş girdileridir — çalışma zamanı bunları hiçbir zaman okumaz.
Protokol
Tetikleyici listesi
| Yöntem | Parametreler | Sonuç |
|---|---|---|
voicewake.get |
yok | { triggers: string[] } |
voicewake.set |
{ triggers: string[] } |
{ triggers: string[] } |
voicewake.set girdiyi normalleştirir: boşlukları kırpar, boş girdileri kaldırır, en fazla 32 tetikleyiciyi tutar ve vekil çiftleri bölmeden her birini 64 UTF-16 kod birimine kısaltır. Boş bir sonuç, yerleşik varsayılanlara (openclaw, claude, computer) geri döner.
Yönlendirme (tetikleyiciden hedefe)
| Yöntem | Parametreler | Sonuç |
|---|---|---|
voicewake.routing.get |
yok | { config: VoiceWakeRoutingConfig } |
voicewake.routing.set |
{ config: VoiceWakeRoutingConfig } |
{ config: VoiceWakeRoutingConfig } |
{ "version": 1, "defaultTarget": { "mode": "current" }, "routes": [{ "trigger": "robot wake", "target": { "sessionKey": "agent:main:main" } }], "updatedAtMs": 1730000000000}Her yönlendirme target aşağıdakilerden tam olarak birini destekler:
{ "mode": "current" }{ "agentId": "main" }{ "sessionKey": "agent:main:main" }
Sınırlar: en fazla 32 yönlendirme, tetikleyici metni en fazla 64 karakter. Yönlendirme tetikleyicileri; küçük harfe dönüştürülerek, her sözcüğün başındaki/sonundaki noktalama işaretleri kaldırılarak ve boşluklar birleştirilerek eşleştirme ve yinelenen öğe algılama amacıyla normalleştirilir ("Hey, Bot!!" ve "hey bot" eşleşir ve yinelenen öğeler olarak sayılır) — bu, yukarıdaki genel tetikleyici listesi için kullanılan basit kırpma işleminden daha katı bir normalleştirmedir.
Olaylar
| Olay | Yük |
|---|---|
voicewake.changed |
{ triggers: string[] } |
voicewake.routing.changed |
{ config: VoiceWakeRoutingConfig } |
Her ikisi de okuma kapsamına sahip tüm WebSocket istemcilerine (macOS uygulaması, WebChat ve benzerleri) ve bağlı tüm düğümlere yayınlanır. Bir düğüm ayrıca bağlandıktan hemen sonra başlangıç anlık görüntüsü gönderimi olarak her ikisini de alır.
İstemci davranışı
- macOS:
voicewake.set/voicewake.getçağrılarını yapar ve diğer istemcilerle eşzamanlı kalmak içinvoicewake.changedolayını dinler. - iOS:
voicewake.set/voicewake.getçağrılarını yapar ve yerel uyandırma sözcüğü algılamasının duyarlı kalması içinvoicewake.changedolayını dinler. - Android:
voicewake.set/voicewake.getçağrılarını yapar,voicewake.changedolayını dinler ve etkinkenvoiceWakeözelliğini duyurur. Tanıma cihaz üzerinde ve yalnızca ön planda kalır; Talk, manuel dikte, sesli not kaydı veya mesaj seslendirme sesi kullandığında duraklatılır.