sync: 鍚屾灞€鍩熺綉鏈€鏂颁唬鐮?(source master @ b69568e4)

This commit is contained in:
gozeros committed 2026-10-21 14:51:31 +08:00
1 parent 4f7f07504a
commit 8bc8b0e082
1651 files changed
+278599 -11416

No files matched your search

@@ -2,6 +2,7 @@
from __future__ import annotations
from types import SimpleNamespace
from typing import Any
from deerflow.agents.memory.manager import MemoryManager
@@ -113,6 +114,22 @@ class TestSystemPromptAndPrefetch:
manager.add_provider(_FakeProvider("builtin", prompt_block=""))
assert manager.build_system_prompt() == ""
def test_build_system_prompt_can_exclude_only_legacy_knowledge(self):
manager = MemoryManager()
manager.add_provider(_FakeProvider("builtin", prompt_block="用户记忆"))
manager.add_provider(
_FakeProvider("knowledge", prompt_block="/mnt/knowledge/routing.md")
)
manager.add_provider(_FakeProvider("hindsight", prompt_block="Hindsight 说明"))
result = manager.build_system_prompt(
excluded_provider_names={"knowledge"}
)
assert "用户记忆" in result
assert "Hindsight 说明" in result
assert "/mnt/knowledge/routing.md" not in result
def test_prefetch_all_concatenates(self):
manager = MemoryManager()
manager.add_provider(_FakeProvider("builtin", prefetch_text="召回1"))
@@ -128,6 +145,46 @@ class TestSystemPromptAndPrefetch:
block = manager.build_injection_block("查询")
assert "静态块" in block and "动态块" in block
def test_lead_memory_context_keeps_memory_when_legacy_routing_is_disabled(
self,
monkeypatch,
):
from deerflow.agents.lead_agent import prompt as prompt_module
from deerflow.agents.memory import manager as manager_module
from deerflow.config import memory_config as memory_config_module
from deerflow.runtime import user_context as user_context_module
manager = MemoryManager()
manager.add_provider(_FakeProvider("builtin", prompt_block="用户偏好记忆"))
manager.add_provider(
_FakeProvider("knowledge", prompt_block="读取 /mnt/knowledge/routing.md")
)
manager.add_provider(_FakeProvider("hindsight", prompt_block="历史召回说明"))
monkeypatch.setattr(
manager_module,
"build_memory_manager",
lambda **_kwargs: manager,
)
monkeypatch.setattr(
memory_config_module,
"get_effective_memory_config",
lambda _user_id: SimpleNamespace(enabled=True),
)
monkeypatch.setattr(
user_context_module,
"get_effective_user_id",
lambda: "user-1",
)
context = prompt_module._get_memory_context(
include_legacy_knowledge_routing=False
)
assert "用户偏好记忆" in context
assert "历史召回说明" in context
assert "/mnt/knowledge/routing.md" not in context
class TestHookDispatch:
def test_sync_all(self):