Image Offload

Domain: Memory & Context

Motivation

dsh-compaction-image-offload keeps image-heavy conversations going when older images exceed a model route’s budget. It permanently replaces the offending images with text naming each attachment and its read-only path, then retries without spending the provider retry budget. Each decision appends one image/offload event, and later requests retain that choice across route changes, resume, and replay.

Concrete Example

The plugin acts only on IMAGE_OFFLOAD_REQUIRED failures that carry offloadImages: it walks the surface in model request order, marks that many occurrences, and retries with a fresh request/header. Without it mounted, an over-image-budget request reaches ordinary recovery and ends the turn as an error.

Analogy

Swapping the big photos out of a presentation for a caption that says “see attached file” so the slide still fits.