Cloud LLM Backend (opt-in)

Conversation summarization and ask stages run on local Ollama by default. Every stage accepts an optional BackendConfig override in ~/.mur/config.yaml, so you can route just the stages you choose through a cloud provider while the rest stay local and private.

Per-stage overrides

conversations:
  compact:
    # extractive stage → cloud (fast + cheap); abstractive stays local
    extractive_backend:
      provider: anthropic          # ollama | anthropic
      model: claude-haiku-4-5
      api_key_env: ANTHROPIC_API_KEY
    # abstractive_backend:         # same shape
  ask:
    # answer stage → cloud; query rewriter stays local
    backend:
      provider: anthropic
      model: claude-sonnet-5
      api_key_env: ANTHROPIC_API_KEY
    # rewriter_backend:            # same shape

BackendConfig schema

FieldRequiredNotes
provideryesollama or anthropic
modelyesprovider model id
endpointnooverride the provider endpoint
api_key_envnoname of the env var holding the key — the key itself never lives in config
timeout_secsnodefault 120

Leaving an override unset keeps that stage on the legacy local fields (extractive_model / abstractive_model + ollama_endpoint), so existing configs keep working unchanged.

Cost guidance

With the recommended split — Haiku for extractive, Sonnet for ask — typical daily use lands around a few dollars per month (~$3/month in the design estimate). Verify your setup end to end with the ignored live test:

ANTHROPIC_API_KEY=... cargo test -p mur-core live_anthropic_haiku_responds -- --ignored