···3434 # - Go duration strings such as "5m", "1h", "24h"
3535 # The runtime maps this to provider-supported cache buckets automatically.
3636 cache_ttl: "short"
3737+ # Optional prefix added to generated prompt_cache_key values for providers that support it.
3838+ # Change this value to force a new cache group during testing.
3939+ cache_key_prefix: ""
3740 # Per-LLM HTTP request timeout (0 uses provider default).
3841 request_timeout: "90s"
3942 # Optional default temperature. If empty/unset, do not call uniai.WithTemperature(...).
···6770 # cheap:
6871 # model: "gpt-4.1-mini"
6972 # cache_ttl: "long"
7373+ # cache_key_prefix: "cheap-test"
7074 # reasoning:
7175 # provider: xai
7276 # model: "grok-4.1-fast-reasoning"
+2
docs/configuration.md
···255255- `MISTER_MORPH_LLM_ENDPOINT`
256256- `MISTER_MORPH_LLM_MODEL`
257257- `MISTER_MORPH_LLM_API_KEY`
258258+- `MISTER_MORPH_LLM_CACHE_KEY_PREFIX`
258259- `MISTER_MORPH_LLM_REQUEST_TIMEOUT`
259260- `MISTER_MORPH_LOGGING_LEVEL`
260261- `MISTER_MORPH_LOGGING_FORMAT`
···281282- Azure uses `llm.azure.deployment`.
282283- Bedrock uses `llm.bedrock.*`.
283284- `llm.cache_ttl` controls cache intent across providers. Supported values are `off`, `short`, `long`, and Go duration strings such as `5m`, `1h`, and `24h`. The runtime maps this to each provider's supported cache buckets.
285285+- `llm.cache_key_prefix` is optional and defaults to empty. For providers that support `prompt_cache_key`, the runtime prepends it to the generated key so changing the value forces a new cache group.
284286- `llm.tools_emulation_mode` controls tool-call emulation for models without native tool calling.
285287- `llm.profiles` defines named profile overrides.
286288- `llm.routes` routes semantic purposes such as `main_loop`, `addressing`, `heartbeat`, `plan_create`, and `memory_draft`.