Metadata-Version: 2.4
Name: omnigent-plur
Version: 0.1.0
Summary: PLUR persistent memory for OmniGent agents — auto-recall + auto-learn, wrapping the PLUR MCP server.
Project-URL: Homepage, https://plur.ai
Project-URL: Repository, https://github.com/plur-ai/omnigent-plur
Project-URL: Issues, https://github.com/plur-ai/omnigent-plur/issues
Author: PLUR
License: Apache-2.0
License-File: LICENSE
Keywords: agents,engram,mcp,memory,omnigent,plur
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: mcp>=1.0
Provides-Extra: dev
Requires-Dist: pytest>=7; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Description-Content-Type: text/markdown

# omnigent-plur

Persistent memory for [OmniGent](https://github.com/omnigent-ai/omnigent) agents,
powered by [PLUR](https://github.com/plur-ai/plur). OmniGent governs and composes
agents but has no memory; `omnigent-plur` plugs PLUR in so an agent corrected on
Monday remembers on Tuesday — across sessions and harnesses.

> Status: **v0 / alpha.** Validated on real infrastructure: the agent-driven MCP
> path and the auto-learn policy run on stock OmniGent; auto-recall uses the
> upstream `context_providers` hook (proven end-to-end with a live model). See
> [DESIGN.md](DESIGN.md).

## How it works

It **wraps** PLUR (never reimplements it): all memory goes through the published
`plur-mcp` stdio server over MCP. Three layers, via OmniGent's own extension seams:

1. **Agent-driven** (stock OmniGent) — declare PLUR as an MCP tool; the agent
   calls recall/learn.
2. **Auto-learn** (stock OmniGent) — a request-phase policy captures corrections
   automatically.
3. **Auto-recall** (needs the `context_providers` hook) — a per-turn provider
   injects recalled engrams into the system prompt, additively.

## Install

```bash
pip install omnigent-plur            # once published
# from source:
pip install -e ".[dev]"
```

Requires the PLUR MCP server on PATH (`plur-mcp`, from `@plur-ai/mcp`). Auto-recall
requires an OmniGent build with the `context_providers` hook.

## Quickstart

```bash
omnigent run examples/plur_agent.yaml -p "fix the deploy script"
```

## Pieces

| File | Role |
|------|------|
| `omnigent_plur/plur_client.py` | The only code that talks to PLUR (`plur-mcp` over MCP). |
| `omnigent_plur/policy.py` | `plur_autolearn` — request-phase auto-learn policy. |
| `omnigent_plur/providers.py` | `recall` — per-turn auto-recall context provider. |
| `examples/plur_agent.yaml` | Working agent spec wiring all three layers. |

## Develop

```bash
pip install -e ".[dev]"
ruff check . && ruff format --check . && pytest -q
```

Apache-2.0.
