Replay utterances with skip_back and the history buffer
masterskip_back acts as 'CD transport', allowing you to jump back through previously spoken utterances using the server's in-memory history buffer.
The History Buffer
- Contents: Stores the last
Nrendered utterances, including decoded PCM audio, text, and metadata (sample_rate,channels,timestamp,voice). - Configuration: The buffer size is controlled by
VOICEMODE_HISTORY_BUFFER_SIZE(default: 8, min: 1). - Lifecycle: The buffer is process-wide and lives for the life of the server; it is not persisted across restarts.
- Capture Logic: Utterances are captured in full. If
pauseorskip_backis called mid-playback, the server continues draining the provider to ensure the full utterance is buffered.
Skip-back Semantics
- First press: Restarts the current/most-recent utterance from the beginning.
- Subsequent presses: Steps back one utterance at a time through the buffer.
- Clamping: Once the oldest record is reached, further presses continue replaying that oldest record.
Note: skip_back is a playback-layer operation. It does not trigger new STT, model calls, or agent turns.
{"command": "skip_back"}