{"id":21663,"library":"openviking","title":"OpenViking","description":"An Agent-native context database built by Volcengine. Current version 0.3.12, with active weekly releases. It provides memory, retrieval, RAG, and plugin systems for building AI agents, with support for various LLM/VLM providers and VikingDB integration.","status":"active","version":"0.3.12","language":"python","source_language":"en","source_url":"https://github.com/volcengine/openviking","tags":["ai","agent","memory","context","database","rag","vikingdb","llm"],"install":[{"cmd":"pip install openviking","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required for loading .env files in quickstart examples","package":"python-dotenv","optional":true}],"imports":[{"note":"The correct import path for the memory class.","symbol":"VikingMemory","correct":"from openviking.memory import VikingMemory"},{"note":"Direct import of openviking doesn't expose OpenViking class; use from openviking import OpenViking.","wrong":"import openviking","symbol":"OpenViking","correct":"from openviking import OpenViking"},{"note":"Context is in the core submodule, not top-level.","wrong":"from openviking import Context","symbol":"Context","correct":"from openviking.core import Context"}],"quickstart":{"code":"import os\nfrom openviking import OpenViking\n\ndef main():\n    # Initialize client (requires a VikingDB instance and API key)\n    vk = OpenViking(\n        host=os.environ.get('VIKING_HOST', 'http://localhost:8080'),\n        api_key=os.environ.get('VIKING_API_KEY', 'your-api-key-here')\n    )\n    # Store a memory\n    memory_id = \"my-first-memory\"\n    vk.memory.store(\n        memory_id=memory_id,\n        content=\"Hello, OpenViking! This is a test memory.\",\n        metadata={\"type\": \"greeting\"}\n    )\n    print(f\"Stored memory: {memory_id}\")\n    \n    # Retrieve the memory\n    result = vk.memory.retrieve(memory_id=memory_id)\n    print(f\"Retrieved content: {result.content}\")\n\nif __name__ == \"__main__\":\n    main()","lang":"python","description":"Initializes OpenViking client, stores and retrieves a simple memory."},"warnings":[{"fix":"Update memory configs to use V2 template format; see migration guide at https://github.com/volcengine/OpenViking/wiki/Memory-V2-Migration","message":"Memory V1 is deprecated since v0.3.8. Memory V2 uses YAML-based templates and requires migration of existing memory definitions.","severity":"breaking","affected_versions":">=0.3.8"},{"fix":"Ensure your Python version is 3.10 or higher: python --version","message":"OpenViking requires Python >=3.10. Trying to install on older versions will fail.","severity":"gotcha","affected_versions":"all"},{"fix":"Use `from openviking.plugins import PluginManager` instead.","message":"The `openviking.OpenClaw` plugin system is being replaced by `openviking.plugins` module. OpenClaw remains functional but will be removed in a future version.","severity":"deprecated","affected_versions":">=0.3.3"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use `from openviking.client import OpenViking` (for v0.2.x) or upgrade to v0.3.x and use `from openviking import OpenViking`.","cause":"Attempting to import OpenViking directly from the package, but it is not exposed at the top level in older versions (<0.3.0).","error":"ImportError: cannot import name 'OpenViking' from 'openviking' (unknown location)"},{"fix":"Use `from openviking.memory_v2 import VikingMemory` (for v0.3.x). Check your version: pip show openviking","cause":"The memory module was renamed in v0.3.0; older imports break.","error":"ModuleNotFoundError: No module named 'openviking.memory'"},{"fix":"Either upgrade openviking to >=0.3.5, or omit the metadata argument for older versions.","cause":"The `metadata` parameter was added in v0.3.5. Older versions don't support it.","error":"TypeError: VikingMemory.store() got an unexpected keyword argument 'metadata'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}