deepset-ai / deepset-ai/haystack
Feature: optional EverOS long-term memory integration
@sjrl is already working on this.
Since Aug 31, 2026.
- Dominant language
- Python
- Stars
- 26.6k
- Forks
- 3.2k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 194
Description
Is your feature request related to a problem? Please describe.
Haystack already has a clear ecosystem pattern for long-term memory integrations: Mem0 and Cognee expose a memory store together with Writer/Retriever components, while integrations such as Hindsight add agent-facing memory tools.
EverOS is an Apache-2.0, local-first, Markdown-native memory runtime for agents. It keeps user memory and agent experience/skills as separate first-class tracks, with scoped retrieval across user or agent, app, project, and session. Today, a Haystack user who wants this file-ownable memory model has to hand-wire the HTTP API and decide the write/flush lifecycle themselves.
Describe the solution you'd like
Would the maintainers be open to an optional EverOS integration following Haystack's existing memory integration shape?
A focused first version could provide:
EverOSMemoryStoreadd_memories(...)→POST /api/v2/memory/addsearch_memories(...)→POST /api/v2/memory/search
EverOSMemoryWriterfor pipeline writesEverOSMemoryRetrieverfor pipeline retrieval- optional agent tools for explicit remember/recall actions
There are two EverOS-specific details that the adapter should make explicit rather than hide:
- Flush lifecycle.
/memory/addcan accumulate messages, while/memory/flushmaterializes durable memory. The integration could expose a policy such asper_write,session_end, ormanual. - Typed search results. EverOS returns profiles, episodes, agent cases, and agent skills. The Retriever would convert these to Haystack
ChatMessageobjects while preserving the source type and scope in metadata.
Identity/scoping could map Haystack metadata into EverOS's user_id or agent_id (mutually exclusive), plus optional app_id, project_id, and session_id.
Before opening a PR, it would be helpful to align on:
- Should this begin as an external
everos-haystackpackage listed in the integrations catalog, or would it be a candidate forhaystack-core-integrations? - What minimum serialization and integration-test contract should a new memory store follow?
- For the first PR, would Writer/Retriever components be preferred over agent tools, or should both ship together?
We are happy to implement a focused PR with unit tests, mocked API contract tests, documentation, and a runnable example after agreeing on the expected integration surface.
Describe alternatives you've considered
- A cookbook-only example using custom Haystack components.
- Two standalone tools that call the EverOS API directly.
- A generic MCP connection.
These are quicker, but they do not provide the same composable Writer/Retriever experience as the current Mem0 and Cognee integrations, and they leave flush/scoping behavior to each application.
Additional context
- EverOS repository (currently 12k+ GitHub stars): https://github.com/EverMind-AI/EverOS
- Public API documentation: https://github.com/EverMind-AI/EverOS/blob/main/docs/api.md
- The proposal is for an optional backend, not a change to Haystack's default memory behavior.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.