Skip to content

Persist realtime voice transcripts in chat#567

Merged
rogerchappel merged 1 commit into
mainfrom
codex/realtime-voice-transcripts
May 21, 2026
Merged

Persist realtime voice transcripts in chat#567
rogerchappel merged 1 commit into
mainfrom
codex/realtime-voice-transcripts

Conversation

@rogerchappel
Copy link
Copy Markdown
Owner

Summary

  • Adds a realtime transcript callback to VoiceAgent
  • Persists final realtime user and assistant transcript events through /api/chat/messages
  • Updates the visible chat/thread state immediately, then swaps in the persisted message id when available

Why

The OpenClaw realtime relay audio path works, but final transcript events were only logged as voice diagnostics. That made the audio exchange work while the CrewCMD message thread stayed empty.

Local verification

  • pnpm test -- src/lib/gateway-client-realtime.test.ts src/lib/realtime-voice-client.test.ts src/lib/runtime-capabilities.test.ts
  • pnpm typecheck
  • git diff --check origin/main..HEAD
  • pre-push: pnpm typecheck && pnpm build

Manual test notes

With realtime voice active, speak to the agent and confirm:

  • /talk/realtime/session returns 200
  • /talk/realtime/relay continues returning 200
  • final user transcript appears in the CrewCMD thread
  • final assistant transcript appears in the CrewCMD thread
  • audio exchange still continues

@rogerchappel rogerchappel merged commit 969be39 into main May 21, 2026
1 check passed
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