volcengine

OpenViking: Organize Agent Memory, Knowledge, and Skills

OpenViking is a context database for AI agents that organizes knowledge, memories, and skills in a browsable virtual filesystem. It supports scoped retrieval and agent integrations, with options to self-host or use a hosted service.

PythonAGPL-3.0AI AgentsDatabaseRAG
Stars
39.2k
Forks
3.1k
Stars, last 8 days
+613

Our take

Health score

83/100

How it is scored
Activity
89
Community
94
Issues
70
Pull requests
79

+613 stars in the last 8 days

  • Releases more often than 92% of the projects we track
  • Merges more pull requests than 86% of the projects we track
  • More contributors than 77% of the projects we track

Overview

OpenViking gives AI agents a shared context store for documents, memories, and skills. Instead of hiding context in a flat embedding index, it arranges information under viking:// paths that agents and people can browse, inspect, and edit.

The design suits teams that need persistent, inspectable context across agent sessions, or retrieval scoped to a project or memory area. It is less compelling if an application only needs a basic vector store or does not need agent memory and context organization.

Key Features

  • Stores resources, user memories, and agent skills in a common virtual filesystem.
  • Provides file-like operations, including listing, reading, writing, searching, and browsing directory trees.
  • Scopes semantic retrieval to a directory or subtree, rather than requiring searches across a flat index.
  • Uses generated abstracts and overviews so agents can assess relevance before loading full content.
  • Archives agent sessions and can extract memories as editable Markdown.
  • Offers integrations for coding agents, MCP clients, LangChain, and Python, Go, and TypeScript SDKs.
  • Includes a CLI, HTTP API, web studio, and an optional agent framework called VikingBot.

Use Cases

  • Agent developers can give agents persistent memory across conversations and make stored context easier to inspect and manage.
  • Engineering teams can index project documentation and code, then keep retrieval focused on a particular project or directory.
  • Agent users can preserve preferences and past experience for coding assistants that support the available integrations.
  • Knowledge-work teams can organize source material into a wiki, graph, or report using the optional VikingBot workflow.

Getting Started

Install the package and run the setup wizard:

uv tool install openviking --upgrade && openviking-server init

A model provider with an embedding model and a VLM is required for a self-hosted setup. See the README for configuration, deployment, and agent integration instructions.

Alternatives

  • Open Index: Open Index builds a domain-specific context graph for agent retrieval, while OpenViking organizes knowledge, memories, and skills in a virtual filesystem.
  • memvid: Memvid packages content, indexes, and metadata in a portable local file, while OpenViking provides a browsable context database with scoped retrieval.
  • Utopia: Utopia centers on a bitemporal knowledge graph for enterprise reasoning, while OpenViking organizes agent context, memories, and skills in a virtual filesystem.
ProjectLanguageLicenseStarsStatus
OpenVikingPythonAGPL-3.039.2kNot checked yet
open-indexPythonMIT112New
memvidRustApache-2.016.6kActive
utopiaRustApache-2.08kNew

Considerations

  • Self-hosting requires Python 3.10 or newer, uv, and a model provider with embedding and vision-language models.
  • The main project is licensed under AGPLv3. Check component-specific licenses and your distribution requirements before adopting it.
  • The project can be run locally or deployed in production, but its documentation recommends configuring authentication before exposing a server beyond localhost.
  • A hosted service is also available, while some commercial self-managed capabilities require a separate license.

Found this useful?

Share it with someone who would like OpenViking.

Comparisons