All plugins

severian

Local-first long-term memory for Hermes agents: a canonical append-only store (SQLite or PostgreSQL+pgvector) with five-dimensional tenant/profile/collection/agent/session scope, hybrid BM25+vector retrieval with a re-ranker, memories that cite the observations they came from, per-turn user facts, real dates next to relative times, truth resolution when a newer fact replaces an older one, and a conflict note when two returned memories disagree. Fully offline by default; Qwen3-Embedding-0.6B semantic embeddings opt-in, locally or in a user-owned sidecar. On OmniMemEval's public long-term-memory leaderboard (its own models, prompts and full public sets) it scores 90.6 LongMemEval (1st), 87.3 LoCoMo (2nd) and 71.6 BEAM 100K (2nd, within noise of the lead); it re-ran LCM-X to check the board's records, and per-question results, a strict second marker and scripts are published in the repo. Disclosure — stores every conversation turn in one SQLite database under the Hermes root (`<hermes root>/severian`) shared by all profiles with rows scoped per profile, or in the PostgreSQL database named by `SEVERIAN_DSN`; the opt-in Qwen/Granite embeddings download a model from Hugging Face on first use, and the opt-in embedding sidecar sends memory text to the URL you configure.

Sahil-SS95Memoryv0.3.13Updated 12 days ago

About

Local-first long-term memory for Hermes agents: a canonical append-only store (SQLite or PostgreSQL+pgvector) with five-dimensional tenant/profile/collection/agent/session scope, hybrid BM25+vector retrieval with a re-ranker, memories that cite the observations they came from, per-turn user facts, real dates next to relative times, truth resolution when a newer fact replaces an older one, and a conflict note when two returned memories disagree. Fully offline by default; Qwen3-Embedding-0.6B semantic embeddings opt-in, locally or in a user-owned sidecar. On OmniMemEval's public long-term-memory leaderboard (its own models, prompts and full public sets) it scores 90.6 LongMemEval (1st), 87.3 LoCoMo (2nd) and 71.6 BEAM 100K (2nd, within noise of the lead); it re-ran LCM-X to check the board's records, and per-question results, a strict second marker and scripts are published in the repo. Disclosure — stores every conversation turn in one SQLite database under the Hermes root (`<hermes root>/severian`) shared by all profiles with rows scoped per profile, or in the PostgreSQL database named by `SEVERIAN_DSN`; the opt-in Qwen/Granite embeddings download a model from Hugging Face on first use, and the opt-in embedding sidecar sends memory text to the URL you configure.

Severian memory plugin (for Hermes Agent)

Drop-in memory provider for Hermes. Install from the plugin catalog:

hermes plugins install severian

Or from a checkout: copy this folder to $HERMES_HOME/plugins/severian/ and run hermes pm repair, which installs the
pinned severian package from PyPI into Hermes' managed environment.

Then set memory: provider: severian in config.yaml and restart Hermes.

See the repo root README for features, benchmark results and configuration.

Disclosures

  • Memory is local. Everything is stored on the machine: by default under the Hermes data root
    (<HERMES_HOME>/severian/, SQLite), or in the PostgreSQL database you point SEVERIAN_DSN at. The engine makes no
    third-party calls.
  • Recall injects context. The provider's purpose is returning saved memories and assembled context blocks into
    agent turns. Nothing is sent anywhere beyond what the bullets below name.
  • Optional network paths, each one you switch on:
    • SEVERIAN_EMBEDDING=qwen: downloads the Qwen3-Embedding-0.6B weights from huggingface.co on first use.
    • SEVERIAN_EMBEDDING=remote-qwen: talks to your own sidecar socket (SEVERIAN_EMBED_SOCKET), no internet.
    • SEVERIAN_USER_FACTS=1: sends conversation turns to the model backend Hermes is already configured with, in the
      background worker you run, to short facts.
    • SEVERIAN_RERANK: loads a cross-encoder locally (weights download from huggingface.co on first use).
    • severian serve: starts the HTTP API yourself; not started by the plugin.
  • Background worker is yours. The plugin never spawns hidden processes; the derivation worker runs when you or
    your cron run severian work.
  • No telemetry, no self-updating, no credential files. Configuration is the SEVERIAN_* environment variables you
    set. The one secret, SEVERIAN_DSN (optional; it can hold a database password), is read through Hermes's
    profile-aware secret scope (agent.secret_scope.get_secret), never from config files the plugin reads.
  • No process-wide changes. The optional embedding loaders pass offline mode to the model loader rather than setting
    environment variables for the Hermes process.

README from the reviewed commit bdb14b0; it updates when the author re-pins.

More by Sahil-SS9

10 plugins by Sahil-SS9 in the catalog.

Sahil-SS9hermes-project-stewardshipDurable project ownership and bounded initiative management for Hermes fleets. Disclosure — a `pre_llm_call` hook adds a project's saved rules, decisions and facts to turns of bots assigned to that project; objective checks run allowlisted local programs only at autonomy level 3+ and GitHub objectives shell out to your own `gh api`; it creates and edits Hermes Kanban tasks through Hermes' internal kanban modules (title/body/tenant written directly to kanban.db), reads other Hermes profiles' project registries (projects.db, read-only, profile names and project counts only) to hint where existing projects live during onboarding, keeps its own SQLite DB under `<Hermes home>/plugin-data/hermes-dockyard/`, and its optional HTTP API (`/stewardship/v1`, 127.0.0.1) stays closed until you set a bearer token.Communityautomation82Sahil-SS9prompt-optimizerModel-aware prompt rewriting with quality scoring, analytics, and coaching. Disclosure — the default auto mode rewrites every user message of 5+ words through your configured model (one extra LLM call per turn) before the agent sees it.Communitytools34Sahil-SS9toolariaRescues oversized MCP and web tool results before they flood context.Communitytools22Sahil-SS9memlockReasserts pinned standing instructions after context compaction. Disclosure — scope=global pins apply to every session sharing the same HERMES_HOME; memlock_setup.py edits config.yaml and .claude/settings.json (with backups) only when you run it.Communitytools18

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section