Skip to content

Configurable voice control: hands-off command mode (next / play / record) #8

Description

@serge-ivo

Vision

Voice should be fully configurable with selectable modes. This issue covers Mode 1 — hands-off command mode on the Repositories page: a keyword layer so you can drive it without touching the screen.

Behaviour

Continuous listening on the repos page; spoken keywords trigger actions on a "focused" repo:

  • "next" → move focus to the next repo and start telling me about it (auto-play its last reply / status).
  • "play" → play the focused repo's last reply (karaoke running text already built).
  • "record" → start recording a voice reply to the focused repo (sends straight to its agent).
  • (extensible) "stop", "open", "previous", "status".

A visible "focused repo" pointer so navigation is obvious. A wake/enable toggle so it isn't always listening.

Configurable

Settings (Profile or a voice settings panel):

  • Enable/disable hands-off mode.
  • Edit the trigger words (e.g. map "go" → next).
  • Voice (TTS) rate/voice pick; continuous-listen on/off.

Implementation notes

  • Continuous SpeechRecognition (continuous=true, interimResults) with a small grammar matcher over final transcripts; debounce + restart on onend (Chrome stops after silence).
  • Reuse the existing playRepoLastReply / voiceReplyToRepo / status polling — this is a command router on top of them + a focusedRepoId pointer.
  • iOS caveat: Web Speech continuous mode is unreliable on Safari; degrade to tap-to-talk there and document it.

Acceptance

On the repos page, with the mode on, saying "next … play … record" navigates + plays + records hands-free; trigger words are editable in settings.

Relationship

Mode 2 (the cross-repo Overseer agent) is its own issue — this is the lightweight command layer; the Overseer is the conversational brain.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions