bytedance/deer-flow · error · ImportError
The installed OpenViking SDK lacks request-scoped actor-peer
Error message
The installed OpenViking SDK lacks request-scoped actor-peer support. Install openviking-sdk>=0.1.6,<0.2 and retry.
What it means
_load_official_integration() raises ImportError when langchain_openviking imports fine but has_request_actor_peer_support() returns False — the installed openviking-sdk underneath lacks request-scoped actor-peer support (needs openviking-sdk>=0.1.6,<0.2). The backend requires actor peers to represent each DeerFlow agent as a disjoint peer inside one OpenViking Session, so an SDK without that feature cannot be used.
Source
Thrown at backend/packages/harness/deerflow/agents/memory/backends/openviking/openviking_manager.py:557
if self._config.write_failure_policy == "raise":
raise MemoryManagerError(detail) from exc
logger.error(detail, exc_info=True)
def _load_official_integration() -> dict[str, Any]:
try:
from langchain_openviking import (
OpenVikingCommitPolicy,
OpenVikingPartialWriteError,
OpenVikingRetriever,
OpenVikingSessionRecorder,
has_request_actor_peer_support,
)
from langchain_openviking.actor_peer import use_actor_peer
except ImportError as exc:
raise ImportError("The OpenViking memory backend requires langchain-openviking==0.1.0. Install DeerFlow backend dependencies and retry.") from exc
if not has_request_actor_peer_support():
raise ImportError("The installed OpenViking SDK lacks request-scoped actor-peer support. Install openviking-sdk>=0.1.6,<0.2 and retry.")
return {
"OpenVikingCommitPolicy": OpenVikingCommitPolicy,
"OpenVikingPartialWriteError": OpenVikingPartialWriteError,
"OpenVikingRetriever": OpenVikingRetriever,
"OpenVikingSessionRecorder": OpenVikingSessionRecorder,
"use_actor_peer": use_actor_peer,
}
def _format_documents(documents: list[Any], *, max_chars: int) -> str:
lines: list[str] = []
seen: set[str] = set()
for document in documents:
content = " ".join(str(getattr(document, "page_content", "") or "").split())
key = content.casefold()
if not content or key in seen:
continue
seen.add(key)View on GitHub (pinned to 1dd6ba1acb)
Solutions
- Pin the SDK explicitly: uv pip install 'openviking-sdk>=0.1.6,<0.2' alongside 'langchain-openviking==0.1.0'
- Check the resolved version: uv pip show openviking-sdk; look for another dependency constraining it (uv tree)
- Restart the Gateway after fixing versions
Example fix
# before # uv pip show openviking-sdk -> Version: 0.1.5 # after cd backend && uv pip install 'openviking-sdk>=0.1.6,<0.2' 'langchain-openviking==0.1.0'
Defensive patterns
Strategy: validation
Validate before calling
from importlib.metadata import version
from packaging.version import Version
v = Version(version("openviking-sdk"))
assert Version("0.1.6") <= v < Version("0.2"), f"need openviking-sdk>=0.1.6,<0.2, found {v}" Type guard
def sdk_has_actor_peer_support() -> bool:
try:
from langchain_openviking import has_request_actor_peer_support
return bool(has_request_actor_peer_support())
except ImportError:
return False Prevention
- Pin both 'langchain-openviking==0.1.0' and 'openviking-sdk>=0.1.6,<0.2' in the environment
- After any dependency resolve, run has_request_actor_peer_support() as a feature check before startup
When it happens
Trigger: langchain-openviking is installed but its openviking-sdk dependency resolved to an older (<0.1.6) or incompatible (>=0.2) version — e.g. another package pinned the SDK, or a stale lockfile. Checked immediately after the import block, at manager construction.
Common situations: Version drift after a fresh resolve: a transitive dependency pinned openviking-sdk to 0.1.5; or an early 0.2 prerelease was installed. Distinct from error 633: here the import succeeded and only the feature check failed.
Related errors
- The OpenViking memory backend requires langchain-openviking=
- Failed to update agent: ${res.statusText}
- Failed to delete agent: ${res.statusText}
- backend_unreachable
- request_failed
AI-assisted analysis of bytedance/deer-flow@1dd6ba1acb (2026-08-14).
Data as JSON: /api/errors/860cde6b7bc62e69.
Report an issue: GitHub.