OpenViking — контекстная база данных для AI-агентов

· 2 мин чтения
memory ai-agents context-management context-engineering rag
📂 Исходный код на GitHub

Контекстная база данных для AI-агентов. Память, ресурсы и навыки объединены в одну виртуальную ФС под протоколом viking:// — агент работает с контекстом через ls, tree и find, а не через чёрный ящик векторного хранилища. Каждая запись обрабатывается в три уровня (L0 abstract, L1 overview, L2 details) и загружается по требованию; поиск рекурсивно спускается по каталогам и сохраняет наблюдаемую траекторию. Интеграции с Claude Code, Codex, OpenClaw, Cursor, OpenCode и MCP. AGPLv3.

OpenViking — контекстная база данных для AI-агентов

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