[audio] backend = "parec" device = "VirtualMicSink.monitor" sample_rate = 16000 channels = 1 frame_ms = 30 gain = 1.0 [vad] aggressiveness = 2 pre_roll_ms = 400 speech_start_ms = 90 silence_ms = 700 min_utterance_ms = 300 max_utterance_s = 30.0 chunk_pause_ms = 350 soft_max_s = 10.0 rms_floor = 0.008 trailing_trim_ms = 200 [whisper] model = "small" device = "cpu" compute_type = "int8" language = "auto" beam_size = 1 vad_filter = false cpu_threads = 0 no_speech_prob_max = 0.6 avg_logprob_min = -1.0 language_strategy = "static" sticky_redetect_logprob = -0.8 [sink] sink_name = "VirtualMicSink" remap_source_name = "VirtualMic" loopback_latency_msec = 1 monitor_output = false [output] stdout = true jsonl_dir = "transcripts" save_audio = false audio_dir = "audio" [daemon] queue_size = 50 backlog_warn_at = 5 [events] socket = "" heartbeat_ms = 1000 ring_size = 200 [assistant] control_socket = "" stall_timeout_ms = 3000 worker_stall_ms = 15000 command_arm_timeout_s = 10.0 chat_idle_timeout_s = 300.0 turn_gap_s = 1.5 require_viewer = true chat_exit_phrases = ["end conversation", "that's all", "stop listening"] [audit] enabled = true dir = "audit" [llm] enabled = true endpoint = "http://localhost:9931/v1/chat/completions" temperature = 0.7 max_tokens = 1024 timeout_s = 120.0 cache_prompt = true max_prompt_tokens = 64000 trim_block_turns = 4 max_tool_iterations = 3 system_prompt_chat = "You are a concise voice assistant. Reply in 1-3 sentences." system_prompt_command = "You translate a spoken request into a single tool call when one applies."