Skip to content

Fix OpenClaw realtime Talk session compatibility#566

Merged
rogerchappel merged 3 commits into
mainfrom
codex/openclaw-talk-session-realtime
May 21, 2026
Merged

Fix OpenClaw realtime Talk session compatibility#566
rogerchappel merged 3 commits into
mainfrom
codex/openclaw-talk-session-realtime

Conversation

@rogerchappel
Copy link
Copy Markdown
Owner

Summary

  • Translate CrewCMD realtime relay calls to OpenClaw's unified talk.session.* API for OpenClaw 2026.5.18+
  • Subscribe realtime relay SSE streams to the current talk.event channel while retaining the legacy event subscription
  • Update runtime capability metadata to advertise the unified Talk session/event methods

Why

OpenClaw 2026.5.18 replaced the old talk.realtime.* RPC surface with talk.session.*, talk.client.*, and talk.event. CrewCMD was still calling talk.realtime.session, which caused realtime session startup to return 502 even though the STT/TTS fallback still worked.

Local verification

  • pnpm test -- src/lib/gateway-client-realtime.test.ts 'src/app/api/runtimes/[id]/talk/realtime/session/route.test.ts' 'src/app/api/runtimes/[id]/talk/realtime/relay/route.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

For the walk test, run with:

NEXT_PUBLIC_CREWCMD_REALTIME_VOICE=1 pnpm dev

Expected realtime path in logs:

  • POST /api/runtimes/<id>/talk/realtime/session 200
  • event stream connects to /talk/realtime/events
  • no immediate fallback POST /api/stt unless realtime session startup fails

Fallback remains available: if realtime session startup fails, the existing recorded STT -> chat -> TTS path should still work.

@rogerchappel rogerchappel merged commit 7ffd944 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