Replace EverMemOS with EverOS backend

This commit is contained in:
2026-05-13 17:56:50 +08:00
parent 0acee1ec6c
commit b226749c61
37 changed files with 1327 additions and 1986 deletions

View File

@ -11,7 +11,7 @@ from memory_gateway.schemas import (
Visibility,
)
from memory_gateway.services import MemoryGatewayService
from memory_gateway.types import Config, EverMemOSConfig, ObsidianConfig
from memory_gateway.types import Config, EverOSConfig, ObsidianConfig
def test_private_memory_is_isolated_by_user():
@ -67,10 +67,10 @@ def test_sqlite_repository_persists_memory(tmp_path):
assert reloaded.content == "持久化 SQLite memory"
def test_commit_session_promotes_dedupes_and_creates_review_draft(monkeypatch, tmp_path):
def test_commit_session_disabled_does_not_use_local_fallback(monkeypatch, tmp_path):
monkeypatch.setattr(
"memory_gateway.services.get_config",
lambda: Config(evermemos=EverMemOSConfig(enabled=False)),
lambda: Config(everos=EverOSConfig(enabled=False)),
)
monkeypatch.setattr(
"memory_gateway.obsidian_review.get_config",
@ -103,29 +103,27 @@ def test_commit_session_promotes_dedupes_and_creates_review_draft(monkeypatch, t
),
)
assert len(result["promoted"]) == 1
assert result["evermemos_backend"] == "local-disabled"
assert len(result["review_drafts"]) == 1
assert (tmp_path / "vault" / "Reviews" / "Queue").exists()
assert result["promoted"] == []
assert result["everos_backend"] == "disabled"
def test_commit_session_uses_external_evermemos(monkeypatch):
def test_commit_session_uses_external_everos(monkeypatch):
monkeypatch.setattr(
"memory_gateway.services.get_config",
lambda: Config(evermemos=EverMemOSConfig(enabled=True, fallback_to_local=False)),
lambda: Config(everos=EverOSConfig(enabled=True)),
)
class FakeEverMemOSClient:
class FakeEverOSClient:
def consolidate_session(self, **kwargs):
return {
"episodes": 1,
"candidates": [],
"promoted": [
{
"content": "外部 EverMemOS 总结出的长期记忆",
"summary": "外部 EverMemOS 长期记忆",
"content": "外部 EverOS 总结出的长期记忆",
"summary": "外部 EverOS 长期记忆",
"memory_type": "summary",
"tags": ["external-evermemos"],
"tags": ["external-everos"],
}
],
"duplicates": [],
@ -136,12 +134,12 @@ def test_commit_session_uses_external_evermemos(monkeypatch):
def health(self):
return {"status": "ok"}
service = MemoryGatewayService(InMemoryRepository(), evermemos_client=FakeEverMemOSClient())
service = MemoryGatewayService(InMemoryRepository(), everos_client=FakeEverOSClient())
service.append_episode(
EpisodeAppendRequest(
user_id="user_a",
session_id="sess_external",
content="这条 episode 应该交给外部 EverMemOS。",
content="这条 episode 应该交给外部 EverOS。",
)
)
result = service.commit_session(
@ -149,9 +147,9 @@ def test_commit_session_uses_external_evermemos(monkeypatch):
CommitSessionRequest(user_id="user_a", session_id="sess_external"),
)
assert result["evermemos_backend"] == "external"
assert result["everos_backend"] == "external"
assert len(result["promoted"]) == 1
search = service.search_memory(MemorySearchRequest(user_id="user_a", query="外部 EverMemOS"))
search = service.search_memory(MemorySearchRequest(user_id="user_a", query="外部 EverOS"))
assert search["total"] == 1