v0.4.0
openheim v0.4.0 — Subagents
What's new
Subagents
Drop a Markdown profile in ~/.openheim/agents/{name}.md and the agent gains a delegate_task tool it can use to hand off self-contained work. Each subagent runs an isolated loop — its own message history, persona, and optionally its own model/provider and restricted tool set — sandboxed identically to the parent, and returns only its final answer.
Profiles support optional +++-delimited TOML frontmatter for description, model, provider, tools, and max_iterations, mirroring the skills format. See docs/subagents.md for the full guide.
Fixed
- Streaming retry —
RetryClientpreviously skipped retry logic for streaming calls. Streaming requests are now retried with exponential backoff, but only before the first chunk reaches the caller — once tokens have been forwarded, mid-stream failures are returned as-is rather than replayed.
Breaking changes (library)
config::resolve_client_and_confighas been removed. Its "reuse the client unless the provider/model changed" logic is now exposed asconfig::client_for_config(target, baseline, baseline_llm).