Install
uv tool install --force "omnigent==0.4.0"0.4.0 turns harnesses into a real plugin platform — bring your own coding agent as an installable package — makes the intelligent model router actually pick for you, and matures the whole native-harness fleet with parity, cost, and polish across the board.
Major new features
- 🤹 Polly multi-agent orchestration: the polly example orchestrator now fans work out across more coding sub-agents — cursor, hermes, and opencode join the roster — so a single run can delegate to the right agent for each task (#1844, #1776)
- 🔌 Harness plugin SDK: bring your own coding agent — any harness can now ship as an installable Python package (via the
omnigent.community.harnessentry point), no fork or core changes required. A declarative capability model + a/v1/harnessescatalog let the server and UI discover what each harness supports (#1756, #1847, #1894) - 🧠 Intelligent model routing, now automatic: the model router (introduced in v0.3.0) now picks the best harness and model for each turn via a server-side judge, reading a live per-runner model catalog — plus an orchestrator-facing
sys_advise_modelstool for sizing fan-out (#1663, #1765, #1683) - 🪢 Native-harness maturity across the fleet:
- kiro-native reaches full parity: Omnigent tools inside kiro sessions, a launch-time model picker, TUI approvals surfaced as chat cards, working interrupt / Stop, and credit usage tracked as session cost (#1709, #1706, #1715, #1293, #1531, #1699)
- claude-native renders live tool-call cards in the web chat, shows background-shell status, and takes a pluggable launch command (#1499, #1578, #1476)
- qwen-native gains Omnigent tools in the TUI and carries conversation history across fork / switch-agent (#1559, #1576)
- GitHub Copilot reports authoritative AI-credit cost, forwards reasoning effort, emits compaction-complete events, and gates its native tools through policy (#1486, #1503, #1505, #1511)
- 🧩 VS Code extension (coming very soon): open and drive your running Omnigent server without leaving the editor — landing shortly, not on the Marketplace just yet (#1288, #1855)
- 🛡️ Better control & elicitation: clicking Decline now cleanly cancels the turn instead of nudging the model to retry, a new
intent_gatekeeps an agent on its original task, and sub-agents can carry their own cost budgets (#1839, #1777, #1538) - 💻 Web & CLI polish: unread/seen state syncs across devices, compaction shows a progress bar instead of a silent pause, a new
!shell passthrough folds command output into your next turn, half-typed drafts survive navigation, the file viewer gains image zoom + inline comments, and the app installs as an offline-capable PWA (#1679, #1304, #1524, #1659, #1775, #116) - 🔎 Zero-setup web search:
web_searchworks out of the box with a keyless DuckDuckGo backend; add Tavily for grounded search on any model (#918, #1339)
Bug fixes
- Connections hold under load — a ws-tunnel keepalive fix ends mid-session disconnects (#1727).
- Sub-agent results reliably reach the parent session now, instead of getting lost (#1770).
- pi-native recovers on long sessions — tool calls no longer start failing about an hour in (#1621).
- Native harnesses survive sandbox restarts — codex/claude-native restore compaction + transcript on resume (#1535).
- No more zombie processes or runaway terminal panes — orphaned tool/harness processes are reaped and idle panes self-heal (#1812, #1624).
- Accurate costs — fixed a lost-update race in session usage and stopped double-billing Cursor cache tokens (#1664, #1802).
...and more!
💜 Thanks to our community
This release was shaped by the people who filed issues, opened PRs, and talked through feature requests with us on our Discord! Thank you for building omnigent with us, keep the bug reports, ideas and contributions coming :)
Full Changelog: v0.3.0...v0.4.0