v0.2.0
openheim 0.2.0
Highlights
New TUI built on ratatui
The terminal interface has been rewritten from scratch on ratatui. The result is a much faster, more responsive UI with proper event handling. Key additions:
- Interactive pickers for sessions, models, and commands — navigate with arrow keys, select with Enter, no more typing IDs.
:modelscommand — switch provider and model mid-session from an inline popup.- Themes — choose a colour theme with
:theme; the default is nowgray. - Info panels relocated to the prompt area so they no longer overlap the message list.
TerminalGuardensures the terminal is restored cleanly on panic or forced quit.
Token streaming and thinking blocks
All four LLM backends (Anthropic, OpenAI, Gemini, OpenAI-compatible) now stream tokens in real time and surface extended thinking blocks as they arrive. Previously, responses were buffered and displayed in one shot.
ACP: session/set_model
ACP clients can now call session/set_model to switch the model during an active session. The thinking convention is advertised in session metadata so clients can negotiate capabilities up front.
Bug fixes
| Area | Fix |
|---|---|
| MCP | Child server processes are killed when the client is dropped, preventing zombie processes |
| LLM / SSE | Fixed SSE buffer reallocation that silently dropped streamed tokens |
| LLM | JSON serialization errors now propagate instead of producing empty output |
| Sessions | Restoring a session from history now sets it as active and clears stale state |
| ACP | Session load now resolves the full provider config, not a partial view |
| ACP | acp_prompt resolves the per-session LLM client correctly |
| Model switch | UI now shows the full (provider, model) pair after switching |
| Provider resolution | Model-whitelist is enforced in resolve_with_provider |
| Session restore | Warning emitted when restored session references an unconfigured provider |
| TUI | Long messages now wrap correctly in the viewport |
| Tools | Execution errors are captured and reported rather than silently dropped |
| TUI | ToolResult errors rendered in red; default theme corrected from dark_gray to gray |
Upgrade
cargo install openheim --version 0.2.0Or pin in Cargo.toml:
[dependencies]
openheim = "0.2.0"