- ImageCacheService: disk-based cache keyed by MD5 hash of URL - LRU eviction by last-access time (not creation time) - ImageCacheSettings: configurable max size (default 200MB), can disable - v2 commands: get_cached_image, get/set settings, stats, clear cache - Cache stored at ~/.cache/qbz/images/ with SQLite metadata