35 lines
1.3 KiB
JSON
35 lines
1.3 KiB
JSON
{
|
|
"_description": "Tunables for gemini/* modules. Loaded via core.config_loader.load('gemini'). API credentials (api_key, model, voice_name) still live in core_config.json > gemini_defaults — single source of truth shared with config.py.",
|
|
|
|
"client": {
|
|
"_comment": "gemini/client.py — short-session WebSocket client used by dashboard /generate + typed replay. default_system_prompt comes from core.gemini_defaults.",
|
|
"recv_timeout_sec": 30,
|
|
"reconnect_max_attempts": 3,
|
|
"reconnect_initial_delay_sec": 1.0,
|
|
"reconnect_max_delay_sec": 10.0
|
|
},
|
|
|
|
"subprocess": {
|
|
"_comment": "gemini/subprocess.py — GeminiSubprocess supervisor. Spawns voice/sanad_voice.py as a child, tails stdout for Gemini-specific log markers, exposes transcript + state to the dashboard.",
|
|
"log_tail_size": 2000,
|
|
"transcript_tail_size": 30,
|
|
"log_name": "gemini_subprocess",
|
|
"stop_timeout_sec": 3.0,
|
|
"terminate_timeout_sec": 2.0,
|
|
"noisy_prefixes": [
|
|
"ALSA lib ",
|
|
"Expression 'alsa_",
|
|
"Cannot connect to server socket",
|
|
"jack server is not running"
|
|
],
|
|
"noisy_fragments": [
|
|
"Unknown PCM",
|
|
"Evaluate error",
|
|
"snd_pcm_open_noupdate",
|
|
"PaAlsaStream",
|
|
"snd_config_evaluate",
|
|
"snd_func_refer"
|
|
]
|
|
}
|
|
}
|