Venice's API doesn't support certain OpenAI-compatible parameters that Clawdbot sends by default: - `store`: Venice returns HTTP 400 with no body when this is present - `developer` role: Not supported by Venice's API This adds VENICE_COMPAT settings (supportsStore: false, supportsDeveloperRole: false) to all Venice model definitions, both from the static catalog and dynamically discovered models. Fixes issues reported in PR #1666 where users experienced silent failures (HTTP 400, no body) when using Venice models. Co-authored-by: jonisjongithub <jonisjongithub@users.noreply.github.com> Co-authored-by: Clawdbot <bot@clawd.bot>
1.9 KiB
1.9 KiB
| summary | read_when | ||
|---|---|---|---|
| Global voice wake words (Gateway-owned) and how they sync across nodes |
|
Voice Wake (Global Wake Words)
Clawdbot treats wake words as a single global list owned by the Gateway.
- There are no per-node custom wake words.
- Any node/app UI may edit the list; changes are persisted by the Gateway and broadcast to everyone.
- Each device still keeps its own Voice Wake enabled/disabled toggle (local UX + permissions differ).
Storage (Gateway host)
Wake words are stored on the gateway machine at:
~/.clawdbot/settings/voicewake.json
Shape:
{ "triggers": ["clawd", "claude", "computer"], "updatedAtMs": 1730000000000 }
Protocol
Methods
voicewake.get→{ triggers: string[] }voicewake.setwith params{ triggers: string[] }→{ triggers: string[] }
Notes:
- Triggers are normalized (trimmed, empties dropped). Empty lists fall back to defaults.
- Limits are enforced for safety (count/length caps).
Events
voicewake.changedpayload{ triggers: string[] }
Who receives it:
- All WebSocket clients (macOS app, WebChat, etc.)
- All connected nodes (iOS/Android), and also on node connect as an initial “current state” push.
Client behavior
macOS app
- Uses the global list to gate
VoiceWakeRuntimetriggers. - Editing “Trigger words” in Voice Wake settings calls
voicewake.setand then relies on the broadcast to keep other clients in sync.
iOS node
- Uses the global list for
VoiceWakeManagertrigger detection. - Editing Wake Words in Settings calls
voicewake.set(over the Gateway WS) and also keeps local wake-word detection responsive.
Android node
- Exposes a Wake Words editor in Settings.
- Calls
voicewake.setover the Gateway WS so edits sync everywhere.