Wiek narzędzia mierzy się tym, jak bardzo jego TUI z góry zakłada, że tak naprawdę w nie nie patrzysz.
Terminal Hermesa przed v0.11.0 był dokładnie takim typem interfejsu: działał, w sposób, w jaki działa tekstowy installer ze starej linuksowej maszyny. Każdy klawisz robił coś, każda komenda robiła to, co obiecywała, a wizualny układ był raczej cienką uprzejmością niż projektem. Używałem go codziennie. Nie zauważałem, jak często cicho go obchodzę bokiem, dopóki nie wyszła v0.11.0.
23 kwietnia 2026 — osiem dni po v0.10.0 — wylądowało wydanie, które sami autorzy Hermesa ochrzcili „the interface release". Nazwa wydaje się blada, dopóki nie zacznie się czytać changeloga i nie zorientujesz się, że warstwa między tobą a agentem stała się po prostu innym programem.
React, Ink i TUI, które wreszcie jest TUI
Ink TUI to widoczna zmiana. Ink to biblioteka Vadima Demedesa, która pozwala budować terminalowe UI komponentami Reacta — tymi samymi prymitywami co w webie, tylko renderowanymi do terminala. TUI Hermesa zostało w całości przepisane w Inku, a pythonowy backend rozmawia z frontendem przez JSON-RPC.
Co to oznacza w praktyce: streaming wyjścia nie zaczyna się szarpać, gdy w środek wskoczy tool-call. Ramki spinnera układają się równo obok tekstu. Resize terminala przelicza układ bez gubienia historii. Długi output toola wpada w zwijany blok, który rozwijasz. Inline image-rendering jako kolejny krok zapowiedziany jest w release notes na przyszłe iteracje.
Brzmi to jak wizualny lukier i w pierwszych pięciu sekundach takim też jest. W piątej godzinie to coś więcej: to TUI, które zachowuje się tak, jak powinno zachowywać się interaktywne środowisko. Pierwszy raz od roku terminal wygląda jak program, w którym Hermes naprawdę mieszka, a nie jak minimalny shell, do którego go wepchnięto.
Pluggable transport — warstwa modelu jest teraz warstwą
Pod TUI siedzi druga duża zmiana: podłączalna architektura transportowa. Warstwa modelu była przed v0.11.0 w istocie długim łańcuchem if-elif, który dla każdego providera robił coś unikalnego. v0.11.0 zastępuje to jednym interfejsem transportu, do którego pluguje się providerów.
Cztery transporty dostarczone w dniu zero: Anthropic Messages, OpenAI ChatCompletions, OpenAI Responses API i Amazon Bedrock. Na ich tle ląduje pięć nowych ścieżek inferencji: GPT-5.5, Claude Opus 4.7 (1M kontekstu), Kimi K2.6, QQBot (Tencent) i bezpośrednia ścieżka Bedrocka dla enterprise.
Istotne nie jest „pięć nowych modeli" — to zwykły tydzień w 2026 — tylko to, że dodanie szóstego albo siódmego od teraz jest implementacją pluginu, a nie łatką w łańcuchu if-ów. v0.13.0 dobuduje do tego pluggable provider-systems dla adapterów gateway-a. Kształt jest już tutaj wyrysowany.
/steer, czyli korekta kursu w locie
/steer to slash-komenda, która pozwala wewnątrz pracującego agenta skorygować kierunek bez ucinania i zaczynania od nowa. Przed v0.11.0 sposobem na podkręcenie kierunku pracującego agenta było: Ctrl-C, restart, nowy prompt. Tracisz kontekst. /steer mówi: nie, rób dalej to, co robisz, ale tę rzecz waż mocniej.
Efekt jest mniejszy niż fundamentalna zmiana protokołu i większy niż tweak ergonomiczny. Każdy, kto puszcza Hermesa na coś, co trwa dłużej niż minutę, dostaje teraz przycisk do ingerencji bez wyrzucania całego stanu.
W tym samym duchu: /queue pozwala wstawić w kolejkę kolejne pytania, gdy agent jeszcze pracuje nad bieżącym. Brzmi to drobno do chwili, gdy zauważysz, że kadencja rozmowy w TUI zawsze była: pisz, czekaj, pisz, czekaj. v0.11.0 zmienia to na: pisz, pisz, pisz, agent przemiela po kolei.
Powierzchnia pluginów to już nie ten mały kontrakt
Plugin-API dostaje w v0.11.0 fundamentalne rozszerzenie. Pluginy mogą od teraz dostarczać własne komponenty TUI, nie tylko tła do tooli. Plugin może dorzucić własny statusbar, własny panel, własny modal-dialog renderowany tym samym Inkiem co reszta TUI.
Brzmi to niewinnie i takie nie jest. Plugin-API obsługujące tylko tła to plugin-API do skryptów. Plugin-API, które wolno renderować, to plugin-API do aplikacji. v0.11.0 dokonuje tego przeskoku.
Warstwa MCP dostaje równolegle aktualizację OAuth 2.1 device flow — znów: w formie rozszerzenia wcześniejszej pracy, a nie zastępowania jej.
Co właściwie obejmuje nazwa „interface release"
Release notes nazywają v0.11.0 „the interface release", a na pierwszy rzut oka brzmi to jak nazwa dla „pomalowaliśmy TUI". Ale po przejściu changeloga zaczyna chodzić o interfejsy na trzech poziomach naraz:
- •Interfejs człowiek–agent (TUI przepisane).
- •Interfejs agent–model (warstwa transportowa przepisana).
- •Interfejs plugin–host (kontrakt pluginu rozszerzony tak, że może obsługiwać TUI).
To w istocie wydanie, w którym trzy krawędzie stykające się z Hermesem — góra, dół i bok — zostały odnowione w jednej wersji. Niezwykłe dla tygodniowej kadencji i możliwe tylko dlatego, że refaktor transportu w v0.10.0 już po cichu wytyczył drogę.
Co jest teraz lepsze, z liczbami
- •Streaming throughput około 2× wyższy na Claude'zie dzięki lepszemu buforowaniu tokenów w renderze Inka.
- •Cold start TUI niższy o 28% — ładny pierwszy pomiar, zanim krok 57% z v0.12.0 jeszcze się na to nałoży.
- •Memory footprint lekko wyższy (~12%) z powodu runtime'u Inka, w zamian za wspomniany throughput.
Żadna z tych liczb sama w sobie nie jest argumentem sprzedażowym. Złożone razem dają różnicę między „leci gładko" a „leci niemal gładko" — i ta druga zniknęła.
---
Pytanie, które sobie zadaję tydzień po upgrade'ie: ile razy między v0.10.0 a v0.11.0 obchodziłem cicho stary TUI bokiem? Przełączałem się na drugie okno terminala, żeby przeczytać długi output toola. Kopiowałem streamujący tekst do edytora, żeby zrobił się czytelny. Restartowałem agenta, żeby skorygować kurs, zamiast popchnąć go bokiem. Trzy małe obejścia, których świadomie nie pamiętałem, dopóki w v0.11.0 nie przestały być potrzebne.
Dobra robota nad interfejsem działa tak. Nie zauważasz nowej, lśniącej ficzy; zauważasz, że szereg starych obejść przestaje bez zapowiedzi istnieć.