v2026.4.23 — The Interface Release
Released: April 23, 2026 Theme: Interface and underlying transport layer fully rebuilt Breaking Changes: None
This release rolls up roughly two weeks of work (1,500+ commits) and folds in everything deferred from v0.10.0.
Core Highlights
1. New Ink-based TUI
hermes --tui is now a full React/Ink rewrite of the interactive CLI, with a Python JSON-RPC backend. What you’ll feel:
- Sticky composer pinned to the bottom — the input no longer jumps as you scroll
- Smooth live streaming with cross-SSH copy support (OSC-52 clipboard)
- Status bar with per-turn stopwatch and current git branch
/clearnow confirms before wiping history- Built-in light theme for white-background terminals
- Subagent spawn observability overlay so you can watch what spawned workers are doing
2. Transport ABC + Native AWS Bedrock
The code that talks to each model provider used to live in one giant file. This release splits it into a clean agent/transports/ layer with one module per provider:
AnthropicTransport(Anthropic Messages API)ChatCompletionsTransport(OpenAI-compatible default)ResponsesApiTransport(OpenAI Responses API + Codex)BedrockTransport(AWS Bedrock Converse API)
For you: native AWS Bedrock support. Previously Bedrock had to go through an OpenAI-compatible shim — now Vi speaks Bedrock’s own dialect for better performance and feature parity.
3. Five New Inference Paths
- NVIDIA NIM native support
- Arcee AI direct provider
- Step Plan
- Google Gemini CLI OAuth (use your existing Gemini CLI login)
- Vercel ai-gateway with pricing and dynamic model discovery
Plus Gemini now routes through the native AI Studio API for better performance.
4. GPT-5.5 via Codex OAuth
OpenAI’s new GPT-5.5 reasoning model is available through your ChatGPT Codex OAuth login. Live model discovery is wired into the model picker, so future OpenAI releases will show up without a Vi update.
5. QQBot — 17th Messaging Platform
New QQBot adapter via QQ Official API v2:
- QR scan-to-configure setup wizard
- Streaming cursor and emoji reactions
- DM and group policy gating you can configure separately, matching WeCom/Weixin parity
6. Expanded Plugin Surface
Third-party plugins can now do a lot more:
| Capability | What it does |
|---|---|
register_command | Plugins can register their own slash commands |
dispatch_tool | Invoke tools directly from plugin code |
pre_tool_call veto | Block tool execution from a hook |
transform_tool_result | Rewrite tool results |
transform_terminal_output | Rewrite terminal output |
| Custom dashboard tabs | Add your own pages to the Web Dashboard |
image_gen backends | Plug in your own image generation provider |
7. /steer — Mid-run Agent Nudges
Type /steer <prompt> mid-conversation to inject a note that the running agent sees after its next tool call — no interruption, no prompt-cache breakage. For when Vi is heading the wrong way and you want to course-correct without restarting.
8. Shell Hooks
Wiring custom logic into Vi’s lifecycle (e.g., “before every tool call, do X”) used to require writing a Python plugin. Now you can drop in a shell script and bind it to any lifecycle event (pre_tool_call, post_tool_call, on_session_start, etc.).
9. Webhook Direct-Delivery Mode
Webhook subscriptions can now bypass the agent and forward payloads straight to a chat platform. Perfect for alerts, uptime checks, and event streams where you don’t need AI interpretation — just a notification. Saves tokens and is faster.
10. Smarter Subagent Delegation
Subagents now have an explicit orchestrator role that can spawn their own workers. Spawn depth is configurable (default: flat — orchestrators don’t spawn grandchildren by default). Concurrent subagents share filesystem state through a coordination layer so they don’t clobber each other’s edits.
11. Web Dashboard Upgrade
- i18n (English + Chinese)
- Live theme switching — colors, fonts, layout, density all hot-swap without a reload
- Plugin system — third-party tabs, widgets, and views without forking
- Mobile-responsive layout
- Real per-session API call tracking (previously estimated)
- One-click “update + restart gateway” buttons
Upgrade Recommendations
- Try
hermes --tuiand watch for the git branch and stopwatch in the status bar - Use
/steermid-conversation when Vi drifts — no more interrupt-and-restart - AWS users: switch a model to Bedrock and check the latency
- Open the Dashboard and play with theme switching
- QQBot users: re-run the new wizard to enjoy the streaming cursor and reactions