目录

OpenViking:字节跳动开源的 19.6k Stars AI Agent 上下文数据库

OpenViking:字节跳动开源的 19.6k Stars AI Agent 上下文数据库

预计阅读时间:25 分钟 | 难度:⭐⭐⭐⭐


目标读者:构建 AI Agent、需要管理大量上下文的开发者 核心问题:如何让 AI Agent 高效管理记忆、资源和技能? 难度:⭐⭐⭐⭐(专家设计) 来源:GitHub volcengine/OpenViking,2026-03-28


一、项目概览

1.1 为什么这个项目值得关注

OpenViking 是字节跳动开源的 AI Agent 上下文数据库,采用「文件系统 paradigm」统一管理 AI Agent 的记忆(Memories)、资源(Resources)和技能(Skills)。

核心数据:

指标数值
GitHub Stars19.6k
Forks1.4k
LicenseApache-2.0
官方文档https://www.openviking.ai/
官方群飞书群 / 微信群 / Discord

1.2 背景故事

AI 时代,数据充足,但高质量上下文稀缺。

开发者在构建 AI Agent 时经常面临以下挑战:

挑战说明
上下文碎片化记忆在代码里,资源在向量数据库,技能分散,难以统一管理
上下文需求暴涨Agent 长任务在每次执行都产生上下文,简单截断或压缩会导致信息丢失
检索效果差传统 RAG 使用扁平存储,缺乏全局视角,难以理解信息全貌
上下文不可观测传统 RAG 的隐式检索链像黑盒,出错时难以调试
记忆迭代有限现有记忆只是用户交互记录,缺乏 Agent 相关任务记忆

1.3 OpenViking 的解决方案

OpenViking 用「文件系统 paradigm(范式)」统一管理 Agent 的记忆、资源和技能,解决上下文碎片化问题。

核心思路:「文件系统 paradigm(范式)」

传统方式OpenViking 方式
碎片化存储统一文件系统管理
简单截断L0/L1/L2 三层按需加载
扁平检索目录递归检索
黑盒检索可视化检索轨迹
被动记录自动会话管理

二、核心特性

2.1 文件系统管理范式

OpenViking 借鉴 Linux 文件系统的设计理念:

viking://
├── memories/          # 记忆
│   ├── sessions/      # 会话记忆
│   ├── long_term/     # 长期记忆
│   └── skills/        # 技能记忆
├── resources/         # 资源
│   ├── documents/     # 文档
│   ├── code/          # 代码
│   └── web/           # 网页
└── skills/            # 技能
    ├── builtin/       # 内置技能
    └── custom/        # 自定义技能

2.2 分层上下文加载(L0/L1/L2)

层级说明Token 消耗
L0核心上下文最低
L1扩展上下文中等
L2完整上下文最高

按需加载,显著节省成本。

2.3 目录递归检索

结合目录定位和语义搜索,实现递归精确的上下文获取。

2.4 可视化检索轨迹

支持目录检索轨迹可视化,清晰观察问题根因,指导检索逻辑优化。

2.5 自动会话管理

自动压缩对话中的内容、资源引用、工具调用等,提取长期记忆,让 Agent 越用越聪明。


三、技术架构

3.1 整体架构

┌─────────────────────────────────────────────────────────────┐
│                      Viking Gateway                         │
├─────────────────────────────────────────────────────────────┤
│   VikingFS (AGFS)  │  VikingDB  │  VikingBot  │  VikingCLI │
├─────────────────────────────────────────────────────────────┤
│   L0/L1/L2 Loader  │  RAG Engine  │  Memory Manager         │
├─────────────────────────────────────────────────────────────┤
│   VLM Provider  │  Embedding Provider  │  Vector Store       │
└─────────────────────────────────────────────────────────────┘

3.2 支持的模型提供商

VLM 模型提供商:

提供商说明API Key 获取
volcengine火山引擎豆包模型火山引擎控制台
openaiOpenAI 官方 APIOpenAI Platform
litellm统一访问多种第三方模型(Anthropic、DeepSeek、Gemini、vLLM、Ollama 等)见 LiteLLM 文档

Embedding 模型提供商:

提供商说明
volcengine豆包 Embedding
openaiOpenAI Embedding
jinaJina AI
voyageVoyage AI
minimaxMiniMax
vikingdbVikingDB
geminiGoogle Gemini

3.3 核心目录结构

openviking/
├── crates/
│   ├── ov_cli/         # CLI 工具
│   └── agfs/           # AGFS 文件系统
├── python/
│   └── openviking/     # Python SDK
├── docs/               # 文档
└── examples/           # 示例

四、快速开始

4.1 环境要求

工具要求
Python≥3.10
Go≥1.22(构建 AGFS 组件必需)
C++ 编译器GCC 9+ 或 Clang 11+(构建核心扩展必需)
操作系统Linux / macOS / Windows

4.2 安装

Python 包:

pip install openviking --upgrade --force-reinstall

CLI 工具:

# 方式一:安装脚本
curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/crates/ov_cli/install.sh | bash

# 方式二:从源码构建
cargo install --git https://github.com/volcengine/OpenViking ov_cli

4.3 配置

{
  "storage": {
    "workspace": "/home/your-name/openviking_workspace"
  },
  "embedding": {
    "api_base": "<api-endpoint>",
    "api_key": "<your-api-key>",
    "provider": "volcengine",
    "dimension": 1024,
    "model": "doubao-embedding-vision-250615"
  },
  "vlm": {
    "api_base": "<api-endpoint>",
    "api_key": "<your-api-key>",
    "provider": "volcengine",
    "model": "doubao-seed-2-0-pro-260215"
  }
}

4.4 启动服务

openviking-server
# 或后台运行
nohup openviking-server > /data/log/openviking.log 2>&1 &

4.5 基本操作

ov status                          # 查看状态
ov add-resource https://github.com/volcengine/OpenViking  # 添加资源
ov ls                              # 列出内容
ov tree viking://resources/        # 树形结构
ov find "what is openviking"      # 语义搜索
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/zh  # grep 搜索

4.6 使用 VikingBot

# 安装 VikingBot(推荐方式)
pip install "openviking[bot]"

# 启动带 Bot 的服务器
openviking-server --with-bot

# 在另一个终端启动交互式聊天
ov chat

五、与传统 RAG 对比

特性传统 RAGOpenViking
存储模型扁平向量存储文件系统范式
上下文组织碎片化统一分层管理
检索方式简单相似度匹配目录递归 + 语义检索
检索可观测性黑盒可视化轨迹
记忆迭代被动记录自动压缩 + 长期记忆提取
多模态支持有限VLM 深度集成

六、适用场景

场景说明
AI Agent 上下文管理为 Agent 提供统一的记忆、资源、技能管理
长对话总结自动压缩会话,提取关键信息
代码库理解目录递归检索,快速定位相关代码
知识库问答结合语义搜索和目录结构
多模态内容处理VLM 图像理解和内容提取

七、资源链接

资源链接
GitHubhttps://github.com/volcengine/OpenViking
官网https://www.openviking.ai/
文档https://www.openviking.ai/docs
Discordhttps://discord.com/invite/eHvx8E9XF3
X (Twitter)https://x.com/openvikingai

八、总结与展望

8.1 价值总结

OpenViking 用文件系统范式统一管理 Agent 的记忆、资源和技能,让开发者可以像管理本地文件一样管理 Agent 的上下文。

传统方式OpenViking 方式
碎片化存储统一文件系统 paradigm
被动记录主动压缩 + 长期记忆
黑盒检索可视化检索轨迹
简单匹配目录递归 + 语义检索

8.2 技术亮点

  1. 文件系统范式:用目录结构组织上下文
  2. 分层加载:L0/L1/L2 按需加载,显著节省 Token
  3. 递归检索:结合目录定位和语义搜索
  4. 多模型支持:支持 volcengine、OpenAI、LiteLLM 等多种提供商
  5. VikingBot:开箱即用的 AI Agent 框架

相关话题标签

#OpenViking #上下文数据库 #AI Agent #记忆管理 #RAG #字节跳动

来源

  • GitHub:https://github.com/volcengine/OpenViking

OpenViking 由字节跳动(Volcengine)开源,采用 Apache-2.0 许可证。