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 22 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_packs_export Export a pack to a shareable file
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
plur_ingest Ingest a message into the memory pipeline
plur_promote Promote an engram to higher confidence
plur_similarity_search Embedding-based similarity search
plur_stores_add Register an additional engram store
plur_stores_list List all registered stores

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).

CLI version. Text that begins with - (a recall query or an injected message such as --dry-run …) is sent after a -- separator, which plur recall / plur inject honour from the first @plur-ai/cli release after 0.20.1. An older CLI reads -- as the text itself, so upgrade the CLI if you rely on such queries; every other query is sent exactly as before, and statements / summaries that begin with - go on stdin, which every CLI version reads.

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)

License

Apache-2.0

Metadata

Release files for plur-hermes 0.21.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plur-hermes 0.21.4
File Size Uploaded
plur_hermes-0.21.4.tar.gz 79.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plur-hermes 0.21.4
File Interpreter ABI Platform
plur_hermes-0.21.4-py3-none-any.whl Python 3 none any Details

Total release size: 121.6 kB

Release files / plur_hermes-0.21.4.tar.gz

Download URL plur_hermes-0.21.4.tar.gz
Size 79.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e77e369e10dccc52f516dd78d7efbc2a1d0a66c7b93c4903f6a3aa729fdc23f0
BLAKE2b-256 checksum
How to use checksums
ffbae6b170454f67878d731f9f4385a212804f35b6b5cf8306855b4e072c1241
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.1

Release files / plur_hermes-0.21.4-py3-none-any.whl

Download URL plur_hermes-0.21.4-py3-none-any.whl
Size 41.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d7b2eba4c6c93be08e8ec77876c6acde1fa61a4390cc951f6c8c6d942ceb19ee
BLAKE2b-256 checksum
How to use checksums
2eabab41c2a200374d5de5ae592cbe799ee8c5d7abc8228c2236fdbb04ee2b3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.1

Release history Release notifications | RSS feed

This release

0.21.4 This release

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.10.0

2 release files

0.9.14

2 release files

0.9.13

1 release file

0.9.12

2 release files

0.9.11

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.4

2 release files

0.9.2

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.1.1

2 release files

0.1.0

2 release 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