Skip to content

feat(voice): add OpenAI speech-to-text - #232

Open
johnmatthewtennant wants to merge 21 commits into
openai-tts-basefrom
add-openai-stt-tts
Open

feat(voice): add OpenAI speech-to-text#232
johnmatthewtennant wants to merge 21 commits into
openai-tts-basefrom
add-openai-stt-tts

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds OpenAI realtime speech-to-text as a Voice Conversation input backend.

  • Adds a dedicated OpenAI STT API-key field in Voice settings.
  • Stores the STT key under its own keychain account and never reads Goose provider credentials or the OpenAI TTS key.
  • Waits for the realtime transcription session to be ready before accepting microphone audio.
  • Preserves committed transcript delivery while discarding stale turns across mute boundaries.
  • Keeps STT and TTS readiness and keychain errors independent.

Configuration

Enter an OpenAI speech-to-text key in Settings → Voice → Speech input after selecting OpenAI. This credential is separate from Goose and from the OpenAI TTS key.

Testing

  • just check
  • pnpm vitest run src/features/voice-conversation/hooks/useOpenAiVoiceSetup.test.tsx src/features/voice-conversation/ui/VoiceSettings.test.tsx src/features/voice-conversation/lib/voiceSetupReadiness.test.ts
  • targeted OpenAI transcription Rust tests
  • just tauri-check
  • just clippy

@johnmatthewtennant johnmatthewtennant changed the title feat(voice): add OpenAI speech backends feat(voice): add OpenAI speech-to-text Aug 26, 2026
@johnmatthewtennant
johnmatthewtennant changed the base branch from main to openai-tts-base August 26, 2026 19:48
@johnmatthewtennant
johnmatthewtennant force-pushed the add-openai-stt-tts branch 3 times, most recently from 06c926a to 7bdb07d Compare August 28, 2026 19:26
@johnmatthewtennant
johnmatthewtennant marked this pull request as ready for review August 29, 2026 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant