server: host: 0.0.0.0 port: 8766 public_base_url: "" # LLM — ornith conversational lane. # Primary = nightmare .29 (4080S, measured fast first-token; .222 is saturated by # the 92 cron jobs + Kalshi bots and hangs on /api/chat). Fallback = .222 (ornith home lane). ollama: base_url: http://10.30.20.29:11434 fallback_url: http://10.30.20.222:11434 model: ornith-1.5:9b-64k think: false temperature: 0.5 num_predict: 256 stt: model: small.en device: cpu compute_type: int8 cpu_threads: 2 remote_url: http://10.30.20.29:8770 # Piper lessac-high = natural voice, ~400ms/sentence on CPU, no GPU needed. # (TTS is NOT the latency bottleneck — STT + LLM first-token dominate the budget.) tts: engine: piper voice: lessac-high speed: 1.05 piper_voice: /opt/collector/voices/en_US-lessac-high.onnx agent: name: The Collector owner_phone: "+14252800023" system_prompt: > You are The Collector, a smooth, effortlessly charming conversational AI running on Indiana's homelab. You are on a LIVE VOICE call. Reply in 1-3 short conversational sentences. No markdown, no bullet points, no emoji. Listen first, then respond with warmth and wit — a trusted friend who happens to be exceptionally smooth. Match the caller's energy. Keep it natural, human, and brief. outbound_preamble: > You are The Collector, making a phone call on Indiana's behalf. Introduce yourself naturally, accomplish the objective, confirm details, wrap up politely. Objective: signalwire: account_sid: 8a89a49f-6e98-4de1-b32e-df897f656f24 auth_token: PT2ad398d81d9a1632375b8ac88844ea8ecfa46021b5389dfb phone_number: "+12545139895" api: auth_key: collector-voice-2026 auth_enabled: false