Skip to content

Service Configuration

service_config is the optional top-level config object passed into DefaultService. It is shared with all session-scoped managers and gateways.

Example:

{
  "service_config": {
    "enable_persistence": true,
    "recording": true,
    "send_full_audio_to_client": false,
    "data_dir": "data"
  }
}

Reference

Key Type Default Used by Effect
enable_persistence bool true Xtalk, ServiceManager, PersistenceManager Enables session history persistence in <data_dir>/chat_history.sqlite3 together with session listing and restoration. When disabled, the built-in auth and websocket attach flow still work, but chat history is kept in memory only for the current live connection.
data_dir str "data" Service, EmbeddingsManager Root directory for session-scoped embedding data. Embeddings are persisted under <data_dir>/sessions/<session_id>/embeddings and the session directory is removed on shutdown.
recording bool false RecordingManager Enables session recording to a stereo WAV file. Left channel is raw user audio, right channel is played TTS audio. Default output path is logs/session_audio/<timestamp>.wav.
send_full_audio_to_client bool false RecordingManager, OutputGateway, frontend Sends assembled full-conversation stereo PCM chunks to the client as full_audio_frame messages. The payload is 48 kHz, 16-bit, 2-channel PCM encoded as base64.