Open-source memory framework for AI agents
Project description
Astrocyte
Open-source memory framework for AI agents. Retain, recall, and synthesize — with pluggable backends, built-in governance, and 18 framework integrations.
What is Astrocyte?
Astrocyte gives AI agents persistent memory — store what matters, retrieve what's relevant, synthesize answers from accumulated knowledge. It sits between your agents and their storage, providing:
- Three operations:
retain(),recall(),reflect()— one API for every agent and every backend - Pluggable backends: Tier 1 storage (pgvector, Pinecone, Qdrant, Neo4j) or Tier 2 engines (Mystique, Mem0, Zep, Letta)
- Built-in governance: PII scanning, rate limits, token budgets, circuit breakers, access control, observability
- 18 framework integrations: LangGraph, CrewAI, OpenAI, Claude Agent SDK, Google ADK, AutoGen, and more
- MCP server: Any MCP-capable agent (Claude Code, Cursor, Windsurf) gets memory with zero code
Quick start
pip install astrocyte
from astrocyte import Astrocyte
brain = Astrocyte.from_config("astrocyte.yaml")
# Store a memory
await brain.retain("Calvin prefers dark mode", bank_id="user-123")
# Recall relevant memories
hits = await brain.recall("What are Calvin's preferences?", bank_id="user-123")
# Synthesize an answer from memory
result = await brain.reflect("Summarize what we know about Calvin", bank_id="user-123")
Agent framework integrations
Astrocyte works with every major agent framework through thin middleware — one integration per framework, works with every memory backend.
| Framework | Module |
|---|---|
| LangGraph / LangChain | astrocyte.integrations.langgraph |
| CrewAI | astrocyte.integrations.crewai |
| OpenAI Agents SDK | astrocyte.integrations.openai_agents |
| Claude Agent SDK | astrocyte.integrations.claude_agent_sdk |
| Google ADK | astrocyte.integrations.google_adk |
| Pydantic AI | astrocyte.integrations.pydantic_ai |
| AutoGen / AG2 | astrocyte.integrations.autogen |
| Smolagents (HuggingFace) | astrocyte.integrations.smolagents |
| LlamaIndex | astrocyte.integrations.llamaindex |
| Semantic Kernel | astrocyte.integrations.semantic_kernel |
| DSPy | astrocyte.integrations.dspy |
| CAMEL-AI | astrocyte.integrations.camel_ai |
| BeeAI (IBM) | astrocyte.integrations.beeai |
| Strands Agents (AWS) | astrocyte.integrations.strands |
| LiveKit Agents | astrocyte.integrations.livekit |
| Haystack (deepset) | astrocyte.integrations.haystack |
| Microsoft Agent Framework | astrocyte.integrations.microsoft_agent |
| MCP (Claude Code, Cursor) | astrocyte.mcp |
MCP server
Any MCP-capable agent gets memory with zero code integration:
{
"mcpServers": {
"memory": {
"command": "astrocyte-mcp",
"args": ["--config", "astrocyte.yaml"]
}
}
}
Built-in governance
Neuroscience-inspired policies that protect every operation — regardless of backend:
- PII barriers — regex, NER, or LLM-based scanning with redact/reject/warn actions
- Rate limits & quotas — token bucket rate limiting and daily quotas per bank
- Circuit breakers — automatic degraded mode when backends go down
- Access control — per-bank read/write/forget/admin permissions
- Observability — OpenTelemetry spans and Prometheus metrics on every operation
- Data governance — classification levels, compliance profiles (GDPR, HIPAA, PDPA)
Multi-bank orchestration
Query across personal, team, and org banks with cascade, parallel, or first-match strategies:
hits = await brain.recall(
"What are Calvin's preferences and team policies?",
banks=["personal", "team", "org"],
strategy="cascade",
)
Memory portability
Export and import memories between providers — no vendor lock-in:
await brain.export_bank("user-123", "./backup.ama.jsonl")
await brain.import_bank("user-123", "./backup.ama.jsonl")
Evaluation
Benchmark memory quality with built-in suites and DeepEval LLM-as-judge:
from astrocyte.eval import MemoryEvaluator
evaluator = MemoryEvaluator(brain)
results = await evaluator.run_suite("basic", bank_id="eval-bank")
print(f"Recall precision: {results.metrics.recall_precision:.2%}")
Documentation
astrocyteai.github.io/astrocyte
- Quick Start
- Architecture
- Provider SPI
- Integration guides (one per framework)
License
Apache 2.0 — see LICENSE.
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 astrocyte-0.3.7.tar.gz.
File metadata
- Download URL: astrocyte-0.3.7.tar.gz
- Upload date:
- Size: 300.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8b04bce7e60edfc519840f572b6348e5ac086e5521d773d3b068c9f396d3c89
|
|
| MD5 |
897cb023eb94fda346001272db2a6f30
|
|
| BLAKE2b-256 |
fb6a9bb4bc85e3b683e48aaa298424eee0793b67d14329fa4eb1e6ce7fe4ec47
|
File details
Details for the file astrocyte-0.3.7-py3-none-any.whl.
File metadata
- Download URL: astrocyte-0.3.7-py3-none-any.whl
- Upload date:
- Size: 140.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfcdf444ba99f70a70221d750559677462719251548ef9bc07df0e721cdd7200
|
|
| MD5 |
4fe65a472b5c959f31a5ce5e788e10c3
|
|
| BLAKE2b-256 |
43a0e7b3021ce1d5bc37a118515c33011a551dc764864cd6725566d3f3702fe0
|