Skip to content

feat: add EverOS memory integration - #3876

Open
Yangtze-Seventh wants to merge 1 commit into
deepset-ai:mainfrom
Yangtze-Seventh:feat/everos-memory-integration
Open

feat: add EverOS memory integration#3876
Yangtze-Seventh wants to merge 1 commit into
deepset-ai:mainfrom
Yangtze-Seventh:feat/everos-memory-integration

Conversation

@Yangtze-Seventh

Copy link
Copy Markdown

Closes #3875.
Related to deepset-ai/haystack#12499.

Summary

  • 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.

@Yangtze-Seventh
Yangtze-Seventh requested a review from a team as a code owner August 31, 2026 06:54
@Yangtze-Seventh
Yangtze-Seventh requested review from sjrl and removed request for a team August 31, 2026 06:54
@CLAassistant

CLAassistant commented Aug 31, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@github-actions

Copy link
Copy Markdown
Contributor

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.

@github-actions github-actions Bot added the type:documentation Improvements or additions to documentation label Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

topic:CI type:documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

New integration: EverOS long-term memory

3 participants