Pipecat + MemorySync
One FrameProcessor gives Pipecat pipelines budgeted memory recall and delta-only fact capture from new user turns — on the current frame API.
Overview
Install pipecat-memorysync and place one FrameProcessor between your context aggregator and LLM service: every LLMContextFrame is enriched with relevant memories under a hard budget (default 1.2s) and its new user turns are sent to fact extraction, then the frame is pushed on time, enriched or not — the current utterance is in flight before the LLM replies. Capture is delta-only with deterministic idempotency seeds: growing a 50-message context does not re-send 50 messages per turn (a real flaw in the in-tree alternative, which re-sends the entire context every frame), and assistant messages are never sent. On EndFrame, queued sends get a bounded window to land, so the caller’s last words are not lost. Built on Pipecat 1.x’s current LLMContextFrame API and tested through pipecat.tests.utils.run_test — the framework’s own harness.
Setup status and requirements
- Supported version
- pipecat-memorysync 1.2.1 (PyPI)
- Last setup review
- 2026-10-01
- Permissions
- A MemorySync API key with read and write scopes.
- Limits
- Requires pipecat-ai 1.0+ (Python 3.10+). Place after context_aggregator.user() and before the LLM service — enrichment reaches the model only from that position.
Capabilities
- Hard recall budget (default 1.2s) — the frame is never stalled
- Delta-only capture: new user messages only, never the entire context
- Deterministic idempotency seeds — a retried turn is extracted once
- Injected memory block is capture-excluded, by test
- Graceful EndFrame flush: the caller’s last words are not lost
- Built on the current LLMContextFrame API (Pipecat 1.x)
- Frame tests run through Pipecat’s official run_test harness
- Facts carry the pipecat:: session scope — same shared memories
Quick Start
from pipecat.pipeline.pipeline import Pipelinefrom pipecat_memorysync import MemorySyncMemoryServicememory = MemorySyncMemoryService(api_key="ms_...",user_id="caller-42",session_id="call-123")pipeline = Pipeline([transport.input(), stt,context_aggregator.user(),memory, # between aggregator and LLMllm, tts,transport.output(),context_aggregator.assistant(),])
Use Cases
Pipecat voice bots that remember callers across calls
Daily/WebRTC assistants with durable user preferences
Multimodal pipelines that capture facts without write amplification
Explore More
Built for production AI systems
Build AI systems that remember
MemorySync provides the infrastructure layer for persistent memory, adaptive retrieval, and enterprise AI intelligence.
Start free. No credit card required.