Wiki · Funkce do hloubky

Sezení a jejich obnova

Zavřený terminál nic neztratí: rozhovory se ukládají samy, dají se dohledat, navázat a přenést jinam. A taky se o ně Hermes sám stará.

🗂️
Každý rozhovor se ukládá sám — včetně toho, co agent dělal. Když zavřete terminál, nic se neztratí. Rozhovory se dají dohledat, navázat v jiném okně a klidně i na jiné platformě. Nemusíte si nic kopírovat do poznámek.

Co je „sezení“ (session)

Jeden rozhovor = jedno sezení. Ukládá se do jedné databáze, takže se v ní dá hledat a dá se v něm pokračovat po týdnech:

Kde to jeCo v tom je
~/.hermes/state.dbVšechny rozhovory a jejich stav: texty, volání nástrojů, výsledky, časy, spotřeba tokenů, název rozhovoru
Paměť (memories/)Jen krátké poznámky, které platí pořád — viz Paměť agenta

Databáze používá režim, který umožňuje čtení i zápis zároveň — proto do ní může nahlížet víc částí Hermese (rozhraní, správce zpráv, plánované úlohy) bez zamykání.

Navázání na rozhovor

❯ hermes -c # poslední rozhovor v tomto terminálu ❯ hermes -c "můj projekt" # podle názvu ❯ hermes --resume 20260409_000000_aa11bb # podle identifikátoru ❯ hermes --resume latest --in ./projekt # poslední rozhovor k téhle složce
Když máte otevřených víc terminálůCo se stane
V každém okně dáte hermes -cKaždé okno si naváže svůj rozhovor, ne ten globálně poslední
Rozhovor byl smazaný nebo je záznam starší 30 dnůNaváže se poslední rozhovor, který existuje
Toto chování chcete vypnoutsession.terminal_continue: false v nastavení

Pojmenujte si rozhovory

Hermes po první výměně sám vymyslí krátký název (tři až sedm slov), takže se v seznamu neztratíte. Když chcete vlastní, použijte příkaz lomítkem přímo v rozhovoru:

❯ /title oprava webu ❯ hermes sessions rename 20260409_000000_aa11bb "oprava webu"

Název musí být jedinečný a nejvýše 100 znaků; diakritika i emoji jsou v pořádku. Automatický název se doplní jen jednou a jen když si název nenastavíte sami.

Přehled a úklid

Co chcetePříkaz
Vidět poslední rozhovoryhermes sessions list (výchozně 20), … --limit 50
Jen z jedné platformy nebo složkyhermes sessions list --source telegram, … --workspace ~/code/projekt
Souhrnná číslahermes sessions stats
Důležité rozhovory si připnouthermes sessions pin <id>, přehled hermes sessions pinned
Vyexportovat rozhovor (do Markdownu, HTML, JSON…)hermes sessions export --format md --session-id <id>
Uklidit staré rozhovoryhermes sessions prune --older-than 30 --dry-run (napřed jen ukázat)
Přenést historii z jiného nástrojehermes sessions import --from claude / --from codex

--dry-run u úklidu znamená „jen mi ukaž, co bys smazal“. Dokud ho nepustíte bez tohoto přepínače, nic se nesmaže.

Jak agent hledá ve starých rozhovorech

Agent má nástroj na hledání v celé historii. Nepoužívá k tomu model — hledá přímo v databázi plnotextově, takže je to rychlé a nic se „nedomýšlí“:

❯ Jak jsme to tenkrát řešili s certifikátem? ❯ Najdi mi v naší historii, jaký byl ten příkaz na zálohu databáze.

Praktický rozdíl: paměť si agent nosí pořád u sebe (a je proto krátká), kdežto hledání v rozhovorech jde do hloubky — a najde i to, co se do paměti nevešlo.

Dlouhé rozhovory a jejich pokračování

Každý model má omezené místo na kontext. Když rozhovor přeteče, Hermes ho srovná (zhuští) a pokračuje v novém sezení stejné řady — v seznamu se to pozná podle názvu (můj projekt, můj projekt #2, #3). Navázání podle názvu vždycky vezme nejnovější pokračování.

SituaceCo udělat
Chci srovnat rozhovor sámPříkaz /compress v rozhovoru
Chci začít s čistou hlavouPříkaz /new — paměť se znovu načte, historie zůstává dohledatelná
Chci pokračovat tam, kde jsem skončilhermes -c "název projektu" — vezme nejnovější pokračování

Rozhovory z jiných platforem

Rozhovor není vázaný na jedno rozhraní. Můžete ho začít v terminálu a poslat si ho do chatu na mobil:

❯ /handoff telegram # předat rozhovor do Telegramu

Na mobilních platformách má každý chat své vlastní sezení (soukromý chat, skupina, vlákno). Když se ptáte ve skupině, agent si pamatuje kontext té skupiny — ne vašich soukromých rozhovorů.

Automatické udržování

Bez údržby by databáze rostla pořád dál — u běžících botů a plánovaných úloh to dělá gigabajty za pár týdnů. Hermes proto stará sezení uklízí sám:

NastaveníVýchozí hodnotaCo dělá
sessions.auto_prunezapnutoStará sezení se uklidí při startu (rozhraní, správce zpráv, plánované úlohy)
sessions.retention_days90 dnůJak dlouho se nečinné rozhovory drží
sessions.min_interval_hours24 hodinJak často se úklid vůbec pouští

Databáze se po úklidu zmenší jen tehdy, když je co uvolnit — je to záměr, ne chyba. Když se do nastavení zadá nesmyslná hodnota (například záporné dny), Hermes úklid přeskočí a napíše varování, místo aby smazal všechno.

Pasti z našeho provozu

Co se staloCo s tím
Po dlouhé práci se z rozhovoru ztratily detailyRozhovor se zhušťuje, když se zaplní kontext — to je normální. Podrobnosti zůstávají v historii: stačí se zeptat („najdi v naší historii…“)
Domnívali jsme se, že si agent pamatuje něco, co zaznělo před měsícemV paměti to nebylo (je krátká). Dohledá se to hledáním v rozhovorech, ale přesněji: „podívej se do historie, jak jsme nastavili…“
Databáze stavu narostla na stovky megabajtůVypnuté udržování + hodně rozhovorů z platforem a plánovaných úloh. Pomůže hermes sessions stats, připnutí důležitých a prune s --dry-run
Ve dvou panelech terminálu se pořád navazoval jeden rozhovorChování -c je vázané na terminál, takže si každý panel drží svůj rozhovor — ale jen když v něm byl spuštěn aspoň jednou. Nový panel = nový rozhovor

Naše tipy

TipProč
Důležitý rozhovor si připněte nebo pojmenujteV seznamu plném automatických názvů se pak najde jedna dvě
Na nový úkol nový rozhovor (/new)Agent má čistý kontext a znovu si načte, co o vás ví
Před úklidem si udělejte exporthermes sessions export udělá zálohu, ke které se dá vrátit
Hledejte v historii místo vzpomínáníAgent to umí plnotextově a bez výmyslů — stačí říct, co hledáte

Kam dál

← Zpět na wiki