|
Download website/docs/developer-guide/session-storage.md from lenson78/hermes: direct link, hf CLI and curl.
- Browser
- Download file 1.7 kB
-
https://huggingface.co/spaces/lenson78/hermes/resolve/main/website/docs/developer-guide/session-storage.md
- Command line
-
hf download hf://spaces/lenson78/hermes/website/docs/developer-guide/session-storage.md
-
curl -L -o session-storage.md https://huggingface.co/spaces/lenson78/hermes/resolve/main/website/docs/developer-guide/session-storage.md
1.7 kB
| sidebar_position: 8 | |
| title: "Session Storage" | |
| description: "How Hermes stores sessions in SQLite, maintains lineage, and exposes recall/search" | |
| # Session Storage | |
| Hermes uses a SQLite-backed session store as the main source of truth for historical conversation state. | |
| Primary files: | |
| - `hermes_state.py` | |
| - `gateway/session.py` | |
| - `tools/session_search_tool.py` | |
| ## Main database | |
| The primary store lives at: | |
| ```text | |
| ~/.hermes/state.db | |
| ``` | |
| It contains: | |
| - sessions | |
| - messages | |
| - metadata such as token counts and titles | |
| - lineage relationships | |
| - full-text search indexes | |
| ## What is stored per session | |
| Examples of important session metadata: | |
| - session ID | |
| - source/platform | |
| - title | |
| - created/updated timestamps | |
| - token counts | |
| - tool call counts | |
| - stored system prompt snapshot | |
| - parent session ID after compression splits | |
| ## Lineage | |
| When Hermes compresses a conversation, it can continue in a new session ID while preserving ancestry via `parent_session_id`. | |
| This means resuming/searching can follow session families instead of treating each compressed shard as unrelated. | |
| ## Gateway vs CLI persistence | |
| - CLI uses the state DB directly for resume/history/search | |
| - gateway keeps active-session mappings and may also maintain additional platform transcript/state files | |
| - some legacy JSON/JSONL artifacts still exist for compatibility, but SQLite is the main historical store | |
| ## Session search | |
| The `session_search` tool uses the session DB's search features to retrieve and summarize relevant past work. | |
| ## Related docs | |
| - [Gateway Internals](./gateway-internals.md) | |
| - [Prompt Assembly](./prompt-assembly.md) | |
| - [Context Compression & Prompt Caching](./context-compression-and-caching.md) | |