MemorySync
Getting Started

ChatDev Memory

A memorysync store type for ChatDev 2.0 (DevAll), OpenBMB’s zero-code multi-agent platform: one pip install adds it to workflow YAML and the web console’s dropdown — semantic recall under a hard budget, honest timestamps, both-side capture, and idempotent writes. Install chatdev-memorysync from PyPI.

What installs

# inside your ChatDev 2.0 checkout’s environment
uv pip install chatdev-memorysync

Activation is automatic: a .pth hook registers the store whenever ChatDev’s modules are importable and silently no-ops anywhere else — type: memorysync becomes valid in YAML AND appears in the web console’s store-type dropdown. Retrieved memories arrive in ChatDev’s standard ===== Related Memories ===== prompt block.

Mem0 (in-tree store)ZepSupermemoryMemorySync
User scoping✗ demo YAML hardcodes user_id: project-user-123 — every operator shares one partition— nothing at all— nothing at alluser_id is a REQUIRED config field
Slow or down backend✗ SDK call with no timeout — the whole agent turn stalls✓ hard 1.2s budget, fails open to no memories
Timestamps✗ every item stamped time.time()corrupts ChatDev’s own time-decay scorer (0.7 of ranking weight)✓ the row’s real created_at
Agent outputs✗ thrown away — half the conversation lost✓ stored role-labeled; server-side gating handles noise
Retries / re-runs✗ duplicate extractions on every re-send✓ deterministic seeds — re-runs converge
Failure diagnosis✗ bare log + [] — quota, auth, network all look identical✓ fail-open logs carry the HTTP status
Multimodal snapshots✗ ignored✓ attachment overviews recorded

Configuration

FieldDefaultMeaning
api_key${MEMORYSYNC_API_KEY}MemorySync API key
user_id— (required)End user the memories belong to — the config parser rejects a store without it
session_idchatdevTranscript scope: chatdev::<session>
recall_timeout1.2Hard recall budget in seconds
store_outputstruePersist agent outputs too
base_urlcloudOverride for staging

Per-agent knobs (top_k, similarity_threshold, read, write, retrieve_stage) come from ChatDev’s own attachment config and are honored — similarity_threshold filters on real scores.

Supported versions

SurfaceRequiresVerified on
chatdev-memorysync 1.0.0A ChatDev 2.0 (DevAll) checkout, Python 3.1229 CI checks against a FRESH clone of OpenBMB/ChatDev main on every push: its real config parser (rejects a missing user_id), registry + dropdown schema visibility, MemoryFactory construction, MemoryManager end to end (our fact lands in the Related Memories block), read/write attachment flags, honest timestamps, budget fail-open with status-bearing logs, seed idempotency, quota modes, and the .pth autoload no-op outside ChatDev

Where to go next

Was this page helpful?