Memory infrastructure for stateful AI agents that reasons over conversations to model users, agents and groups over time.
volcengine/OpenViking
An open-source context database for AI agents that stores knowledge, memory and skills in one viking:// filesystem that can be browsed and edited.
- Stars
- 41,697
- Forks
- 3,407
- Open issues
- 1,030
- Last commit
- 21 hours ago
What is it?
OpenViking is a context database for AI agents. Instead of storing agent memory as opaque embeddings, it organizes knowledge, memories and skills as a virtual filesystem under the viking:// scheme, so agents can navigate with commands such as ls, tree, read, write and grep, and people can open any directory to inspect or edit what the agent knows.
Each directory carries generated L0 abstracts and L1 overviews, letting agents judge relevance from short summaries before loading full L2 content. Semantic search can be scoped to a project or memory subtree. Committed sessions are archived and their extracted memories are saved as Markdown files.
The project ships a server, a CLI named ov, Python, Go and TypeScript SDKs, an HTTP API, and integrations for coding agents such as Claude Code, Codex, Cursor and OpenCode, plus frameworks like LangChain. It is licensed under AGPLv3 and can be self-hosted, or used through a Volcengine-hosted service.
Key features
- 01Browse agent knowledge, memory and skills as a filesystem with viking:// URIs.
- 02Generates L0 abstracts and L1 overviews per directory so agents can scan before reading.
- 03Scopes semantic search to a directory subtree instead of a flat vector pool.
- 04Archives sessions and saves extracted memories as editable Markdown files.
- 05Provides a CLI, Python, Go and TypeScript SDKs and an HTTP API.
Use cases
- Giving a coding agent memory of preferences and project context that persists across sessions.
- Building retrieval over a project's docs and repositories with directory-scoped search.
- Letting a team inspect and correct what an AI agent has remembered.
- Connecting LangChain or MCP-based agents to a shared context store.
Quick start
- 1
Install OpenViking with uv and run the setup wizard to configure models
uv tool install openviking --upgrade && openviking-server init - 2
Start the server and keep its terminal open (the server runs in the foreground)
- 3
With the server running, check its status using the ov CLI
ov status
Things to know
- Licensed under AGPL-3.0, a copyleft license that requires sharing modified source code when offered as a network service.
- Self-hosting requires a model provider with an embedding model and a VLM, which means API keys or local models such as Ollama.
- The agent memory plugin installer needs macOS or Linux; Windows users must use the desktop app.
In collections
Topics
FAQ
- What is OpenViking?
- An open-source context database for AI agents that stores knowledge, memory and skills in one viking:// filesystem that can be browsed and edited. OpenViking is a context database for AI agents. Instead of storing agent memory as opaque embeddings, it organizes knowledge, memories and skills as a virtual filesystem under the viking:// scheme, so agents can navigate with commands such as ls, tree, read, write and grep, and people can open any directory to inspect or edit what the agent knows.
- Is OpenViking free to use? What license does it have?
- OpenViking is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is OpenViking still maintained?
- Actively maintained. The last commit to OpenViking was on Nov 6, 2026.
- What can I use OpenViking for?
- Giving a coding agent memory of preferences and project context that persists across sessions. Building retrieval over a project's docs and repositories with directory-scoped search. Letting a team inspect and correct what an AI agent has remembered. Connecting LangChain or MCP-based agents to a shared context store.
- How do I install OpenViking?
- Install OpenViking with uv and run the setup wizard to configure models: uv tool install openviking --upgrade && openviking-server init Start the server and keep its terminal open (the server runs in the foreground) With the server running, check its status using the ov CLI: ov status
- Where can I get OpenViking?
- The source code and installation instructions are on GitHub: https://github.com/volcengine/OpenViking
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted agent platform for chatting with customizable LLM agents that bind tools, MCP servers, Skills and knowledge bases.
A memory layer for AI agents and apps that stores and retrieves user, session, and agent context across conversations.
Agent memory system that stores, recalls and reflects on memories so AI agents learn over time instead of only replaying chat history.
Memory and context engine for AI apps and assistants, offering a single API for persistent memory, RAG, user profiles and connectors.
A persistent semantic memory layer for AI coding agents, storing memories as Markdown files indexed in Milvus for cross-agent recall.