You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add everos-haystack, a Cloud-backed long-term memory integration using the canonical EverOS /api/v2 contract.
Add EverOSMemoryStore with add, flush, search, typed result conversion, owner/scope isolation, Haystack filter conversion, serialization, and structured API errors.
Add Writer/Retriever components and Agent-facing remember/recall tools with IDs injected from Haystack Agent State.
Add runnable component and Agent examples plus documentation covering EverOS's dual user/agent memory model and eventual index consistency.
Register the integration in the repository inventory, labeler, coverage workflow, and nightly CI matrix.
EverOS-specific behavior
EverOS extracts durable memory from message streams rather than treating every message as one memory. flush_on_write exposes an explicit extraction boundary for short jobs, while the default behavior allows normal semantic boundaries.
User episodes/profiles and agent cases/skills remain separate first-class tracks. Searches require exactly one of user_id or agent_id; app_id, project_id, and optional session_id preserve EverOS scope isolation. Returned memories are Haystack system ChatMessage objects with their EverOS type, source IDs, scope, scores, and request_id preserved in metadata.
Test plan
hatch run fmt-check
hatch run test:types
hatch run test:unit — 50 passed
hatch run test:unit-cov-retry — 95% coverage
Lowest direct dependencies (haystack-ai==2.19.0, httpx==0.27.0) — 50 passed
hatch run docs
hatch build
Live EverOS Cloud add/flush/search tests — 2 passed, including exact recall and wrong-user isolation
Maintainer setup
The live tests skip when EVEROS_CLOUD_API_KEY is unavailable. To enable the nightly Cloud contract tests after merge, a repository secret with that name will need to be configured. No credential is included in this PR.
Hi @Yangtze-Seventh, thanks a lot for contributing a new integration! 🙏
This PR looks like it adds a new integration (everos), but we couldn't
find a linked issue labeled new integration.
Every integration we merge is maintained, tested nightly, and released by us, so before reviewing the code
we'd like to understand the adoption of the technology you're integrating with. Could you please open a New Integration Proposal
and fill it out? The Adoption signals section (GitHub stars, PyPI downloads over the last 30 days,
release activity, community demand) is what helps us decide whether to add the integration to Haystack.
Then reference the issue in this PR's description (for example, by adding Related to #<issue-number>)
and this comment will disappear automatically.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3875.
Related to deepset-ai/haystack#12499.
Summary
everos-haystack, a Cloud-backed long-term memory integration using the canonical EverOS/api/v2contract.EverOSMemoryStorewith add, flush, search, typed result conversion, owner/scope isolation, Haystack filter conversion, serialization, and structured API errors.EverOS-specific behavior
EverOS extracts durable memory from message streams rather than treating every message as one memory.
flush_on_writeexposes an explicit extraction boundary for short jobs, while the default behavior allows normal semantic boundaries.User episodes/profiles and agent cases/skills remain separate first-class tracks. Searches require exactly one of
user_idoragent_id;app_id,project_id, and optionalsession_idpreserve EverOS scope isolation. Returned memories are Haystack systemChatMessageobjects with their EverOS type, source IDs, scope, scores, andrequest_idpreserved in metadata.Test plan
hatch run fmt-checkhatch run test:typeshatch run test:unit— 50 passedhatch run test:unit-cov-retry— 95% coveragehaystack-ai==2.19.0,httpx==0.27.0) — 50 passedhatch run docshatch buildMaintainer setup
The live tests skip when
EVEROS_CLOUD_API_KEYis unavailable. To enable the nightly Cloud contract tests after merge, a repository secret with that name will need to be configured. No credential is included in this PR.