bytedance/deer-flow · error · ValueError

OpenViking custom HTTP client fields are no longer supported

Error message

OpenViking custom HTTP client fields are no longer supported: 

What it means

Error "OpenViking custom HTTP client fields are no longer supported: " thrown in bytedance/deer-flow.

Source

Thrown at backend/packages/harness/deerflow/agents/memory/backends/openviking/config.py:59

    content_mode: Literal["auto", "abstract", "overview", "read"]
    injection_query: str
    startup_policy: Literal["fail_fast", "warn"]
    read_failure_policy: Literal["fail_open", "raise"]
    write_failure_policy: Literal["log_and_drop", "raise"]
    allow_insecure_http: bool
    max_seen_message_ids: int

    @classmethod
    def from_backend_config(
        cls,
        backend_config: dict[str, Any] | None,
    ) -> OpenVikingConfig:
        cfg = dict(backend_config or {})
        if "auth_mode" in cfg or "account" in cfg:
            raise ValueError("OpenViking trusted mode is no longer supported by this backend; use a USER API key and configure owner_user_id")
        removed_fields = sorted(_REMOVED_CUSTOM_HTTP_FIELDS.intersection(cfg))
        if removed_fields:
            raise ValueError("OpenViking custom HTTP client fields are no longer supported: " + ", ".join(removed_fields))

        retrieval = _mapping(cfg.pop("retrieval", {}), "retrieval")
        failure_policy = _mapping(
            cfg.pop("failure_policy", {}),
            "failure_policy",
        )
        api_key_env = str(cfg.pop("api_key_env", "OPENVIKING_API_KEY")).strip()
        if not api_key_env:
            raise ValueError("OpenViking api_key_env must not be empty")

        result = cls(
            base_url=str(cfg.pop("base_url", "http://127.0.0.1:1933")).rstrip("/"),
            storage_path=str(cfg.pop("storage_path", "")),
            owner_user_id=str(cfg.pop("owner_user_id", "")).strip(),
            api_key=os.environ.get(api_key_env, "").strip(),
            api_key_env=api_key_env,
            default_peer_id=str(cfg.pop("default_peer_id", "deerflow")).strip(),
            timeout_seconds=float(cfg.pop("timeout_seconds", 30.0)),

View on GitHub (pinned to 1dd6ba1acb)

Solutions

  1. Remove the listed custom HTTP client fields from the OpenViking backend_config.
  2. Use the supported top-level fields only (base_url, api_key_env, owner_user_id, timeouts).

When it happens

Trigger: Thrown at backend/packages/harness/deerflow/agents/memory/backends/openviking/config.py:59 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of bytedance/deer-flow@1dd6ba1acb (2026-08-14). Data as JSON: /api/errors/7158850bf2b42feb. Report an issue: GitHub.