### OpenViking:AI 智能体的上下文数据库
[English](README.md) / 中文 / [日本語](README_JA.md)
官网 ·
在线体验 ·
GitHub ·
问题反馈 ·
文档
[](https://github.com/volcengine/OpenViking/releases)
[](https://github.com/volcengine/OpenViking)
[](https://github.com/volcengine/OpenViking/issues)
[](https://github.com/volcengine/OpenViking/graphs/contributors)
[](https://github.com/volcengine/OpenViking/blob/main/LICENSE)
[](https://github.com/volcengine/OpenViking/commits/main)
👋 加入我们的社区
📱
飞书群 ·
微信群 ·
Discord ·
X
***
## OpenViking 是什么
OpenViking 是面向 AI 智能体的开源上下文数据库。记忆、资源、技能统一存放在 `viking://` 协议下的虚拟文件系统里,智能体用 `ls`、`tree`、`find` 浏览自己的上下文,不必去查一个黑盒向量库。内容写入时会处理成三层——L0 摘要、L1 概览、L2 详情——按需加载。每次检索都留下轨迹,可以查看,也可以调试。完整介绍见[入门文档](https://docs.openviking.ai/zh/getting-started/01-introduction)。
[](https://openviking.ai/studio)
*[OpenViking Studio](https://openviking.ai/studio) 实验场——在线 Demo,打开浏览器就能试,无需安装。*
## 为什么用 OpenViking
- **一个文件系统装下所有上下文。** 记忆、资源、技能各有一个 `viking://` URI。智能体像开发者操作文件一样,确定地定位和操作上下文。→ [Viking URI](https://docs.openviking.ai/zh/concepts/04-viking-uri) · [上下文类型](https://docs.openviking.ai/zh/concepts/02-context-types)
- **分层加载省 token。** 每条内容写入时生成 L0(摘要)、L1(概览)、L2(详情)三层,任务需要多深就加载多深。→ [上下文分层](https://docs.openviking.ai/zh/concepts/03-context-layers)
- **目录递归检索。** 向量检索先定位得分最高的目录,再逐层向下探索,结果连同周边上下文一起返回。→ [检索机制](https://docs.openviking.ai/zh/concepts/07-retrieval)
- **检索过程可观察。** 每次查询都保留目录浏览轨迹。结果不对时,能看到它出自哪条路径。→ [检索机制](https://docs.openviking.ai/zh/concepts/07-retrieval)
- **会话沉淀为记忆。** 会话提交后,OpenViking 异步提取用户偏好和智能体经验,写入长期记忆。→ [会话管理](https://docs.openviking.ai/zh/concepts/08-session)
各部分如何配合:见[架构](https://docs.openviking.ai/zh/concepts/01-architecture)。设计思路:[The Database Paradigm for Context Engineering](https://blog.openviking.ai/post/openviking-context-database/)(页内可切换中文)。
```
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 # L0:约 100 tokens——快速判断相关性
├── .overview # L1:约 2k tokens——结构和要点
└── docs/
├── .abstract
├── .overview
└── api/
├── auth.md # L2:完整内容,按需加载
└── endpoints.md
```
## 评测结果
OpenViking 0.3.22 的评测覆盖长对话用户记忆(LoCoMo)和多轮智能体任务(tau2-bench)。完整结果和实验设置(含知识库问答)见[评测报告](https://blog.openviking.ai/post/openviking-benchmark-results/),复现脚本在 [./benchmark](./benchmark)。