v1.15.3
v1.15.3 — Cache Metrics Honesty
A small fix release answering the "I do not see cached values" report: the stats line showed cache: 0 write / 0 read / 0 total on every turn for some providers.
Fixes
- DeepSeek cache metrics are now parsed. odek understood Anthropic (
cache_creation/read_input_tokens) and OpenAI (prompt_tokens_details.cached_tokens) — but not DeepSeek's nativeprompt_cache_hit_tokens/prompt_cache_miss_tokens, which DeepSeek endpoints and gateways often return instead of the OpenAI-style details. DeepSeek hits now count as cache read, misses as cache write (DeepSeek caches missed prefixes automatically). Verified against a live DeepSeek account: native hit/miss numbers agree exactly with the OpenAI-stylecached_tokens, with no double counting. - No more fake zeros. When a provider returns no cache metrics at all, zeros falsely implied "caching ran and missed". A new
CacheReportedflag (LLM client → loop → stats) distinguishes "no data" from "0 tokens", and the Telegram stats line now showscache: n/a (provider reports no cache metrics)instead.
What you'll see after upgrading
- Real numbers (
cache: 8143 write / 15488 read / …) if your provider is DeepSeek or returns the OpenAI/Anthropic fields. cache: n/aif your provider doesn't report cache usage — a definitive answer, not a confusing zero.
Assets
Binaries are available for linux/amd64, linux/arm64, darwin/amd64, and darwin/arm64. Verify with checksums.txt.
Full Changelog: v1.15.2...v1.15.3