Changelog¶
v6.0.0 — Streaming¶
Highlights¶
- 🔴 C-Native SSE Streaming — Server-Sent Events streaming implemented at the C module level (
httpclient) for real-time LLM token delivery. SSE frames are parsed in the ESP-IDF HTTP event handler and delivered to MicroPython via a ring buffer, enabling progressive response delivery with minimal latency. - Event-Driven Agent Loop — Agent
run_loop()now supports anon_replycallback for immediate delivery of assistant responses as they arrive, replacing the previous request-response pattern. - Streaming-First Provider —
call_chat_stream()supports both Gemini (?alt=sse) and OpenAI-compatible (stream:true) endpoints with automatic fallback to standard HTTP.
Technical Details¶
modhttpclient.c: Ring buffer for SSE frames,_poll_chunk()API, slot lifecycle management for concurrent streaming + polling requestshttpclient.py: Callback-basedstream()wrapper with drain-after-poll and explicit slot cleanupproviders/__init__.py: Delta normalization for Gemini and OpenAI SSE formats
Earlier Versions
Changelog entries for earlier versions are under construction.