Memory Vault — Portable Context Protocol
From agent session to shareable context in one command.
Memory Vault turns any Hermes session into a portable .hermes-memory context pack — the conversation, the tool traces, the artifacts created, and a handoff brief that lets another agent pick up exactly where you left off.
Installation
pipx install hermes-memory-vault
# or
pip install hermes-memory-vault
The distribution is named
hermes-memory-vaultbecausememory-vaultis already taken on PyPI by an unrelated project. The package you import is stillmemory_vault, and the command is stillmemory-vault.
Or install from source:
git clone https://github.com/iruzen-dono/memory-vault.git
cd memory-vault
pip install -e .
Requires Python 3.11+. The CLI exposes the memory-vault command:
# Launch the interactive TUI browser
memory-vault browse
# List sessions
memory-vault list-sessions
# Export a session into a shareable pack
memory-vault export <session-id> --project-root . -o bot.hermes-memory
# Inspect a pack
memory-vault info bot.hermes-memory
# Import (show handoff + artifacts)
memory-vault import-pack bot.hermes-memory
Features
🖥️ Interactive TUI (memory-vault browse)
Browse sessions with enriched titles (LLM-generated), search, export, and re-index — all from the terminal.
┌────────── Session Browser ───────────┐
│ Config Fix │
│ 20260629_06423 · deepseek-v4-flash │
│ The AI agent fixed config issues… │
│ │
│ LLM: ✅ cloudflare │
│ Memory Vault Dev │
│ 20260628 · deepseek-v4-flash │
│ Developed and tested Memory Vault… │
└──────────────────────────────────────┘
Press i to re-index a session, e to export, Ctrl+P to search. The footer shows your active LLM provider with its availability status.
📋 Provider Management (memory-vault providers)
List all registered LLM providers and whether they're available (creds detected):
$ memory-vault providers
Provider Available
──────────────── ────────────
cloudflare ✅
anthropic ❌
openai ❌
Persist a provider choice so you don't need env vars:
memory-vault config set llm.provider cloudflare
memory-vault config get llm.provider # cloudflare
memory-vault config list # show all stored config
🧠 Smart Session Indexing (memory-vault index)
Generate descriptive titles and summaries for all your Hermes sessions using an LLM provider. Supports any OpenAI-compatible API and Cloudflare Workers AI out of the box.
# Index all sessions (auto-detects provider)
memory-vault index
# Index with 4 parallel workers (much faster)
memory-vault index --workers 4
# Use Cloudflare Workers AI
export CLOUDFLARE_ACCOUNT_ID="..."
export CLOUDFLARE_API_TOKEN="..."
memory-vault index --force
# Use any OpenAI-compatible API
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_API_KEY="sk-..."
memory-vault index
# Override the model per run
MEMORY_VAULT_INDEX_MODEL="gpt-4o" memory-vault index
📦 Context Packs
Shareable, self-contained archives of any Hermes session.
Why context packs?
AI agent sessions produce context — conversations, decisions, files, tool calls — but it's trapped inside the agent's database. Memory Vault extracts it into a structured, portable format that's:
- Shareable — send a
.hermes-memoryfile to a teammate or another agent - Restartable — the handoff brief tells the receiving agent what was done and how
- Auditable — full transcript + tool traces + artifact copies in one file
- Self-contained — includes everything needed to understand the session
The format
A .hermes-memory file is a tar.gz archive with a clean layout:
bot.hermes-memory/
├── manifest.json # Metadata: title, tags, source session, git commit, tool usage
├── narrative.md # Chronological story of the session
├── messages.json # Raw session messages (for deep reference)
├── decisions.json # Key decisions extracted (AI-generated)
├── artifacts/ # Files created or modified during the session
│ ├── src/bot.py
│ └── ...
├── tool-traces.json # Tool usage summary (calls per tool)
└── context/
├── handoff.md # Brief for the receiving agent
└── references.md # URLs and resources used in the session
Quick start
1. Install
pip install "memory-vault[tui]" # with TUI
pip install "memory-vault" # CLI only (lighter)
2. Browse sessions
memory-vault browse
# or just list:
memory-vault list-sessions
3. Index sessions (optional, for meaningful titles)
Requires an LLM provider. By default tries CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN for Cloudflare Workers AI. Falls back gracefully with template titles.
# Auto-detect Cloudflare Workers AI
memory-vault index
# Or set any OpenAI-compatible provider
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_API_KEY="sk-..."
memory-vault index
# Only new sessions (skip already-indexed)
memory-vault index --new
4. Export a session
memory-vault export 20260620_143021_a1b2c3 \
--title "Hyperliquid Trading Bot" \
--tags trading,hyperliquid,defi \
--project-root /path/to/project \
--author iruzen
5. Share or archive
Send the .hermes-memory file anywhere. The receiving agent loads it with:
memory-vault import-pack bot.hermes-memory
Commands
| Command | Description |
|---|---|
browse |
Launch interactive TUI (sessions or packs) |
list-sessions |
Browse available Hermes sessions |
export <id> |
Pack a session into .hermes-memory |
info <pack> |
Inspect a pack (metadata, artifacts, tools) |
import-pack <pack> |
Show handoff brief, artifacts, and tool traces |
list |
List all packs in a directory |
search <pattern> |
Regex search across packs |
render <pack> |
Render pack as Markdown or HTML |
index [--workers N] |
Enrich session titles & summaries via LLM |
providers |
List available LLM providers and their status |
config set/get/list |
Manage persistent configuration |
diff <pack1> <pack2> |
Compare two context packs side-by-side |
Use cases
- Handoff between agents: finish a session on desktop, continue on Telegram
- Project snapshots: capture the full context of building a feature
- Debugging archives: save the session that led to a bug
- Knowledge base: build a library of past agent actions
- Onboarding: share how a complex task was done
How it works
Memory Vault reads directly from the Hermes sessions database (state.db). It:
- Queries the session metadata (title, model, platform, duration)
- Reads all messages (user prompts, assistant responses, tool calls)
- Builds a chronological narrative from the conversation
- Detects artifacts by scanning
write_fileandpatchtool calls - Counts tool usage for the summary
- Generates a handoff brief with the original goal and key results
- Packages everything into a compressed
.hermes-memoryarchive
Project structure
src/memory_vault/
├── __init__.py # Version + public exports
├── __main__.py # CLI entry point
├── cli/
│ └── main.py # Typer commands (export, info, import, list, search, render, index, browse)
├── core/
│ ├── __init__.py
│ ├── llm.py # LLMProvider ABC + CloudflareAI + OpenAICompatibleProvider
│ ├── config.py # JSON config persistence (llm.provider, etc.)
│ ├── manifest.py # Manifest dataclass + serialization
│ ├── pack.py # ContextPack — in-memory representation + tar.gz I/O
│ ├── builder.py # ContextBuilder — reads Hermes sessions, builds packs
│ ├── narrator.py # SessionNarrator — compresses conversations via LLM
│ ├── renderer.py # Export packs as Markdown or HTML
│ ├── session_index.py # SessionIndex — SQLite cache for LLM-enriched titles
│ └── tui.py # MemoryVaultTUI — Textual-based interactive browser
License
MIT
Metadata
Release files for hermes-memory-vault 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hermes_memory_vault-0.2.0.tar.gz | 54.2 kB | With provenance | Details for hermes_memory_vault-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hermes_memory_vault-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for hermes_memory_vault-0.2.0-py3-none-any.whl |
Total release size: 107.8 kB
Release files / hermes_memory_vault-0.2.0.tar.gz
| Download URL | hermes_memory_vault-0.2.0.tar.gz |
|---|---|
| Size | 54.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a237246349067f02f9bae9bf7e3ea652ca307713eac1ec5e935df232df901de
|
|
BLAKE2b-256 checksum How to use checksums |
2ab534ceaa6d3c9782cf8e83f2a48ff236470896bad40383d0953e252919774c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.
Transparency logRelease files / hermes_memory_vault-0.2.0-py3-none-any.whl
| Download URL | hermes_memory_vault-0.2.0-py3-none-any.whl |
|---|---|
| Size | 53.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57905722b93180801b2dc62b777843a3cc61b2cf72c4db429992a31d76393d76
|
|
BLAKE2b-256 checksum How to use checksums |
3e24f972b775d74e960a6271361d8245472e54e2893dbbacd21778e00ce3b073
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.
Transparency logSecurity for hermes-memory-vault 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for hermes_memory_vault-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 12, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.