Idea: pluggable event-sourced shared memory backend for long-horizon / multi-agent runs #3796
Replies: 2 comments 1 reply
|
@realtonyyoung thanks for bringing it up. We have recently been planning the memory work and are open to integrating with the third-party memory system. A prototype could be helpful. One concern is that DeerFlow's backend was written in Python, so we may need to discuss the integration protocol first. |
|
Hi @WillemJiang — the prototype is ready and we've been running it internally: #3910 (draft). Would love for you to take it for a spin. On your integration-protocol question: it turned out DeerFlow already had the right seams, so there's no new protocol to discuss. Here's what the PR contains and why each piece matters from the maintainer's side: 1. Event-sourced memory backend ( 2. Event-sourced run-event backend ( 3. Canonical cross-framework events — memory facts and conversation messages are additionally emitted in the kurrent-agents canonical schema ( 4. Two demo layers showing the event log is a capability, not just storage: an example config entry for the KurrentDB MCP server so the agent can answer "which facts have you retained about me, and when?" from its own streams — and a worked server-side projection deriving observability (fact-retention over time) from events already written, no second telemetry pipeline. We also documented how Kurrent's agent skills would pair with your skills system — deliberately not bundled; we'd provide properly packaged versions if this moves forward. Trying it is one command for the DB: docker compose -f docker/docker-compose.kurrentdb.yaml up -d # Admin UI on :2113
export KURRENTDB_CONNECTION_STRING="kurrentdb://localhost:2113?tls=false"
# config.yaml: memory.storage_class: deerflow.community.kurrentdb.memory_storage.KurrentdbMemoryStorage
# run_events.backend: kurrent
make devChat for a minute, then open the Admin UI's Stream Browser and watch Engineering notes: 108 new unit tests (fake-client, no KurrentDB needed in CI), full suite 5301 passed / 0 failed, blocking-IO and boundary gates clean, dependencies behind an optional extra so the default install is untouched. Known prototype limitations are documented honestly in the walkthrough. Feedback we'd value most: the stream-naming schemes, whether your planned memory work needs async or multi-agent sharing semantics from the interface, the |
Uh oh!
There was an error while loading. Please reload this page.
Deer-Flow's persistent memory + multi-agent coordination is a great foundation for long-horizon agents. One pattern we keep seeing: as runs get longer and more agents participate, teams want memory that's durable, auditable, and replayable — not just a store that's read and overwritten.
We've been building exactly that at Kurrent. Capacitor is a vendor-agnostic shared memory layer for coding agents, backed by an immutable, queryable event log. Because every memory write is an append-only event, you get cross-agent handoff, full history, and the ability to replay or correlate what each agent knew and when — which is handy for debugging multi-agent runs.
Curious whether a pluggable memory backend interface is in scope here, or already on the roadmap. Check out capacitor.kurrent.io for more info. Happy to prototype an adapter if there's interest — not looking to push a dependency, just to see if the shapes line up.
All reactions