Skip to content

AstrocyteAI/astrocyte

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

736 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Astrocyte

PyPI - astrocyte Docker - astrocyte-postgres Docker - astrocyte-gateway-py CI Coverage LoCoMo LongMemEval

Astrocyte is an open-source memory framework for AI systems. It sits between agents (or applications) and memory storage, and aims to give you a production-shaped memory layer: retrieval, governance, observability, and pluggable backends, with a stable contract you can implement twice (Python and Rust) without changing integrations.

Neuroscience inspiration

In the brain, neurons are the fast signaling substrate for perception, action, and learning. Astrocytes are glial cells that were once treated as passive support; contemporary work casts them as active partners in circuit function: they help regulate the extracellular milieu (for example ion and neurotransmitter clearance), participate in the tripartite synapse alongside pre- and postsynaptic elements, link activity to metabolism and blood flow, and take part in pruning, repair, and barrier-like interfaces. They operate on slower, integrative timescales than spike-driven signaling, shaping the conditions under which neurons operate.

This project uses that picture as engineering metaphor, not as a literal simulation of cells. We pair fast cognitive channels (your agents and models) with a mediating layer focused on memory, boundaries, and homeostasis - clearing and consolidating context, enforcing limits, observing load, and maintaining stable interfaces between “neural” computation and the wider environment. The goal is tripartite stewardship at the agent-memory exchange: the same role the docs call the framework’s “third party” at the synapse. For the biology summary see docs/_design/neuroscience-astrocyte.md; for how those ideas map to design rules see docs/_design/design-principles.md.

Goals

  • Memory as a first-class product. Expose a clear API for retaining, recalling, and synthesizing memories, with a built-in intelligence pipeline when you use storage providers (embedding, multi-strategy retrieval, fusion, reranking, and related stages) so the core stays useful with “just Astrocyte + a database,” not only with a full external memory engine.
  • Pluggable infrastructure. Support two kinds of providers: storage providers (vector, graph, document stores) used by the framework's built-in pipeline, and engine providers that own the full pipeline themselves; the framework negotiates behavior and still applies policy and access control.
  • Governance and safety by design. Enforce a policy layer (homeostasis, barriers, pruning, signal quality, observability) inspired by the project’s design principles, so behavior stays controlled regardless of which backend is plugged in.
  • Identity and authorization at the boundary. Consume an opaque principal from your app’s authentication story; enforce per-bank authorization in the framework, with optional hooks to external policy engines when enterprises require them.
  • Operational reality. Optional outbound transport plugins for credential gateways and enterprise HTTP/TLS/proxy setups, shared by outbound calls that need them.
  • Portable, parallel implementations. Ship the same framework contract as astrocyte-py/ (PyPI package astrocyte) and astrocyte-rs/ (Rust), so deployments can choose a runtime without redesigning memory semantics. Details: docs/_design/implementation-language-strategy.md.

Non-goals

Astrocyte is not an LLM gateway (no generic chat routing or provider normalization) and not an agent runtime (no orchestration graphs, tool loops, checkpoints, or multi-agent scheduling). Those belong in your application or in agent frameworks; Astrocyte integrates as memory + governance + provider SPIs. For agent cards and similar catalog metadata, the design centers on a simple mapping to principals and memory banks (config + integration helpers), not on hosting the catalog—see docs/_design/architecture.md §1 and docs/_plugins/agent-framework-middleware.md.

For how this maps to vendor-neutral applied AI / agentic-stack teaching (memory vs RAG, planes, harness vs context), see docs/_design/curriculum-mapping.md and the public Applied AI Fellowship syllabus.

Repository layout

Path Contents
docs/ Design specification: architecture, SPIs, policy, packaging, evaluation, governance.
astrocyte-py/ Python implementation of the Astrocyte service.
astrocyte-services-py/ Optional reference REST server (astrocyte-gateway-py/). Compose for API + DB: astrocyte-services-py/docker-compose.yml. Docker image: astrocyte-gateway-py.
adapters-storage-py/ Optional Tier 1 storage adapters (VectorStore / GraphStore / DocumentStore): PostgreSQL + pgvector + AGE (astrocyte-postgres/, astrocyte-age/); combined Docker image: astrocyte-postgres. Qdrant, Neo4j, Elasticsearch.
adapters-ingestion-py/ Optional ingest transport packages split from core (astrocyte-ingestion-kafka, astrocyte-ingestion-redis, …).
adapters-integration-py/ Optional vendor / product integrations, including the Hindsight-style OpenAI-compatible LLM memory wrapper and Tavus CVI client.
astrocyte-rs/ Rust implementation of the Astrocyte service (same contract).

For scope, vocabulary, and a full reading order, start with docs/README.md.

About

Memory for every agent

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors