deepset-ai / deepset-ai/haystack-core-integrations
New integration: EverOS long-term memory
@sjrl is already working on this.
Since Aug 31, 2026.
- Dominant language
- Python
- Stars
- 203
- Forks
- 332
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 80
Description
Summary and motivation
Add everos-haystack, an optional long-term memory integration for Haystack Agents and pipelines.
EverOS is an Apache-2.0 Python memory runtime for agents. It models user memory and agent experience as separate first-class tracks: user episodes, atomic facts and profiles; agent cases and reusable skills. It also supports orthogonal application/project/session scopes and keyword, vector, hybrid, and agentic retrieval.
The integration gives Haystack users the same composable surfaces as existing memory integrations while preserving the EverOS lifecycle and typed results:
EverOSMemoryStorefor the EverOS Cloud v2 APIEverOSMemoryWriterandEverOSMemoryRetrievercomponentsEverOSMemoryWriterToolandEverOSMemoryRetrieverToolfor Haystack Agents- Haystack metadata-filter conversion, serialization, examples, and live contract tests
The original proposal and maintainer discussion are in deepset-ai/haystack#12499. We chose the haystack-core-integrations route and will support the integration as EverOS evolves.
Adoption signals
- GitHub stars: EverMind-AI/EverOS currently has 12,573 stars and 909 forks.
- PyPI downloads:
everoshad 11,270 downloads in the last 30 days according to the PyPI Stats API on 2026-08-31. - Release activity: the latest release is EverOS 1.2.3, published on 2026-08-07. The repository has continued receiving updates since that release.
- Maintenance: EverOS is actively maintained by EverMind AI. The EverMind team will help maintain the Haystack adapter and respond to upstream API changes.
- Haystack community demand: deepset-ai/haystack#12499 records the proposal, maintainer guidance, and our commitment to prepare this integration.
- Comparable integrations: Haystack already supports agent-memory providers such as Mem0, Cognee, and Hindsight. EverOS adds a distinct dual-track model for user memory and reusable agent cases/skills.
Detailed design
The first version is cloud-focused and uses the canonical EverOS /api/v2 HTTP contract at https://api.evermind.ai. Authentication uses Haystack Secret.from_env_var("EVEROS_CLOUD_API_KEY"); credentials are never serialized in plaintext.
Memory store
EverOSMemoryStore maps:
add_memories(...)toPOST /api/v2/memory/add- optional
flush_memories(...)toPOST /api/v2/memory/flush search_memories(...)toPOST /api/v2/memory/search
The store accepts Haystack ChatMessage objects with user, assistant, and tool roles. It preserves explicit user_id, agent_id, app_id, project_id, and session_id boundaries. Searches require exactly one of user_id or agent_id, matching the EverOS dual-track contract.
Components and tools
EverOSMemoryWriterwrites message streams and can exposeflush_on_writefor short jobs that need an explicit extraction boundary.EverOSMemoryRetrieverconverts episodes, profiles, agent cases, and agent skills to Haystack systemChatMessageobjects while preserving source type, IDs, scope, score, and request ID inmessage.meta["everos"].- Agent tools inject stable owner/session IDs from Haystack Agent State rather than asking the model to invent identity fields.
Retrieval and consistency
The retriever supports keyword, vector, hybrid, and agentic methods, plus a supported subset of Haystack metadata filters. EverOS persists extracted memory before asynchronously updating its search index, so examples and live tests use bounded retry for read-after-write checks.
Testing and maintenance
The integration includes:
- unit tests with mocked v2 API responses
- filter, serialization, error, component, and Agent-tool tests
- live Cloud tests for add/flush/search, exact content recall, default-add behavior, and user isolation
- nightly CI across supported Python versions and operating systems
- documentation and runnable component/Agent examples
EverMind will monitor upstream EverOS interface changes and help update this integration when the contract changes.
Checklist
If the request is accepted, ensure the following checklist is complete before closing this issue.
Follow the instructions in https://github.com/deepset-ai/haystack-core-integrations/blob/main/CONTRIBUTING.md#create-a-new-integration and use our scaffolding script for the implementation.
Tasks
- The code is documented with docstrings and was merged in the
mainbranch - Docs are published at https://docs.haystack.deepset.ai/
- There is a Github workflow running the tests for the integration nightly and at every PR
- A new label named like
integration:<your integration name>has been added to the list of labels for this repository - The
labeler.ymlfile has been updated - The package has been released on PyPI
- An integration tile with a usage example has been added to https://github.com/deepset-ai/haystack-integrations
- The integration has been listed in the Inventory section of this repo README
- The feature was announced through social media
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.