config.example.toml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. [audio]
  2. backend = "parec"
  3. device = "VirtualMicSink.monitor"
  4. sample_rate = 16000
  5. channels = 1
  6. frame_ms = 30
  7. gain = 1.0
  8. [vad]
  9. aggressiveness = 2
  10. pre_roll_ms = 400
  11. speech_start_ms = 90
  12. silence_ms = 700
  13. min_utterance_ms = 300
  14. max_utterance_s = 30.0
  15. chunk_pause_ms = 350
  16. soft_max_s = 10.0
  17. rms_floor = 0.008
  18. trailing_trim_ms = 200
  19. [whisper]
  20. model = "small"
  21. device = "cpu"
  22. compute_type = "int8"
  23. language = "auto"
  24. beam_size = 1
  25. vad_filter = false
  26. no_speech_prob_max = 0.6
  27. avg_logprob_min = -1.0
  28. [sink]
  29. sink_name = "VirtualMicSink"
  30. remap_source_name = "VirtualMic"
  31. loopback_latency_msec = 1
  32. monitor_output = false
  33. [output]
  34. stdout = true
  35. jsonl_dir = "transcripts"
  36. save_audio = false
  37. audio_dir = "audio"
  38. [daemon]
  39. queue_size = 50
  40. backlog_warn_at = 5
  41. [events]
  42. socket = ""
  43. heartbeat_ms = 1000
  44. ring_size = 200
  45. [assistant]
  46. control_socket = ""
  47. stall_timeout_ms = 3000
  48. worker_stall_ms = 15000
  49. command_arm_timeout_s = 10.0
  50. chat_idle_timeout_s = 300.0
  51. turn_gap_s = 1.5
  52. require_viewer = true
  53. chat_exit_phrases = ["end conversation", "that's all", "stop listening"]
  54. [audit]
  55. enabled = true
  56. dir = "audit"
  57. [llm]
  58. enabled = true
  59. endpoint = "http://localhost:9931/v1/chat/completions"
  60. temperature = 0.7
  61. max_tokens = 1024
  62. timeout_s = 120.0
  63. cache_prompt = true
  64. max_prompt_tokens = 64000
  65. trim_block_turns = 4
  66. max_tool_iterations = 3
  67. system_prompt_chat = "You are a concise voice assistant. Reply in 1-3 sentences."
  68. system_prompt_command = "You translate a spoken request into a single tool call when one applies."