跳到主要内容
项目档案库 / SDK

OpenViking 开源上下文数据库:面向 AI Agent 的文件系统范式记忆管理方案与安装使用指南

OpenViking 是火山引擎开源的 AI Agent 上下文数据库,采用文件系统范式统一管理记忆、资源和技能。了解其如何解决上下文碎片化、提升检索效果,并获取 Python 安装、API 使用及部署的完整指南。

38,089PythonStar 于 2026年3月22日2026年9月19日 更新

AI 总结

OpenViking 是一个面向 AI Agent 的上下文数据库,通过文件系统范式统一管理记忆、资源和技能,解决上下文碎片化、检索效果差、不可观测等核心挑战,实现层次化上下文传递与自我演进。

中文项目介绍

OpenViking 是由字节跳动火山引擎开源的面向 AI Agent 的上下文数据库,旨在解决 Agent 开发中上下文管理的核心挑战。它摒弃了传统 RAG 的碎片化向量存储模型,创新性地采用文件系统范式,将记忆、资源和技能统一为结构化的上下文对象,使开发者能够像管理本地文件一样构建 Agent 的"大脑"。 项目针对性地解决了五大挑战:上下文碎片化(记忆、资源、技能分散管理)、上下文需求激增(长任务产生大量上下文导致信息丢失)、检索效果不佳(传统 RAG 缺乏全局视图)、上下文不可观测(检索链如同黑盒难以调试)、记忆迭代有限(缺乏任务相关记忆提取)。通过三层上下文结构(L0/L1/L2)按需加载,显著降低 token 消耗;目录递归检索结合语义搜索,提升检索精确度;可视化检索轨迹使调试成为可能;自动会话管理实现上下文压缩与长期记忆提取。 OpenViking 适用于 AI Agent 的长期记忆管理、多源异构资源的统一组织与检索、技能库的版本化存储与按需加载、以及会话上下文的压缩与迭代。技术层面提供 Embedded、HTTP、CLI 三种连接模式,支持通过 abstract()、overview()、read()、write() 等文件系统 API 操作上下文,具备技能动态添加、会话跟踪、find/search 双检索模式等能力。项目采用 Python 为主、Rust 为辅的多语言架构,支持 Linux/macOS/Windows 平台。

详细信息与使用说明

1. 项目定位与用途

OpenViking 是火山引擎开源的面向 AI Agent 的上下文数据库,定位为 Agent-native 的上下文管理基础设施。其核心用途是通过文件系统范式统一管理 Agent 运行所需的记忆(memory)、资源(resources)和技能(skills),将分散的上下文元素整合为可层次化组织、按需加载的结构化数据。开发者可以像操作本地文件系统一样管理 Agent 的"大脑",无需再为上下文碎片化问题头疼。项目采用多语言架构(Python 主包 + Rust 核心扩展),提供 Embedded、HTTP、CLI 三种连接模式,适用于从单机开发到分布式部署的各种场景。

2. 解决的核心问题

OpenViking 针对 AI Agent 开发中的五大痛点提供解决方案:一是上下文碎片化,将记忆、资源、技能从代码、向量库、 scattered 文件中统一到文件系统范式;二是上下文需求激增,通过 L0/L1/L2 三层结构按需加载,避免简单截断导致的信息丢失;三是检索效果差,采用目录递归检索结合语义搜索,提供全局视图和精确上下文获取;四是上下文不可观测,支持可视化检索轨迹,清晰展示检索路径便于调试;五是记忆迭代有限,自动会话管理实现上下文压缩、资源引用和工具调用记录,并提取长期记忆使 Agent 越用越聪明。

3. 适用场景

OpenViking 主要适用于以下场景:AI Agent 的长期记忆与上下文管理,特别是需要跨越多个会话保持连贯性的对话系统;多源异构资源的统一组织与检索,包括文档、网页、数据库记录等;技能库的版本化存储与按需加载,支持 Agent 动态扩展能力;会话上下文压缩与长期记忆提取,降低 LLM 调用成本的同时保留关键信息;需要可观测检索过程的调试与优化场景;以及 openclaw 等 Agent 框架的上下文后端。项目特别适合构建需要深度记忆、复杂技能组合和高效资源检索的生产级 AI Agent 应用。

4. 安装方式

OpenViking 的安装需满足前置环境要求:Python 3.10 或更高版本,Go 1.22+(用于构建 AGFS 组件),GCC 9+ 或 Clang 11+(用于构建核心扩展),以及稳定的网络连接。主要安装方式为通过 pip 安装 Python 包:执行 pip install openviking --upgrade --force-reinstall。此外,项目还提供 Rust CLI 工具(具体安装命令在 README 中给出),以及 Docker 容器化部署方案(见 bot/deploy/docker 目录)。Windows 用户需确保构建工具链可用,或优先考虑 WSL2 环境。安装后可通过 ov --help 验证 CLI 工具是否可用。

5. 使用方式

使用 OpenViking 的核心是理解其文件系统范式:上下文以目录树形式组织,L0 为摘要、L1 为概览、L2 为全文,通过 abstract()、overview()、read()、write() 等 API 操作。典型流程包括:1)初始化连接(Embedded/HTTP/CLI 模式);2)创建会话(sessions.create)跟踪对话状态;3)写入上下文(write)存储记忆、资源和技能;4)检索上下文(find/search)获取相关信息;5)自动会话管理会压缩历史并提取长期记忆。开发者可参考 bot/vikingbot 目录下的示例代码,或查阅 docs/en/api/ 系列文档了解详细 API 用法。检索时推荐组合使用目录定位(find)与语义搜索(search)以兼顾精确性与召回率。

6. 实现特点与架构

OpenViking 在实现上具有几个关键特点:采用记忆模板化机制,支持自定义记忆类型而无需修改核心代码,采用 ReAct 模式进行记忆更新;使用语义化文件名替代随机 ID,提升导航价值;借鉴商业化记忆库实现 patch 增量更新机制,减少 LLM 调用。架构上分为 Python 层(提供 API、FastAPI 服务、文件解析器)和 Rust 层(核心存储引擎 AGFS),通过 pyo3 绑定交互。项目支持多租户设计(见 docs/design/multi-tenant-design.md),具备完善的评估基准(benchmark/ 目录包含 RAG、locomo、skillsbench 等测试套件)。当前版本为 Alpha 阶段,许可证为 AGPL-3.0。

思维导图

OpenViking
核心能力
文件系统范式
三层上下文(L0/L1/L2)
目录递归检索
可视化检索轨迹
自动会话管理
连接模式
Embedded 嵌入式
HTTP 服务端
CLI 命令行
上下文管理
记忆(Memory)
资源(Resources)
技能(Skills)
会话(Sessions)
检索机制
find 目录定位
search 语义搜索
查询扩展
意图分析
部署与集成
Docker 容器
K8s 集群
openclaw 插件
MCP 工具支持
技术栈
Python 主包
Rust 核心引擎
FastAPI 服务
AGFS 存储

常见问题

OpenViking 是什么?主要面向哪些用户?

OpenViking 是一个面向 AI Agent 的上下文数据库,通过文件系统范式统一管理记忆、资源和技能。主要面向 AI Agent 开发者、LLM 应用构建者以及需要长期记忆和复杂上下文管理的对话系统设计者,帮助其解决上下文碎片化、检索效果差等核心痛点。

与传统 RAG 系统相比,OpenViking 有哪些优势?

相比传统 RAG,OpenViking 采用文件系统范式而非碎片化向量存储,提供层次化上下文结构(L0/L1/L2)按需加载以节省 token;支持目录递归检索结合语义搜索,提升精确度;可视化检索轨迹使过程可观测;自动会话管理实现上下文压缩与长期记忆提取,使 Agent 具备自我演进能力。

如何安装和快速开始使用 OpenViking?

安装需满足 Python 3.10+、Go 1.22+(构建 AGFS)、GCC/Clang 等环境要求。主要方式为 pip install openviking --upgrade --force-reinstall。快速开始包括:选择连接模式(Embedded/HTTP/CLI)、创建会话、使用 write API 写入上下文、通过 find/search 检索。详细步骤参考 README 和 docs/en/api/ 系列文档。

OpenViking 支持哪些 Agent 框架或工具的集成?

从仓库结构可见,OpenViking 已与 openclaw 深度集成(bot/vikingbot 目录包含完整示例),并支持 MCP(Model Context Protocol)工具格式的技能添加。项目设计上通过标准 API 和文件系统接口,可灵活接入各类 Agent 框架。具体集成方案需参考 docs/design/openclaw-integration.md 及相关插件文档。

OpenViking 是否支持多租户?数据如何隔离?

仓库中包含 docs/design/multi-tenant-design.md 专门阐述多租户设计方案,表明项目已考虑多租户场景。但具体实现细节(如租户标识、数据隔离机制、配额管理)在当前 README 中未完全公开,需查阅设计文档或源码中的多租户模块了解完整方案。