{"record":{"id":"860cde6b7bc62e69","repo":"bytedance/deer-flow","slug":"the-installed-openviking-sdk-lacks-request-scoped","errorCode":null,"errorMessage":"The installed OpenViking SDK lacks request-scoped actor-peer support. Install openviking-sdk>=0.1.6,<0.2 and retry.","messagePattern":"The installed OpenViking SDK lacks request-scoped actor-peer support\\. Install openviking-sdk>=0\\.1\\.6,<0\\.2 and retry\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"backend/packages/harness/deerflow/agents/memory/backends/openviking/openviking_manager.py","lineNumber":557,"sourceCode":"        if self._config.write_failure_policy == \"raise\":\n            raise MemoryManagerError(detail) from exc\n        logger.error(detail, exc_info=True)\n\n\ndef _load_official_integration() -> dict[str, Any]:\n    try:\n        from langchain_openviking import (\n            OpenVikingCommitPolicy,\n            OpenVikingPartialWriteError,\n            OpenVikingRetriever,\n            OpenVikingSessionRecorder,\n            has_request_actor_peer_support,\n        )\n        from langchain_openviking.actor_peer import use_actor_peer\n    except ImportError as exc:\n        raise ImportError(\"The OpenViking memory backend requires langchain-openviking==0.1.0. Install DeerFlow backend dependencies and retry.\") from exc\n    if not has_request_actor_peer_support():\n        raise ImportError(\"The installed OpenViking SDK lacks request-scoped actor-peer support. Install openviking-sdk>=0.1.6,<0.2 and retry.\")\n    return {\n        \"OpenVikingCommitPolicy\": OpenVikingCommitPolicy,\n        \"OpenVikingPartialWriteError\": OpenVikingPartialWriteError,\n        \"OpenVikingRetriever\": OpenVikingRetriever,\n        \"OpenVikingSessionRecorder\": OpenVikingSessionRecorder,\n        \"use_actor_peer\": use_actor_peer,\n    }\n\n\ndef _format_documents(documents: list[Any], *, max_chars: int) -> str:\n    lines: list[str] = []\n    seen: set[str] = set()\n    for document in documents:\n        content = \" \".join(str(getattr(document, \"page_content\", \"\") or \"\").split())\n        key = content.casefold()\n        if not content or key in seen:\n            continue\n        seen.add(key)","sourceCodeStart":539,"sourceCodeEnd":575,"githubUrl":"https://github.com/bytedance/deer-flow/blob/1dd6ba1acb03700589994b0366c5d1c7d05e2eff/backend/packages/harness/deerflow/agents/memory/backends/openviking/openviking_manager.py#L539-L575","documentation":"_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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":"# before\n# uv pip show openviking-sdk -> Version: 0.1.5\n\n# after\ncd backend && uv pip install 'openviking-sdk>=0.1.6,<0.2' 'langchain-openviking==0.1.0'","handlingStrategy":"validation","validationCode":"from importlib.metadata import version\nfrom packaging.version import Version\nv = Version(version(\"openviking-sdk\"))\nassert Version(\"0.1.6\") <= v < Version(\"0.2\"), f\"need openviking-sdk>=0.1.6,<0.2, found {v}\"","typeGuard":"def sdk_has_actor_peer_support() -> bool:\n    try:\n        from langchain_openviking import has_request_actor_peer_support\n        return bool(has_request_actor_peer_support())\n    except ImportError:\n        return False","tryCatchPattern":null,"preventionTips":["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"],"tags":["openviking","version-conflict","dependencies","import"],"backgroundTag":null,"analyzedSha":"1dd6ba1acb03700589994b0366c5d1c7d05e2eff","analyzedAt":"2026-08-14T21:20:34.804Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}