Configuration and deployment
Runtime configuration is centralized in app.AppConfig. Use app.DefaultConfigFromEnv() to load environment variables, then override fields in Go when needed.
package main
import "github.com/cavos-io/rtp-agent/app"
func buildApp() (*app.App, error) {
cfg := app.DefaultConfigFromEnv()
cfg.Instructions = "You are a concise support agent."
cfg.LLMProvider = "openai"
cfg.LLMModel = "gpt-4.1-mini"
rtpApp, err := app.Init(cfg)
if err != nil {
return nil, err
}
return rtpApp, nil
}
Core environment variables
Common variables include:
LIVEKIT_URLLIVEKIT_API_KEYLIVEKIT_API_SECRETRTP_AGENT_INSTRUCTIONSRTP_AGENT_LLM_PROVIDERRTP_AGENT_LLM_MODELRTP_AGENT_STT_PROVIDERRTP_AGENT_STT_MODELRTP_AGENT_VAD_PROVIDERRTP_AGENT_TTS_PROVIDERRTP_AGENT_TTS_MODELRTP_AGENT_TTS_VOICERTP_AGENT_REALTIME_PROVIDERRTP_AGENT_REALTIME_MODELRTP_AGENT_AVATAR_PROVIDERRTP_AGENT_TURN_DETECTOR_PROVIDERRTP_AGENT_SMART_TURN_GRPC_ADDR(gRPC inference endpoint when provider iscavos; defaults tolocalhost:9001)
Provider API keys are provider-specific, for example OPENAI_API_KEY, DEEPGRAM_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, and LIVEKIT_API_KEY.
Deployment shape
Build and run a Go binary that initializes app.App and passes its server to cli.RunApp. Worker transport, credentials, and provider selection should come from environment or deployment configuration.
Do not document a deployment target as supported unless the repository contains the corresponding server, transport, or integration code.