feat(dashboard): clickable LLM model selector — switch blog engine at runtime
- client.ts: BLOG_LLM_PROVIDER/OLLAMA_LLM_MODEL as mutable state (setLlmProvider/
getLlmProvider). Reads blog-llm-settings.json on startup for persistence.
All generate()/checkHealth()/chat() calls use dynamic provider() + llmModel()
— no restart required for switches.
- blog.ts: POST /api/blog/llm/switch endpoint — validates provider, calls
setLlmProvider(), writes settings file, returns previous+active state.
- index.html: all 4 model cards now clickable (cursor:pointer, hover fade).
switchBlogLlm(provider, model) — disables cards during switch, shows
green/red feedback toast, auto-refreshes status. SSH instruction removed.