# plur

> Shared memory for AI agents

- **URL**: https://www.freshcrate.ai/projects/plur
- **Author**: plur-ai
- **Category**: RAG & Memory
- **Latest version**: `hermes-v0.9.11` (2026-05-27)
- **License**: Apache-2.0
- **Source**: https://github.com/plur-ai/plur
- **Language**: TypeScript
- **GitHub**: 46 stars, 2 forks
- **Registry**: github (`plur-ai/plur`)
- **Tags**: `typescript`

## Description

Shared memory for AI agents

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `hermes-v0.9.11` | 2026-05-27 | High | Python plugin bump to align with `@plur-ai/cli@0.9.12`.  ## Why bump  The CLI's `learn` command picked up three semantic changes in 0.9.12 that hermes calls through `bridge.call('learn', ...)`:  - **#107** — Same-scope duplicate writes now increment `reference_count` + append to `sources[]` instead of creating a new engram. `forget` decrements; physical retirement only at 0. - **#176** — Cross-scope re-learns trigger recurrence detection. 2nd cross-scope hit broadens scope to `global` and escala |
| `v0.9.11` | 2026-05-26 | High | Three independent bug fixes bundled.  ### `plur_session_end` no longer crashes on string-array suggestions (#231) The JSON-Schema→Zod converter now recurses into array items and supports `anyOf`. The `engram_suggestions` handler accepts both `{statement, type}` objects and bare strings (coerced). `detectSecrets()` and `plur.learn()` throw clear `TypeError` on non-string input instead of letting `undefined.match()` propagate.  ### `plur_stores_list` reports accurate remote engram counts (#184) Ne |
| `v0.9.9` | 2026-05-14 | High | Concurrent writes — hardened.  - Multi-agent writes serialize cleanly - Failed saves logged, not silent - Pipelines auto-resume mid-run - Jittered retries bound wall time  ### What changed (Hermes plugin)  When two agents write engrams at the same time — a Twitter cron and a Telegram bot, say — they can race for the engram-store lock. Before 0.9.9, the second writer's call would fail silently and the engram would be lost. 0.9.9 retries lock-contended writes with jittered exponential backoff, su |
| `v0.9.5` | 2026-05-05 | High | ## Remote stores  Register PLUR Enterprise (or any compatible REST endpoint) as a store via `plur_stores_add`.  ### Features  - **`RemoteStore` driver** in `@plur-ai/core` — implements `EngramStore` over HTTP. 60s TTL cache, in-flight request dedup, paginated load, never-throws on network failure. - **`plur_stores_add` accepts `url` + `token`** — was `{path, scope}`-only; now `{path \| url+token, scope}`. Schema requires exactly one of path/url. Backwards compatible. - **`Plur.addStore()`** — `op |
| `v0.9.4` | 2026-05-04 | High | Hybrid recall, restored.  - BGE embeddings actually work - Pinned engrams (always-inject) - plur_doctor diagnostic - PLUR_DISABLE_EMBEDDINGS opt-out  ### Fixes  - **Hybrid search degraded-mode surfacing** — `plur_recall_hybrid` now reports `mode: 'hybrid-degraded'` (with the underlying error) when the embedding model failed to load. Previously it lied with `mode: 'hybrid'` while silently falling back to BM25-only. - **Embeddings build config** — `@huggingface/transformers`, `onnxruntime-node`, |
| `v0.9.3` | 2026-04-23 | High | ## Fixes  - **ESM import fix in core** (critical): Replaced `require('os')` and `require('path')` with ESM imports. The CJS `require()` calls crashed consumers running PLUR in pure-ESM environments (Node 20+ with `\"type\": \"module\"`, modern bundlers). Affects `autoDiscoverStores` and related code paths in `@plur-ai/core`.  ## Packages  - `@plur-ai/core` 0.9.3 — ESM import fix - `@plur-ai/mcp` 0.9.3 — version parity - `@plur-ai/claw` 0.9.3 — version parity - `@plur-ai/cli` 0.9.3 — version pari |
| `v0.8.0` | 2026-04-08 | Medium | ### Competitive Absorption: 50+ Features from 7 Memory Systems  50+ improvements absorbed in one session from Mem0, Claude-Mem, Mengram, Forge, Lossless Claw, OB1, and II-Agent. Implemented across 5 sub-projects, benchmarked, zero regressions.  - 75% faster learn/recall/inject - 10% fewer injection tokens - LLM-driven dedup (opt-in) - Three-memory taxonomy  ### Memory Intelligence (SP1)  - `learnAsync()` method: pre-store dedup pipeline — content hash → semantic recall → LLM decision (ADD/UPDAT |
| `v0.7.3` | 2026-04-02 | Medium | Fix OpenClaw compat: remove pluginApi:"1" that blocked install on OpenClaw >=2026.3.31 |
| `v0.7.2` | 2026-04-02 | Medium | Patch release:  - Learning reflection hook: Stop hook nudges plur_learn every 3rd response — catches reasoning moments that tool-level hooks miss - Claw system prompt updated to v3: session workflow, pack commands, correction protocol, verification rules - Claw /packs slash command: list, install, uninstall from OpenClaw - 9 hooks installed by plur init (was 8) |
| `v0.7.0` | 2026-04-02 | Medium | ## Knowledge Packs: Share What You Know  Knowledge Packs are thematic engram collections you can share with your team, community, or across machines. Export what you've learned about a domain, share the pack, and anyone can install it.  - Thematic export: `plur packs export react-patterns --domain code.react --tags hooks,state` - Privacy scan on export: blocks secrets and private engrams, warns on personal paths and emails - Conflict detection on install: flags duplicates and contradictions with |

## Citation

- HTML: https://www.freshcrate.ai/projects/plur
- Markdown: https://www.freshcrate.ai/projects/plur.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/plur/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
