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

Логотип OpenViking

OpenViking — это контекстная база данных с открытым исходным кодом для ИИ-агентов. Она даёт агентам место для хранения знаний, запоминания пользователей и повторного использования опыта между сессиями.

OpenViking организует контекст в виде виртуальной файловой системы по протоколу viking://. Агенты работают с ней как с обычными файлами: используют команды ls, tree, read и write для навигации по директориям, чтения, создания и редактирования содержимого, а также поиска внутри директории. Сводки директорий поддерживают загрузку по требованию.

OpenViking Studio: просмотр контекста и семантический поиск

Попробуйте OpenViking Studio прямо в браузере — установка не требуется. Самостоятельное развёртывание Web Studio.

Зачем нужен OpenViking

  • Единая файловая система для всего контекста. Ресурсы хранят документы и код; воспоминания — предпочтения пользователей и накопленный опыт; навыки описывают, как выполнять задачи. Каждый элемент доступен по URI viking:// для навигации и поиска. → Viking URI · Типы контекста

  • Загружайте только нужный контекст. Абстракции директорий (L0) и обзоры (L1) помогают агентам решить, когда следует читать полное содержимое (L2). → Уровни контекста

  • Поиск внутри структуры директорий. Векторный поиск находит подходящие директории, а затем исследует их содержимое. Команда find выполняет запрос напрямую; search может использовать контекст сессии для планирования извлечения данных. → Поиск и извлечение

  • Превращайте сессии в воспоминания. При фиксации сессии разговор архивируется и запускается фоновое извлечение данных. Политики памяти управляют тем, что сохраняется; новые кандидаты сравниваются с уже существующими воспоминаниями — они могут быть созданы, объединены или пропущены. Если включён VikingBot, команда ov compile применяет навык для структурирования исходных материалов в вики, граф знаний или отчёт. → Сессии · Компиляция контекста

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 (Обзор): ключевая информация и сценарии использования для планирования.

  • L2 (Детали): полные исходные данные, загружаются только при необходимости.

Семантически обработанные директории содержат сводки L0/L1, поэтому агенты могут оценить релевантность ещё до чтения полных файлов:

viking://resources/my_project/
├── .abstract.md           # L0: быстрая проверка релевантности
├── .overview.md           # L1: структура и ключевые моменты
└── docs/
    ├── .abstract.md
    ├── .overview.md
    └── api/
        ├── auth.md         # L2: полное содержимое, загружается по требованию
        └── endpoints.md

Доказательства работоспособности

OpenViking 0.3.22 прошёл оценку на задачах долговременной памяти в диалогах (LoCoMo) и многоходовых задачах агентов (tau2-bench). Полные результаты и подробности настройки, включая тесты на ответах по базе знаний, представлены в отчёте о бенчмарках; скрипты для воспроизведения — в директории ./benchmark.

В тестировании памяти использовались Doubao 2.0 Pro в качестве VLM и Doubao-embedding-vision-251215 в качестве модели эмбеддингов.

  • Память о пользователе (LoCoMo): с OpenViking все три варианта интеграции агентов достигают точности 80–83% — по сравнению с 24–57% при использовании собственной памяти — при этом число входных токенов сокращается на 34,3–91,0%, а задержка запросов — на 58,45–66,10%.

  • Опыт агента (tau2-bench): память о накопленном опыте повышает успешность выполнения задач на +6,87 п.п. (розничная торговля) и +11,87 п.п. (авиаперевозки) по сравнению с тем же LLM без памяти.

Быстрый старт

Требуется Python 3.10+ и доступ к модели эмбеддингов и VLM (облачной или локальной).

pip install openviking --upgrade
openviking-server init      # настроить провайдеров и модели
openviking-server doctor    # проверить конфигурацию и подключение
openviking-server           # запустить сервер

Команда init создаёт файл ~/.openviking/ov.conf. Поддерживаются: Volcengine, OpenAI, Codex OAuth, Kimi, GLM и локальный Ollama. Подробнее о настройке провайдеров — в руководстве по конфигурации, инструкции для конкретных платформ — в документации по быстрому старту.

В состав пакета входит CLI-утилита ov. В отдельном терминале импортируйте репозиторий и выполните поиск:

ov status
ov add-resource https://github.com/volcengine/OpenViking
# Замените TASK_ID на возвращённый task_id; повторяйте до статуса completed
ov task status TASK_ID
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

Команда ov find возвращает подходящий контекст с URI, которые можно просмотреть подробнее. Сведения о конфигурации клиента (ov config), автономной установке CLI и обслуживании индекса — в разделе настройки CLI.

Создайте собственную интеграцию с помощью SDK для Python, Go или TypeScript, либо через HTTP API.

Интеграция с агентом

Подключите своего агента к OpenViking для хранения памяти между сессиями. Выберите нативную интеграцию для автоматического вспоминания и захвата сессий или используйте MCP, чтобы предоставить агенту инструменты памяти и работы с контекстом.

Поддерживаемые интеграции включают: Claude (Hooks + MCP), Codex (Hooks + MCP), Cursor (Hooks + MCP), TRAE (Hooks + MCP), OpenClaw (движок контекста), Hermes (встроенная интеграция), OpenCode (Plugin + MCP), pi (нативное расширение), DeerFlow (Plugin + MCP), DSH (Plugin + MCP), Doubao Work (коннектор), LangChain (инструменты + хранилище).

Универсальные интеграции: Agent Plugins 1.0 · MCP-клиенты.

Инструкции по настройке и подробности интеграции — на странице Интеграции.

Настольное приложение (бета)

Настольное приложение — это консоль для macOS и Windows x64 (бета-версия). Оно настраивает поддерживаемые локальные интеграции агентов, отображает события вспоминания и захвата в сессиях, а также синхронизирует локальные воспоминания и навыки с OpenViking.

Загрузка:

VikingBot

VikingBot — это фреймворк ИИ-агентов, построенный на основе OpenViking:

pip install "openviking[bot]"
openviking-server --with-bot
ov chat   # в другом терминале

Официальный образ Docker включает VikingBot и запускает его по умолчанию вместе с сервером и консольным UI. Подробности — в руководстве по VikingBot.

Развёртывание в продакшене

Запустите сервер с открытым исходным кодом в собственной среде под лицензией AGPLv3. Ключ активации не требуется. Начните с настройки сервера или руководства по Docker и развёртыванию.

Сервер поддерживает учётные записи и изоляцию пользователей, а также опциональные списки управления доступом (ACL) для ресурсов. Прежде чем открывать доступ извне localhost, настройте аутентификацию.

Коммерческие редакции

Управляемый SaaS от Volcano Engine

☁️ Управляемый SaaS

Volcano Engine берёт на себя хостинг и эксплуатацию OpenViking. Планы Personal и Enterprise охватывают индивидуальное и командное использование; предусмотрены инструменты миграции для развёртываний на базе открытого кода. Подробнее о тарифах и ограничениях — в документации сервиса. Хостинг за пределами Китая планируется через BytePlus.

Самостоятельное развёртывание OpenViking

🏢 Самостоятельное развёртывание (Self-Managed)

Развёртывание в собственном облачном аккаунте / VPC (BYOC) или в изолированной среде без доступа к интернету. Эта редакция добавляет распределённое развёртывание и официальную поддержку, активируемые лицензионным ключом. Свяжитесь с командой.

Научные исследования

Память, развивающаяся вместе с агентом. VikingMem предлагает событийно-ориентированный подход к извлечению, обновлению и консолидации долговременной памяти, давая агентам с состоянием возможность сохранять полезный опыт по мере накопления взаимодействий. OpenViking открывает часть этих ключевых возможностей.

VikingMem: A Memory Base Management System for Stateful LLM-based Applications
Jiajie Fu, Junwen Chen, Mengzhao Wang, Aoxiang He, Maojia Sheng, Xiangyu Ke, Yifan Zhu и Yunjun Gao.
arXiv:2605.29640, 2026. Представлено на VLDB 2026 в сентябре.
📄 Читать статью на arXiv · Читать PDF

Структура директорий как контекст для поиска. Эта статья обеспечивает формальную основу, описывает дизайн индексов и экспериментальные доказательства, лежащие в основе поиска с учётом директорий в OpenViking. В ней определены операции запроса и обслуживания в рамках директории и представлен алгоритм TrieHI, интегрированный в OpenViking для определения области видимости директорий перед векторным ранжированием. Это связывает парадигму файловой системы с поиском: агенты могут искать по поддереву проекта или памяти, сохраняя окружающий контекст и реорганизуя его по мере развития знаний.

Directory-Aware Query and Maintenance in Vector Databases
Mengzhao Wang, Zheng Gong, Jingpei Hu, Jiajie Fu, Maojia Sheng, Junwen Chen и Yifan Zhu.
arXiv:2606.16903, 2026. Принято на ICDE.
📄 Читать статью на arXiv · Читать PDF

Извлечение нужных данных с меньшим числом токенов. VikingRAG сочетает семантический поиск со структурой документа, открывая релевантные фрагменты директорий по мере возникновения информационных пробелов. Его основные механизмы интегрированы в OpenViking. В статье также исследуются повторное использование трасс поиска и переход к многоходовому поиску только при необходимости — это сокращает повторные итерации и сохраняет качество ответов.

VikingRAG: Accurate and Token-efficient Retrieval-augmented Generation over Structured Documents
Peiyuan Gao, Gaoyuan Zhang, Haojie Qin, Yahui Sun, Qianyi Zhang, Yunhao Zhang, Zeyu Wang и Wei Lu.
arXiv:2609.11390, 2026. Отправлено на рецензию.
📄 Читать статью на arXiv · Читать PDF

Партнёрские проекты

  • deer-flow — открытый фреймворк суперагента для задач с длинным горизонтом планирования

  • NoKV — нативная для ИИ распределённая файловая система

  • loopx — лёгкое ядро инженерного состояния для циклических процессов

  • Hermes Agent — агент, растущий вместе с вами

Чтобы предложить партнёрство, создайте issue.

Сообщество и участие в разработке

Безопасность и конфиденциальность

Информация о сообщении уязвимостей и поддерживаемых версиях — в файле SECURITY.md.

Лицензия

В проекте OpenViking используются разные лицензии для разных компонентов:

  • Основной проект: AGPLv3 — подробности в файле LICENSE

  • crates/ov_cli: Apache 2.0 — подробности в файле LICENSE

  • examples: Apache 2.0 — подробности в файле LICENSE

  • third_party: соответствующие оригинальные лицензии сторонних проектов

© 2026 meganuke