Skip to content

Voice: move hands-free control words to the global user profile #129

Description

@serge-ivo

Enhancement

Summary

Hands-free voice control words (repeat / mute command words, the stop-word, and the stop-speech keyword) were configured per agent/instance, so they had to be re-set for every repo/agent. Move them to the global user profile so they apply across ALL hands-free sessions regardless of which agent or repo is active — with a per-instance override for the rare case someone wants different words on one agent.

Change

  • Profile schema (workers/api/src/lib/profile.ts): new group: "voice" fields — voiceRepeatWords, voiceMuteWords, voiceStopWords, voiceStopSpeechKeyword (stored in the profile custom JSON, no migration; persisted via PUT /v1/profile).
  • Profile UI (store/console/src/pages/Profile.tsx): a "Hands-free voice commands" section with those fields (global).
  • Voice config (packages/sdk/src/voice/config.ts): getVoiceConfig now also fetches /v1/profile and uses the profile control words as the default; a non-empty per-instance value still wins.
  • Per-agent Settings (store/console/src/tabs/SettingsTab.tsx): the existing keyword fields stay as an override, with a note pointing to the profile default.

Behavior

  1. Set your control words once in Profile → Hands-free voice commands → they apply to every agent/repo.
  2. A per-agent value (Settings → Voice) overrides the profile for that agent only; blank = use the profile default; blank in both = built-in defaults.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestvoiceVoice / STT / TTS

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions