Skip to main content

Hermes Local RAG

1.4.0: shared private inference daemon and selectively curated durable images. Read UPGRADE.md before upgrading: image-save approval metadata is now required, legacy images are not automatically promoted, and inference starts on demand. See the synthetic benchmark and its limitations.

Hermes Local RAG — private local memory that keeps the useful card and bins the noise

Private, fully local hybrid text and visual memory for Hermes Agent, implemented through the official MemoryProvider extension point.

Features

  • EmbeddingGemma 300M through LiteRT/XNNPACK, with configurable 128/256/512/768-dimensional Matryoshka embeddings (512d default)
  • SQLite + FTS5 + vector similarity, score thresholds, freshness/importance boosts, source diversity, and bounded context injection
  • Physical profile/user namespaces before retrieval
  • Explicit contextual admission through local_rag_remember, with normalized atomic items instead of raw turns
  • Selective historical backfill with pre-LLM filtering, structured extraction, resumable preview, human review, and explicit apply
  • Independent scope, durability, status, confidence, importance, provenance, deduplication, deletion, migrations, and backups
  • Project- and session-aware retrieval boundaries; built-in Markdown memory is mirrored as global durable context
  • Project-root-confined text-file indexing with secret and prompt-injection rejection
  • Optional CLIP ViT-B/32 ONNX visual index in a separate 512d vector space
  • Button-driven setup inside Hermes Dashboard; no vector database server or Hermes core patch. One private local inference service starts on the first embedding request (see UPGRADE.md).

Install

Published package: hermes-local-rag on PyPI

For packaged-provider discovery, install it into the same Python environment that runs Hermes:

Upgrading from 1.3.2 or older: stop every Hermes Desktop and gateway process first. Version 1.4.0 performs a one-time, integrity-checked migration from memory.sqlite / visual.sqlite to backup-safe .db files and removes the legacy files after success.

python -m pip install hermes-local-rag==1.4.0
hermes config set memory.provider local_rag

The package exposes local_rag -> local_rag:register through the official hermes_agent.memory_providers entry-point group. Model download and initial configuration are still required; the Dashboard plugin flow below is the recommended guided setup.

Install without Terminal

Prerequisite: an existing Hermes Agent installation.

  1. Open Hermes Dashboard → Plugins → Install.
  2. Install condr-at/hermes-local-rag/local_rag.
  3. Open the new Local RAG tab.
  4. Click Install dependencies.
  5. Open and accept the required Gemma Terms, create a read-only Hugging Face token, paste it into the password field, and click Sign in.
  6. Choose Text only or Text + visual, then click Download selected models.
  7. Optionally create a historical preview, edit and accept individual candidates, then explicitly apply the reviewed subset.
  8. Save the memory settings and click Activate Local RAG.
  9. Click Run health check.

The dashboard never displays or logs the Hugging Face token. Model downloads and setup subprocesses use fixed argument lists and a controlled environment rather than a user shell. Gemma Terms acceptance is explicit and cannot be bypassed by the installer.

The setup wizard:

  1. installs pinned runtime dependencies into the Hermes venv;
  2. downloads selected model artifacts to $HERMES_HOME/models;
  3. writes configuration atomically;
  4. activates memory.provider=local_rag;
  5. checks runtime imports, models, the database, and provider availability.

It never deletes $HERMES_HOME/local-rag, where indexes and configuration live. Backfill is off by default and requires explicit confirmation.

Terminal fallback

The technical installer remains available for development and recovery:

git clone https://github.com/condr-at/hermes-local-rag.git
cd hermes-local-rag
python3 install.py

Verify after installation or a Hermes update:

python3 install.py --check

Then restart the gateway, or start a new Desktop session.

Configuration

~/.hermes/local-rag/config.json:

{
  "embedding_dimensions": 512,
  "episodic_ttl_days": null,
  "summary_ttl_days": null
}

null means infinite retention. Changing embedding_dimensions requires explicit reindexing; startup fails loudly rather than mixing incompatible vectors.

Backfill

Raw transcript backfill is disabled. Historical sessions pass through role filtering, credential and prompt-injection rejection, bounded structured extraction, and strict validation. Preview writes only a mode-0600 review artifact; every candidate starts rejected, and only explicitly accepted items can be applied. Namespace, project, session, timestamps, and source-message provenance come from the trusted export rather than the model.

The Dashboard owns the normal preview → edit/accept → apply flow. The equivalent recovery CLI is:

hermes local_rag preview --plan /path/to/review.json
# Edit only accepted flags/text after reviewing the artifact.
hermes local_rag apply --plan /path/to/review.json

Preview is resumable by session and never writes the memory database. Re-applying a reviewed plan is idempotent through scope-aware exact deduplication.

Maintenance

The provider exposes tools for status, search, deletion, candidate review, file/session ingestion, pruning, and visual search. A standalone CLI is also installed as hermes-local-rag.

See local_rag/README.md for architecture, policies, tools, and recovery details.

Privacy and licensing

No indexed data, model weights, credentials, or session exports belong in this repository. Model weights are downloaded directly from their upstream repositories and retain their own terms. EmbeddingGemma is governed by Gemma Terms. Plugin code is MIT licensed.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_local_rag-1.4.0.tar.gz (5.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_local_rag-1.4.0-py3-none-any.whl (112.1 kB view details)

Uploaded Python 3

File details

Details for the file hermes_local_rag-1.4.0.tar.gz.

File metadata

  • Download URL: hermes_local_rag-1.4.0.tar.gz
  • Upload date:
  • Size: 5.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hermes_local_rag-1.4.0.tar.gz
Algorithm Hash digest
SHA256 611ba47acebe0d7c0f767e0e0d3cf2cc5447f08c04b83fb9a81a0aa32e56a85a
MD5 b0db3f0136d8b9da6b14b06e5deb258a
BLAKE2b-256 ac19f3add82708a7cfab5167a2b98df0809a192307d70ca0f38cdc1009d449af

See more details on using hashes here.

Provenance

The following attestation bundles were made for hermes_local_rag-1.4.0.tar.gz:

Publisher: publish-pypi.yml on condr-at/hermes-local-rag

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hermes_local_rag-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hermes_local_rag-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d49dda59cc8d904eb322ad455438407a92dd503e7d5234ff24852b82789cc3
MD5 4681c753a12a7a55ad67c1a9d3e5ecee
BLAKE2b-256 72a9dca55c409ef400fdef48261fa76f20307fb9a8d0dba8887757db7977f1c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for hermes_local_rag-1.4.0-py3-none-any.whl:

Publisher: publish-pypi.yml on condr-at/hermes-local-rag

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.5.0

2 files

This release

1.4.0 This release

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page