Our take
- 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.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| OpenViking | Python | AGPL-3.0 | 39.2k | Not checked yet |
| open-index | Python | MIT | 112 | New |
| memvid | Rust | Apache-2.0 | 16.6k | Active |
| utopia | Rust | Apache-2.0 | 8k | New |
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.