Move caller dialog to Sonnet 4.6, add SearXNG for Devon, and fix stale model ids

Working-tree changes that had accumulated without being committed. The test
updates matter most: tests/test_caller_gen.py was left behind when caller_gen
started requiring voice and age in regulars_included, so the committed tree had
a failing suite that only passed locally.

- Caller dialog moves from Haiku 4.5 to Sonnet 4.6 (~$1/show to ~$3-4/show)
- Grok pinned to x-ai/grok-4.3; grok-4, grok-4-fast and grok-4.1-fast were
  retired from OpenRouter, and llm.py swallows the 404 and returns empty text,
  so a retired id makes callers go silent with nothing in the logs
- Devon's web_search now runs against SearXNG on the NAS
- Assorted TTS, audio, news, cost tracker and control-panel changes
- CLAUDE.md updated to match

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-14 04:21:55 -05:00
co-authored by Claude Opus 5
parent 2901e5f4fb
commit 44ef13336e
21 changed files with 731 additions and 186 deletions
+7 -8
View File
@@ -12,33 +12,32 @@ from .cost_tracker import cost_tracker
OPENROUTER_MODELS = [
# Primary
"anthropic/claude-sonnet-4.6",
"x-ai/grok-4.1-fast",
"x-ai/grok-4",
"x-ai/grok-4.3",
"x-ai/grok-4.5",
# Style-matched pool
"mistralai/mistral-large-2512",
"deepseek/deepseek-r1-distill-llama-70b",
"meta-llama/llama-3.3-70b-instruct",
"google/gemini-2.5-flash",
# Other good options
"anthropic/claude-sonnet-4-5",
"anthropic/claude-sonnet-4.5",
"anthropic/claude-haiku-4.5",
"deepseek/deepseek-chat-v3-0324",
"mistralai/mistral-small-2603",
"google/gemini-2.5-pro",
"google/gemini-3-flash-preview",
"x-ai/grok-4-fast",
"x-ai/grok-4.20",
"moonshotai/kimi-k2",
"qwen/qwen3-235b-a22b",
"meta-llama/llama-4-maverick",
# Legacy
"anthropic/claude-3-haiku",
"google/gemini-flash-1.5",
"meta-llama/llama-3.1-8b-instruct",
]
# Fast models to try as fallbacks (cheap, fast, good enough for conversation)
FALLBACK_MODELS = [
"mistralai/mistral-small-creative",
"mistralai/mistral-small-2603",
"google/gemini-2.5-flash",
"openai/gpt-4o-mini",
]
@@ -332,8 +331,8 @@ class LLMService:
# - Grok/Mistral/DeepSeek/Kimi: slightly warmer than Sonnet defaults
_CALLER_DIALOG_MODEL_PARAMS = {
"anthropic/claude-sonnet-4.6": {"temperature": 0.65, "frequency_penalty": 0.3, "presence_penalty": 0.15},
"x-ai/grok-4.1-fast": {"temperature": 0.7, "frequency_penalty": 0.2, "presence_penalty": 0.1},
"x-ai/grok-4": {"temperature": 0.7, "frequency_penalty": 0.2, "presence_penalty": 0.1},
"x-ai/grok-4.3": {"temperature": 0.7, "frequency_penalty": 0.2, "presence_penalty": 0.1},
"x-ai/grok-4.5": {"temperature": 0.7, "frequency_penalty": 0.2, "presence_penalty": 0.1},
"qwen/qwen3-235b-a22b": {"temperature": 0.6, "frequency_penalty": 0.5, "presence_penalty": 0.2},
"mistralai/mistral-large-2512": {"temperature": 0.7, "frequency_penalty": 0.2, "presence_penalty": 0.1},
"deepseek/deepseek-chat-v3-0324": {"temperature": 0.7, "frequency_penalty": 0.2, "presence_penalty": 0.1},