OpenViking — контекстная база данных для AI-агентов
📂 Исходный код на GitHubКонтекстная база данных для AI-агентов. Память, ресурсы и навыки объединены в одну виртуальную ФС под протоколом viking:// — агент работает с контекстом через ls, tree и find, а не через чёрный ящик векторного хранилища. Каждая запись обрабатывается в три уровня (L0 abstract, L1 overview, L2 details) и загружается по требованию; поиск рекурсивно спускается по каталогам и сохраняет наблюдаемую траекторию. Интеграции с Claude Code, Codex, OpenClaw, Cursor, OpenCode и MCP. AGPLv3.
OpenViking — это открытая контекстная база данных для AI-агентов. Вместо того чтобы хранить память, ресурсы и навыки в «чёрном ящике» векторного хранилища, проект объединяет их в одну виртуальную файловую систему под протоколом viking://. Агент обращается к собственному контексту так же, как разработчик к файлам: ls, tree, find. Проект разрабатывает Volcengine, распространяется под лицензией AGPLv3 и набрал более 28 000 звёзд на GitHub.
Философия OpenViking проста: контекст — это не плоская куча векторов, а структурированное, детерминированно доступное пространство. Это позволяет резать токены, делать каждый запрос наблюдаемым и превращать сессии в долгосрочную память.
Ключевые идеи
- Одна ФС для всего контекста. Памяти, ресурсам и навыкам даётся URI вида
viking://. Агент находит и меняет контекст детерминированно — как разработчик работает с файлами. - Трёхуровневая загрузка экономит токены. Каждая запись при записи обрабатывается в три уровня, а затем загружается ровно настолько глубоко, насколько требует задача.
- Рекурсивный поиск по каталогам. Векторный поиск сначала находит каталог с наивысшей оценкой, затем спускается по уровням — результат приходит с окружающим контекстом.
- Наблюдаемая траектория поиска. Каждый запрос сохраняет свой путь обхода каталогов. Если результат выглядит подозрительно, видно, какой именно путь его породил.
- Сессии становятся памятью. После завершения сессии OpenViking асинхронно извлекает предпочтения пользователя и опыт агента в долгосрочную память.
Устройство виртуальной ФС
Структура viking:// разделена на общие ресурсы и пользовательский контекст:
viking://
├── resources/ # ресурсы: доки проекта, репозитории, веб-страницы
│ └── my_project/
│ ├── docs/
│ │ ├── api/
│ │ └── tutorials/
│ └── src/
└── user/
└── {user_id}/
├── memories/
│ └── preferences/
│ ├── writing_style
│ └── coding_habits
├── resources/
│ └── private_project/
├── skills/
│ ├── search_code
│ └── analyze_data
└── peers/
└── web-visitor-alice/
Каждый каталог несёт собственные слои L0/L1, поэтому релевантность можно оценить до чтения полного файла:
viking://resources/my_project/
├── .abstract # L0: ~100 токенов — быстрая проверка релевантности
├── .overview # L1: ~2k токенов — структура и ключевые моменты
└── docs/
├── .abstract
├── .overview
└── api/
├── auth.md # L2: полный контент, загружается по требованию
└── endpoints.md
Три уровня загрузки:
- L0 (Abstract) — резюме в одно предложение для быстрых проверок релевантности.
- L1 (Overview) — основная информация и сценарии использования для планирования.
- L2 (Details) — полные исходные данные, читаются только по мере необходимости.
Бенчмарки: работает ли это
OpenViking 0.3.22 протестирован на долгой пользовательской памяти (LoCoMo) и многоходовых агентских задачах (tau2-bench).
Память пользователя (LoCoMo): со OpenViking все три интеграции агентов выходят на 80–83% точности — с 24–57% на собственной памяти, при этом входные токены падают на 34,3–91,0%, а задержка запроса на 58,45–66,10%.
| Провайдер | Native | С OpenViking |
|---|---|---|
| OpenClaw | 24,20% | 82,08% |
| Hermes | 33,38% | 82,86% |
| Claude Code | 57,21% | 80,32% |
Опыт агента (tau2-bench): память опыта поднимает успешность задач на +6,87 п.п. (retail) и +11,87 п.п. (airline) относительно того же LLM без памяти.
Быстрый старт
Требуется Python 3.10 или новее.
pip install openviking --upgrade
openviking-server init # интерактивный мастер: провайдеры, модели, ov.conf
openviking-server doctor # валидация установки
openviking-server # запуск
initпроводит по настройке провайдеров и пишет~/.openviking/ov.conf. Поддерживает Volcengine, OpenAI, Codex OAuth, Kimi, GLM и локальный Ollama.doctorпроверяет конфиг, версию Python, связь с провайдером и место на диске без запущенного сервера.- Клиент
ovвходит в установку:
ov status
ov add-resource https://github.com/volcengine/OpenViking
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
ov find "what is openviking"
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/en
Интеграция с вашим агентом
OpenViking встраивает recall в контекст агента и автоматически коммитит память сессии. Официальные интеграции:
- Claude Code, Codex, OpenClaw, Hermes
- Cursor, Trae, OpenCode, pi
- MCP-клиенты, LangChain / LangGraph
Отдельно доступен OpenViking Helper (beta, macOS/Windows) — десктопная консоль для визуальной настройки агентов, просмотра трасс сессий и управления локальными правилами и навыками. А VikingBot — агентский фреймворк поверх OpenViking:
pip install "openviking[bot]"
openviking-server --with-bot
ov chat # в отдельном терминале
Деплой и сервисы
- Для продакшена OpenViking запускается как автономный HTTP-сервис (есть Docker и Helm).
- OpenViking Personal — официально хостится, масштабируется за пределы локального железа с VikingDB, бесплатный триал на 50 файлов, есть миграция для open-source пользователей.
- Volcano Engine (регион Китая) — официальный хостинг; глобальный сервис на BytePlus и корпоративная редакция (BYOC) анонсированы.
Исследования и партнёрство
OpenViking открывает подмножество ядра из статьи VikingMem: A Memory Base Management System for Stateful LLM-based Applications (arXiv:2605.29640), принятой на VLDB 2026. Проект сотрудничает с другими open-source решениями: deer-flow, NoKV, loopx, Hermes Agent, heima.
Лицензия
Лицензии различаются по компонентам:
- Main project: AGPLv3
- crates/ov_cli: Apache 2.0
- examples: Apache 2.0
- third_party: собственные лицензии третьих сторон
OpenViking — способ заменить «чёрный ящик» контекста привычной файловой системой: детерминированный доступ, уровневые сокращение токенов и полная наблюдаемость. С проектом можно попробовать живое в OpenViking Studio без установки.
Источник: https://github.com/volcengine/OpenViking