Poison-resistant, Byzantine-fault-tolerant shared memory for Microsoft AutoGen agent teams — implements the autogen_core Memory protocol; one rogue agent can't corrupt the team's recall.
Project description
memora-autogen
Poison-resistant, Byzantine-fault-tolerant shared memory for Microsoft AutoGen agent teams.
memora-autogen implements AutoGen's autogen_core.memory.Memory protocol on top of
Memora. Give every agent in a team a MemoraMemory pointed at the
same room and they share one memory that a rogue or prompt-injected agent can't silently
corrupt — concurrent writers merge (CRDT, nothing lost), and update_context injects the shared
memory into each agent's model context automatically.
pip install memora-autogen
One command — this pulls in the memora-swarm engine and autogen-core. Free key (25,000 ops) at
memora.optitransfer.ch/dashboard.
Quickstart
from memora_autogen import MemoraMemory
from autogen_core.memory import MemoryContent, MemoryMimeType
mem = MemoraMemory("research-team", api_key="opti_sk_...", node_id="researcher")
await mem.add(MemoryContent(content="prod region is lax", mime_type=MemoryMimeType.TEXT))
print([r.content for r in (await mem.query("region")).results]) # -> ['prod region is lax']
With an AssistantAgent
from autogen_agentchat.agents import AssistantAgent
from memora_autogen import MemoraMemory
shared = MemoraMemory("research-team", api_key="opti_sk_...", node_id="agent-1")
agent = AssistantAgent("researcher", model_client=..., memory=[shared])
Every agent constructed with a MemoraMemory on the same room reads and writes one shared,
poison-resistant memory. update_context runs before each model call and prepends the shared memory
as a system message, so the whole team reasons over the same trusted context.
Why it's safe under a team
- No lost memories. Items are stored as uniquely-tagged elements and every replica's view is unioned on read, so two agents writing at once can't clobber each other.
- No silent rewrite. Writes are signed and attributable in the underlying Memora engine; a rogue agent's contribution is convicted/evicted rather than trusted.
- Durable + replayable via a local append-only log.
API
Implements the full autogen_core.memory.Memory protocol: add, query, update_context,
clear, close (all async). query(text) does a substring filter over the shared items;
query("") returns everything.
Pricing
First 25,000 ops free (unlimited agents), then metered per semantic op — see memora.optitransfer.ch. Reads and keepalive are never billed.
Links
- Engine & docs — https://memora.optitransfer.ch
- Source & other integrations — https://github.com/mgillr/memora-swarm
- Core package —
memora-swarm
Apache-2.0 · a product of optitransfer.ch
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 Distributions
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 memora_autogen-0.1.0-py3-none-any.whl.
File metadata
- Download URL: memora_autogen-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd66ab60d4e07cb0c023399d0317e775fb7a69cc8b2ad96d747316d32c234896
|
|
| MD5 |
27755ad3d005c38742a0990b09ae627b
|
|
| BLAKE2b-256 |
3f10aebc3830412b74ac6404a6998980faf4b1688f9c1676527678e6bbe7720a
|