PLUR persistent memory plugin for Hermes Agent
Project description
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_callhook) - Every response: corrections and insights are captured automatically (via
post_llm_callhook) - Every session: episodes are recorded to a timeline (via
on_session_endhook)
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
- PLUR.ai
- GitHub
- @plur-ai/cli — standalone CLI
- @plur-ai/mcp — MCP server for Claude Code, Cursor, Windsurf
- @plur-ai/claw — OpenClaw plugin
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plur_hermes-0.6.0.tar.gz.
File metadata
- Download URL: plur_hermes-0.6.0.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62f96accb6e7035e2fd94d4a46f8f0b701334b244dfa904fb114c0298c478730
|
|
| MD5 |
2099b14110b3a1ee51feaf07c64da9ab
|
|
| BLAKE2b-256 |
de4f1dc60927d9092c8bf0a79ecfc5ecdc922a17cbe9d64e492c742a7c5cc162
|
File details
Details for the file plur_hermes-0.6.0-py3-none-any.whl.
File metadata
- Download URL: plur_hermes-0.6.0-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00911b2157e170adabb32685f41b43a4189839decee8cee4f13ede6f79c0c570
|
|
| MD5 |
996e0376e4877f0a9b0ce228ee758b1b
|
|
| BLAKE2b-256 |
f9c6845ef03f43fe4685c38c167b773c2513251f15d7bcbb286e8cdf68910ad5
|