Relevant context gets lost
Naive history replay grows without bounds. Stale or superseded facts can keep influencing new decisions.
Give Python agents context that can be traced, tool calls that can be bounded, and failures that are easier to understand.
Synapse brings persistent memory, provenance-aware retrieval, opt-in execution controls, and privacy-minimized run traces into one self-hostable layer.
Started just now · 4 events
Release status: PyPI package 1.3.1 is published. Repository source targets 1.4.0; that version is prepared but not yet published to PyPI.
Understand the differenceUseful agents need more than a longer context window. They need a way to manage what they remember, constrain what they do, and inspect what happened.
Naive history replay grows without bounds. Stale or superseded facts can keep influencing new decisions.
Retries and loops can multiply side effects. A model saying “done” does not prove an external action succeeded.
Without a connected run record, it is harder to understand which context was selected and where execution stopped.
Start with the part your application needs. Keep your existing agent framework and deployment decisions.
Ingest, deduplicate, retrieve, update, supersede, and retract information instead of replaying an ever-growing transcript.
Route selected work through SynapseRun to enforce step, tool-call, and cooperative deadline limits, with repeated-failure controls.
Explore run controls →Connect run events with retrieval IDs, memory evidence, ranking signals, token costs, and packing decisions—without storing raw prompts or tool payloads.
Explore trace model →Use the Python SDK or HTTP API. Develop locally with SQLite; use PostgreSQL and pgvector for production-shaped deployments. Tenant boundaries, scoped keys, and operational requirements are documented—not hidden behind a hosted-only workflow.
Synapse is designed to sit beside your existing application—not replace your orchestration framework.
Tools · model calls · business logic
pgvector · tenant isolation
Operator-managed infrastructureConceptual architecture. Exact deployment topology depends on your environment and configuration.
The published package supports a local SQLite evaluation path. It is the easiest way to test the write-and-retrieve flow before provisioning production infrastructure.
Read the developer quickstartPython 3.10+ · local-only evaluation · no external database required
python -m pip install synapse-memory-engine==1.3.1
from synapse_memory import SynapseClient
with SynapseClient(
"http://127.0.0.1:8008",
tenant_id="local-dev",
) as client:
saved = client.create_memory(
"The app uses SQLite for local evaluation.",
category="fact",
)
result = client.retrieve("Which database is used locally?")
print(saved.id)
print(result.fused_context)
Synapse documents its boundaries so developers can decide whether its data model and deployment requirements fit their workload.
Read the security policy ↗The authoritative content field is Fernet-encrypted. The plaintext search projection, text-search derivative, and embeddings remain readable by design; protect database volumes and backups accordingly.
PostgreSQL RLS must be paired with the documented non-owner, non-superuser runtime role and migrate-then-run setup.
Trace events are designed to exclude prompts, raw tool arguments, tool results, and memory text. Applications remain responsible for safe event metadata.
CI and synthetic fault-injection tests are not customer-workload proof, a security certification, or a production-readiness guarantee.
We want developers to see what exists, what is still being validated, and where their feedback can change the direction.