Skip to content

[Bug]: docker-compose运行时,依然报错ImportError: cannot import name 'AGFSBindingClient' from 'pyagfs' #424

@Yourwon

Description

@Yourwon

Bug Description

image: ghcr.io/volcengine/openviking:main大概还有问题。
镜像id 7d3e93a35e3f 6 days ago。

之前的镜像都删了。

错误信息:

ImportError: cannot import name 'AGFSBindingClient' from 'pyagfs' (/app/.venv/lib/python3.13/site-packages/pyagfs/__init__.py)

配置文件

ov.conf


{
  "storage": {
    "workspace": "/app/data",
    "agfs": { "backend": "local" },
    "vectordb": { "backend": "local" }
  },
  "log": {
    "level": "INFO",
    "output": "stdout"
  },
  "embedding": {
    "dense": {
      "provider": "openai",
      "model": "openai/text-embedding-3-small",
      "api_key": "sk-,
      "dimension": 1536
    },
    "max_concurrent": 10
  },
  "vlm": {
    "provider": "openai",
    "model": "google/gemini-2.5-flash",
    "api_key": "sk-",
    "max_concurrent": 10
  }
}

docker-compose.yml

version: "3.8"

services:
  openviking:
    image: ghcr.io/volcengine/openviking:main
    container_name: openviking
    ports:
      - "1933:1933"
    volumes:
      # Mount the configuration and data directory to persist state
      - /usr/local/openviking/ov.conf:/app/ov.conf
      - /usr/local/openviking/data:/app/data
    healthcheck:
      test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:1933/health || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    restart: unless-stopped
    # If you need to override the default command (which runs openviking-server),
    # you can do so here. For example, to run the CLI:
    # command: ["openviking", "--help"]

Steps to Reproduce

docker-compose up

Expected Behavior

docker-compose up可以运行起来

Actual Behavior

报错
ImportError: cannot import name 'AGFSBindingClient' from 'pyagfs' (/app/.venv/lib/python3.13/site-packages/pyagfs/init.py)
openviki

Minimal Reproducible Example

Error Logs

openviking  | OpenViking HTTP Server is running on 127.0.0.1:1933
openviking  | 2026-03-05 03:39:13,969 - uvicorn.error - INFO - Started server process [1]
openviking  | 2026-03-05 03:39:13,969 - uvicorn.error - INFO - Waiting for application startup.
openviking  | 2026-03-05 03:39:13,973 - uvicorn.error - ERROR - Traceback (most recent call last):
openviking  |   File "/app/.venv/lib/python3.13/site-packages/starlette/routing.py", line 694, in lifespan
openviking  |     async with self.lifespan_context(app) as maybe_state:
openviking  |                ~~~~~~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/fastapi/routing.py", line 201, in merged_lifespan
openviking  |     async with original_context(app) as maybe_original_state:
openviking  |                ~~~~~~~~~~~~~~~~^^^^^
openviking  |   File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
openviking  |     return await anext(self.gen)
openviking  |            ^^^^^^^^^^^^^^^^^^^^^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/openviking/server/app.py", line 60, in lifespan
openviking  |     service = OpenVikingService()
openviking  |   File "/app/.venv/lib/python3.13/site-packages/openviking/service/core.py", line 95, in __init__
openviking  |     self._init_storage(
openviking  |     ~~~~~~~~~~~~~~~~~~^
openviking  |         config.storage, config.embedding.max_concurrent, config.vlm.max_concurrent
openviking  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
openviking  |     )
openviking  |     ^
openviking  |   File "/app/.venv/lib/python3.13/site-packages/openviking/service/core.py", line 112, in _init_storage
openviking  |     from openviking.utils.agfs_utils import create_agfs_client
openviking  |   File "/app/.venv/lib/python3.13/site-packages/openviking/utils/agfs_utils.py", line 10, in <module>
openviking  |     from pyagfs import AGFSBindingClient, AGFSClient
openviking  | ImportError: cannot import name 'AGFSBindingClient' from 'pyagfs' (/app/.venv/lib/python3.13/site-packages/pyagfs/__init__.py)

OpenViking Version

ghcr.io/volcengine/openviking:main

Python Version

3.13

Operating System

Linux

Model Backend

OpenAI

Additional Context

Image Image

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions