OpenViking — это контекстная база данных с открытым исходным кодом для ИИ-агентов. Она даёт агентам место для хранения знаний, запоминания пользователей и повторного использования опыта между сессиями.
OpenViking организует контекст в виде виртуальной файловой системы по протоколу viking://. Агенты работают с ней как с обычными файлами: используют команды ls, tree, read и write для навигации по директориям, чтения, создания и редактирования содержимого, а также поиска внутри директории. Сводки директорий поддерживают загрузку по требованию.
Попробуйте 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 берёт на себя хостинг и эксплуатацию OpenViking. Планы Personal и Enterprise охватывают индивидуальное и командное использование; предусмотрены инструменты миграции для развёртываний на базе открытого кода. Подробнее о тарифах и ограничениях — в документации сервиса. Хостинг за пределами Китая планируется через BytePlus.
🏢 Самостоятельное развёртывание (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.
Сообщество и участие в разработке
-
Документация: docs.openviking.ai · FAQ
-
Блог: blog.openviking.ai
-
Команда: О нас
-
Общение: 📱 Lark Group · 💬 WeChat · 🎮 Discord · 🐦 X
-
Вклад в проект: приветствуются как исправления ошибок, так и новые возможности — см. CONTRIBUTING.md
Безопасность и конфиденциальность
Информация о сообщении уязвимостей и поддерживаемых версиях — в файле SECURITY.md.
Лицензия
В проекте OpenViking используются разные лицензии для разных компонентов: