v0.2.0 — free provider presets, batch reads, health check, HEIC
What's new in 0.2.0
Free provider presets — one provider switch fills the whole endpoint config:
zhipu: free GLM-4V-Flash (open.bigmodel.cn) — best default in mainland Chinagemini: free key from Google AI Studio (generativelanguage.googleapis.com/v1beta/openai/)dashscope: the default models as a preset
Explicit fields always override the preset; existing configs (provider unset =custom) are untouched.
Batch image reads — describe_image accepts up to 8 images via images[] in one call (compare screenshots, spot a shared visual family). Single-image cache keys keep the v1 layout, so previously cached answers still hit. One failed image fails the whole call with a clear error.
llm_vision_check diagnostic tool — verifies config, API-key resolution, and a keyed GET /models probe (401/404/network classified), plus an optional end-to-end testCall on a 1×1 image. The API key never appears in the report.
HEIC/HEIF support — the tools read local HEIC/HEIF paths and URLs directly; macOS preprocessing re-encodes them to JPEG (endpoints support HEIC unevenly), and platforms without sips fail loudly instead of shipping a format endpoints reject. The paste/upload channel stays on the official four media types with a hint to use paths instead.
Also: loadImage file-read errors now carry the llm-vision: prefix (error contract), and the attach body cap scales with maxBytes (large-image pastes no longer hit the fixed 16 MiB ceiling).
216 offline tests (was 183), typecheck + CI green.