VOICE-4: Settings → Service "Voice input" group #776
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Depends on
#773 VOICE-1: /architect/transcribe server proxy + speaches integration
charles/claude-hooks
Reference
charles/claude-hooks#776
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As an operator, I want a "Voice input" group inside the Settings → Service tab where I can pick my dictation language (with
autoas the default), see whether speaches is reachable and which model is active, and toggle the feature on/off — all stored inservice_configlike every other service knob.This is the settings-group half of the spec's P3 section. The health-probe carve-out lives in VOICE-2 (#774); this story focuses purely on the SVC-3 settings surface.
Acceptance criteria
Settings group (Settings → Service tab)
<StatusPill>(live / unreachable / disabled), model name,transcribe_urlhost, "Test" button calling/architect/transcribe/health?refresh=1(from VOICE-2 (#774)).speech.enabledboolean toggle.speech.transcribe_urltext input.speech.modeltext input.speech.default_languageselect populated fromspeech.allowed_languages_json.speech.max_audio_secondsnumber input.speech.max_audio_bytesnumber input.scope='global'rows inservice_config. No localStorage. Noservice.jsonwrites.apps/web/CLAUDE.mdprimitives:<Button>, labelled inputs,rounded-cardouter /rounded-compactinner, tokenised colours.Tests
speech.default_languagein the group fires the SVC-3 PATCH with the right field key.Operational notes
docs/workspace.md(and a newdocs/voice-input.mdif it warrants one) reminding the operator tosystemctl --user enable --now speachesbefore the feature works.Out of scope
/settings/voice-inputroute — this is a group inside Settings → Service, not a new route.References
specs/workspace-chat-voice-input.md— full spec (P3 section, "Settings group" sub-block).specs/config-to-db.md— SVC-3 contract.apps/web/CLAUDE.md— primitives, a11y baseline, radius/shadow conventions.Dependencies
area:dashboard).🦵 @charles kicked the queue — re-running address-review on @dev.
🦵 @charles kicked the queue — re-running implement on @dev.
🦵 @charles kicked the queue — re-running implement on @dev.