v0.17.0
Release v0.17.0
🚀 Features
-
Vision Preprocessing for Non-Vision Models
IntroducedVisionPreprocessingUtilsandVisionDescriptionCacheto automatically replace image content with text descriptions generated by an associated vision model when the primary model lacks vision capabilities.- New
vision_modelfield onModeldefinitions to specify a companion vision model per provider. - Caching of image descriptions (SHA‑256 fingerprint, configurable path, optional disable).
- Applied to many models across CommandCode, CrofAI, DeepInfra, Fireworks, OpenCode Go providers.
- New
-
Enhanced Token Usage Tracking
- Changed metadata keys from
total_tokenstototal_input_tokensfor clarity. - Added
cached_tokens,cache_creation_tokens,total_tokens, andcostto task/session metadata. - Token usage is now merged across turns in ACP sessions and persisted to session store.
- Console UI and Qt GUI now display total session tokens and cumulative cost.
process_messagenow acceptsstr | listof messages and an optionalmodel_idparameter, enabling vision model calls.
- Changed metadata keys from
-
ACP Session Improvements
TokenUsageis stored and restored inAcpSessionState.- New
send_usage_updatemethod pushes token usage, cost, context size, and usage to ACP clients. - Session lifecycle persists
token_usageas a dict.
-
New Models Added
- CommandCode:
Kimi K2.7 Code HighSpeed,Nemotron 3 Ultra(free),Qwen3.7 Plus(vision). - OpenCode Go:
Qwen3.7 Plus, removed deprecatedmimo-v2-pro,mimo-v2-omni,minimax-m2.5. - DeepInfra:
Nemotron 3 Super(vision),Qwen 3.5 27B(vision). - Fireworks: Vision model assignments for existing models.
- CommandCode:
-
Model Capability Updates
- Added
visioncapability to many models: GPT‑5.3 Codex, GPT‑5.4 Mini, Qwen3.6 Plus, Qwen3.7 Plus, Step 3.7 Flash, MiMo V2.5, Gemini 3.1 Flash Lite, and more for CommandCode provider. - Added
vision_modelreferences (e.g.,xiaomi/mimo-v2.5,google/gemma-4-31B-it,qwen3.6-27b) for models without native vision.
- Added
🐛 Bug Fixes
-
Stop Interrupt Handling
Fixed double token merge when streaming is stopped early – now returns immediately without processing tools after stop. -
Conversation Fork Token Reset
Forked conversations now reset token usage metadata (input_tokens,output_tokens, `