Skip to main content

plur-hermes

Persistent memory plugin for Hermes Agent. Your agent corrected on Monday remembers on Tuesday.

Install

pip install plur-hermes

That's it. The plugin is auto-discovered by Hermes on startup. No other install needed.

What happens

Once installed, PLUR runs invisibly in the background:

  • Every turn: relevant memories are injected into the agent's context (via pre_llm_call hook)
  • Every response: corrections and insights are captured automatically (via post_llm_call hook)
  • Every session: episodes are recorded to a timeline (via on_session_end hook)

The agent also gets 16 tools it can call explicitly:

Tool What it does
plur_learn Store a correction, preference, or pattern
plur_recall Search memories by topic
plur_inject Get relevant context for a task
plur_list List all stored engrams
plur_forget Retire outdated knowledge
plur_feedback Rate a memory (trains what surfaces next time)
plur_capture Record an episode
plur_timeline Query past episodes
plur_status Health check
plur_sync Cross-device sync via git
plur_packs_list List installed knowledge packs
plur_packs_install Install a community knowledge pack
plur_extract_meta Distill cross-domain principles from your memories
plur_meta_engrams List extracted meta-engrams
plur_meta_submit_analysis Continue multi-turn extraction
plur_validate_meta Test a principle against a new domain

How it works

Knowledge is stored as engrams — small assertions that strengthen with use and decay when irrelevant. Storage is plain YAML on disk at ~/.plur/. Search is fully local (BM25 + embeddings). Zero API calls, zero cloud, works offline.

The plugin calls the PLUR CLI under the hood via subprocess. If the CLI isn't installed globally, it auto-resolves via npx on first use (cached after that).

What makes PLUR different from Hermes built-in memory

Hermes has MEMORY.md (2,200 chars) and session search (FTS5). PLUR adds:

  • Feedback-trained retrieval — rate memories, good ones surface more, bad ones fade
  • Forgetting — retire outdated knowledge instead of growing forever
  • Hybrid search — BM25 + local embeddings + Reciprocal Rank Fusion
  • Cross-device sync — git-based, works across machines
  • Meta-engram extraction — distill transferable principles across domains
  • Knowledge packs — share curated engrams between agents

PLUR sits alongside Hermes memory, not replacing it. Your MEMORY.md and USER.md continue to work as before.

Configuration

The plugin works with zero configuration. Optional env vars:

Variable Default Description
PLUR_PATH ~/.plur Storage directory
PLUR_INJECT_MODE fast Set to hybrid for embedding-based injection (slower, more accurate)

Requirements

  • Hermes Agent v0.5.0+
  • Python 3.10+
  • Node.js 18+ (for CLI, auto-resolved via npx if not installed globally)

Links

License

Apache-2.0

Download files

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

Source Distribution

plur_hermes-0.11.0.tar.gz (52.1 kB view details)

Uploaded Source

Built Distribution

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

plur_hermes-0.11.0-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file plur_hermes-0.11.0.tar.gz.

File metadata

  • Download URL: plur_hermes-0.11.0.tar.gz
  • Upload date:
  • Size: 52.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for plur_hermes-0.11.0.tar.gz
Algorithm Hash digest
SHA256 99f9d637283e639fa989aed461cb488f5b894e9df83d4a9684761b9b3a967a0f
MD5 25ef1bbe4fb67e1b28468f0514abd30b
BLAKE2b-256 3cd87ecc62db11f4f29dd8eaf5dc24fd502d21fd7f5f44dd553346cfe65fcbdf

See more details on using hashes here.

File details

Details for the file plur_hermes-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: plur_hermes-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for plur_hermes-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4539f5d481e07cd702120d2da9a8a4f61d6dfe3d68250d730cd33ad66e7c6fa1
MD5 62d3a99d5c8010b00da10998c84f1de4
BLAKE2b-256 3bc186d2f583ac81ddfc9ad2fd1e0d73d41c972de19a64caee9062bf785c7d94

See more details on using hashes here.

Release history Release notifications | RSS feed

0.19.4

2 files

0.19.3

2 files

0.19.2

2 files

0.19.1

2 files

0.19.0

2 files

0.18.1

2 files

0.18.0

2 files

0.17.2

2 files

0.17.1

2 files

0.17.0

2 files

0.16.1

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

This release

0.11.0 This release

2 files

0.10.0

2 files

0.9.14

2 files

0.9.13

1 file

0.9.12

2 files

0.9.11

2 files

0.9.10

2 files

0.9.9

2 files

0.9.4

2 files

0.9.2

2 files

0.9.0

2 files

0.8.0

2 files

0.7.3

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.1.1

2 files

0.1.0

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