ghcr.io/volcengine/openviking

ghcr.io/volcengine/openviking:v0.4.1.dev0

ghcr.iolinux/amd64v0.4.1.dev0大小: 320.00 MB更新于 2026年6月21日
让 AI 帮你使用轩辕镜像?

如果你使用 DeepSeek元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AIDeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

OpenViking:AI智能体的上下文数据库

英文 / 中文 / 日本語

网站 · GitHub · 问题反馈 · 文档

👋 加入我们的社区

📱 飞书群 · 微信 · *** · X


2026年5月更新:更新了OpenViking在用户记忆、智能体记忆和知识库问答场景下的基准测试结果。→ 参见评估亮点。

概述

智能体开发中的挑战

在AI时代,数据丰富但高质量上下文稀缺。构建AI智能体时,开发者常面临以下挑战:

  • 上下文碎片化:记忆存储在代码中,资源位于向量数据库,技能分散各处,难以统一管理。
  • 上下文需求激增:智能体的长期任务在每次执行时都会产生上下文。简单的截断或压缩会导致信息丢失。
  • 检索效果不佳:传统RAG采用扁平存储,缺乏全局视角,难以理解信息的完整上下文。
  • 上下文不可观测:传统RAG的隐式检索链如同黑盒,发生错误时难以调试。
  • 记忆迭代受限:当前记忆仅记录用户交互,缺乏与智能体相关的任务记忆。

OpenViking解决方案

OpenViking是一个专为AI智能体设计的开源上下文数据库

我们旨在为智能体定义极简的上下文交互范式,让开发者彻底告别上下文管理的繁琐。OpenViking摒弃了传统RAG的碎片化向量存储模型,创新采用**“文件系统范式”**来统一智能体所需的记忆、资源和技能的结构化组织。

借助OpenViking,开发者可以像管理本地文件一样构建智能体的“大脑”:

  • 文件系统管理范式解决碎片化问题:基于文件系统范式统一管理记忆、资源和技能的上下文。
  • 分层上下文加载降低Token消耗:L0/L1/L2三层结构,按需加载,大幅节省成本。
  • 目录递归检索提升检索效果:支持原生文件系统检索方式,结合目录定位与语义搜索,实现递归精准的上下文获取。
  • 检索轨迹可视化上下文可观测:支持目录检索轨迹可视化,让用户清晰观察问题根源,指导检索逻辑优化。
  • 会话自动管理上下文自迭代:自动压缩对话中的内容、资源引用、工具调用等,提取长期记忆,让智能体越用越聪明。

快速开始

本地部署

前提条件

开始使用OpenViking前,请确保您的环境满足以下要求:

  • Python版本:3.10或更高
  • Rust工具链:Cargo(从源码构建RAGFS和CLI组件时需要)
  • C++编译器:GCC 9+或Clang 11+(构建核心扩展时需要)
  • 操作系统:Linux、macOS、Windows
  • 网络连接:需要稳定的网络连接(用于下载依赖和访问模型服务)

1. 安装

Python包

pip install openviking --upgrade --force-reinstall

Rust CLI(可选)

npm i -g @openviking/cli

或从源码构建:

cargo install --git https://github.com/volcengine/OpenViking ov_cli

2. 模型准备

OpenViking需要以下模型能力:

  • VLM模型:用于图像和内容理解
  • 嵌入模型:用于向量化和语义检索

支持的VLM提供商

OpenViking支持多个VLM提供商:

提供商说明配置 --------------------------------------------------------------------------------------------------------------------------------------------------
volcengine火山引擎豆包模型https://console.volcengine.com/ark/region:ark+cn-beijing/overview?briefPage=0%5C&briefType=introduce%5C&type=new%5C&utm_content=OpenViking%5C&utm_medium=devrel%5C&utm_source=OWO%5C&utm_term=OpenViking
openaiOpenAI官方APIhttps://platform.openai.com
openai-codexCodex VLM使用 openviking-server init
kimiKimi Code会员服务使用 openviking-server init
glmGLM Coding计划使用 openviking-server init

提供商特定说明

火山引擎(豆包)

火山引擎支持模型名称和端点ID。为简单起见,建议使用模型名称:

{
"vlm": {
"provider": "volcengine",
"model": "doubao-seed-2-0-pro-260215",
"api_key": "your-api-key",
"api_base": "https://ark.cn-beijing.volces.com/api/v3"
}
}

您也可以使用端点ID(可在https://console.volcengine.com/ark/region:ark+cn-beijing/overview?briefPage=0%5C&briefType=introduce%5C&type=new%5C&utm_content=OpenViking%5C&utm_medium=devrel%5C&utm_source=OWO%5C&utm_term=OpenViking%E4%B8%AD%E6%89%BE%E5%88%B0%EF%BC%89%EF%BC%9A

{
"vlm": {
"provider": "volcengine",
"model": "ep-20241220174930-xxxxx",
"api_key": "your-api-key",
"api_base": "https://ark.cn-beijing.volces.com/api/v3"
}
}

OpenAI

使用OpenAI官方API:

{
"vlm": {
"provider": "openai",
"model": "gpt-4o",
"api_key": "your-api-key",
"api_base": "https://api.openai.com/v1"
}
}

您也可以使用自定义的OpenAI兼容端点:

{
"vlm": {
"provider": "openai",
"model": "gpt-4o",
"api_key": "your-api-key",
"api_base": "https://your-custom-endpoint.com/v1"
}
}

OpenAI Codex(OAuth)

当您希望OpenViking通过您的***/Codex OAuth会话而非标准OpenAI API密钥调用Codex VLM时,使用此提供商:

openviking-server init
# 出现提示时选择OpenAI Codex
openviking-server doctor
{
"vlm": {
"provider": "openai-codex",
"model": "gpt-5.3-codex",
"api_base": "https://chatgpt.com/backend-api/codex",
"temperature": 0.0,
"max_retries": 2
}
}

[!NOTE] 提示

  • 当Codex OAuth可用时,openai-codex不需要vlm.api_key
  • OpenViking将自己的Codex认证状态存储在~/.openviking/codex_auth.json
  • openviking-server doctor会验证当前Codex认证是否可用

Kimi Coding(订阅)

当您希望OpenViking直接调用专用的Kimi Coding订阅端点时,使用此提供商:

openviking-server init
# 出现提示时选择Kimi Coding
openviking-server doctor

3. 环境配置

本地模型快速设置(Ollama)

如果您希望通过 Ollama 使用本地模型运行 OpenViking,交互式设置向导会自动处理所有事项:

openviking-server init

向导将:

  • 检测并在需要时安装 Ollama
  • 根据您的硬件推荐并拉取合适的嵌入模型和 VLM 模型
  • 生成可直接使用的 ov.conf 配置文件

随时验证您的设置:

openviking-server doctor

doctor 会检查本地先决条件(配置文件、Python 版本、嵌入/VLM 提供商连接性、磁盘空间),无需运行服务器。

对于云 API 提供商(Volcengine、OpenAI、Gemini 等),请继续以下手动配置。

服务器配置模板

推荐的首次使用流程为:

openviking-server init
openviking-server doctor

如果在 openviking-server init 中选择 OpenAI Codex,向导可以导入现有的 Codex 认证信息或为您启动 Codex 登录流程。

如果您倾向于手动配置,请创建 ~/.openviking/ov.conf,复制前移除注释:

{
"storage": {
"workspace": "/home/your-name/openviking_workspace"
},
"log": {
"level": "INFO",
"output": "stdout" // 日志输出:"stdout" 或 "file"
},
"embedding": {
"dense": {
"api_base" : " ", // API 端点地址
"api_key" : " ", // 模型服务 API 密钥
"provider" : " ", // 提供商类型:"volcengine" 或 "openai"(当前支持)
"dimension": 1024, // 向量维度
"model" : " " // 嵌入模型名称(例如:doubao-embedding-vision-251215 或 text-embedding-3-large)
},
"max_concurrent": 10, // 最大并发嵌入请求数(默认:10)
"text_source": "content_only", // 文本文件向量化来源:content_only|summary_first|summary_only
"max_input_tokens": 4096 // 发送至嵌入模型的原始文本预估最大 tokens 数
},
"vlm": {
"api_base" : " ", // API 端点地址
"api_key" : " ", // 模型服务 API 密钥(openai-codex 可选)
"provider" : " ", // 提供商类型(volcengine、openai、openai-codex、kimi、glm 等)
"model" : " ", // VLM 模型名称(例如:doubao-seed-2-0-pro-260215 或 gpt-4-vision-preview)
"max_concurrent": 64 // 语义处理的最大并发 LLM 调用数(默认:64)
}
}

[!NOTE] 对于嵌入模型,支持的提供商包括 volcengine(豆包)、openaiazurejinaollamavoyagedashscopeminimaxcoherevikingdbgemini(需安装 pip install "google-genai>=1.0.0")、litellmlocal。对于 VLM 模型,常见提供商包括 volcengineopenaiopenai-codexkimiglm

服务器配置示例

👇 展开查看您的模型服务对应的配置示例:

示例 1:使用 Volcengine(豆包模型)

{
"storage": {
"workspace": "/home/your-name/openviking_workspace"
},
"log": {
"level": "INFO",
"output": "stdout" // 日志输出:"stdout" 或 "file"
},
"embedding": {
"dense": {
"api_base" : "https://ark.cn-beijing.volces.com/api/v3",
"api_key" : "your-volcengine-api-key",
"provider" : "volcengine",
"dimension": 1024,
"model" : "doubao-embedding-vision-251215"
},
"max_concurrent": 10
},
"vlm": {
"api_base" : "https://ark.cn-beijing.volces.com/api/v3",
"api_key" : "your-volcengine-api-key",
"provider" : "volcengine",
"model" : "doubao-seed-2-0-pro-260215",
"max_concurrent": 64
}
}

示例 2:使用 OpenAI 模型

{
"storage": {
"workspace": "/home/your-name/openviking_workspace"
},
"log": {
"level": "INFO",
"output": "stdout" // 日志输出:"stdout" 或 "file"
},
"embedding": {
"dense": {
"api_base" : "https://api.openai.com/v1",
"api_key" : "your-openai-api-key",
"provider" : "openai",
"dimension": 3072,
"model" : "text-embedding-3-large"
},
"max_concurrent": 10
},
"vlm": {
"api_base" : "https://api.openai.com/v1",
"api_key" : "your-openai-api-key",
"provider" : "openai",
"model" : "gpt-4-vision-preview",
"max_concurrent": 64
}
}

示例 3:使用 Google Gemini 嵌入

首先安装所需包:

pip install "google-genai>=1.0.0"
{
"storage": {
"workspace": "/home/your-name/openviking_workspace"
},
"embedding": {
"dense": {
"provider": "gemini",
"api_key": "your-google-api-key",
"model": "gemini-embedding-2-preview",
"dimension": 3072
},
"max_concurrent": 10
},
"vlm": {
"api_base" : "https://api.openai.com/v1",
"api_key" : "your-openai-api-key",
"provider" : "openai",
"model" : "gpt-4o",
"max_concurrent": 64
}
}

获取 Google API 密钥的地址:

示例 4:使用 Volcengine 嵌入 + Codex VLM

使用 openviking-server init 并选择 OpenAI Codex,然后运行 openviking-server doctor

{
"storage": {
"workspace": "/home/your-name/openviking_workspace"
},
"embedding": {
"dense": {
"api_base" : "https://ark.cn-beijing.volces.com/api/v3",
"api_key" : "your-volcengine-api-key",
"provider" : "volcengine",
"dimension": 1024,
"model" : "doubao-embedding-vision-251215"
}
},
"vlm": {
"api_base" : "https://chatgpt.com/backend-api/codex",
"provider" : "openai-codex",
"model" : "gpt-5.3-codex",
"max_concurrent": 64
}
}

设置服务器配置环境变量

创建配置文件后,设置环境变量以指向该文件(Linux/macOS):

export OPENVIKING_CONFIG_FILE=~/.openviking/ov.conf # 默认路径

在 Windows 上,使用以下命令之一:

PowerShell:

$env:OPENVIKING_CONFIG_FILE = "$HOME/.openviking/ov.conf"

命令提示符(cmd.exe):

set "OPENVIKING_CONFIG_FILE=%USERPROFILE%\.openviking\ov.conf"

💡 提示:您也可以将配置文件放在其他位置,只需在环境变量中指定正确路径即可。

商业版本访问

OpenViking Personal 现已正式发布。与开源版本相比,商业服务版具备官方托管、即开即用的特点,借助 VikingDB,其扩展能力远超本地硬件,并提供更丰富的集成以及专业支持。商业版本包含最多 50 个文件的免费试用,现有开源用户可通过我们的迁移工具平滑过渡。

4. Visualized Retrieval Trajectory → 可观测的上下文

OpenViking 的组织采用分层虚拟文件系统结构。所有上下文均以统一格式整合,每个条目对应唯一 URI(如 viking:// 路径),打破了传统的扁平化黑盒管理模式,具有易于理解的清晰层级结构。

检索过程采用目录递归策略。每次检索的目录浏览和文件定位轨迹均被完整保留,使用户能够清晰观察问题根源并指导检索逻辑的优化。了解更多:检索机制

  • 为我们点亮宝贵的 星标(Star),给予我们前进的动力。
  • 访问我们的 官网 了解我们所传递的理念,并通过 文档 将其应用到您的项目中。感受它带来的改变,并将您最真实的体验反馈给我们。
  • 加入我们的社区,分享您的见解,帮助解答他人的问题,共同营造开放互助的技术氛围:
  • 📱 Lark Group:扫描加入 → 查看
  • 💬 WeChat Group:扫描添加助手 → 查看
  • 🎮 *****:加入*服务器
  • 🐦 X (*)**:关注我们
  • 成为 贡献者(Contributor),无论是提交错误修复还是贡献新功能,您的每一行代码都将是OpenViking成长的重要基石。

让我们共同定义并构建AI Agent上下文管理的未来。征程已启,期待您的参与!

Star Trend

安全性与隐私

本项目高度重视安全性。 有关漏洞报告和支持的版本,请参见 SECURITY.md

许可证

OpenViking项目的不同组件使用不同的许可证:

  • 主项目(Main Project):AGPLv3 - 详情参见 LICENSE 文件
  • crates/ov_cli:Apache 2.0 - 详情参见 LICENSE
  • 示例(examples):Apache 2.0 - 详情参见 LICENSE
  • 第三方(third_party):各第三方项目各自的原始许可证

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载在线技术支持99.95% SLA 保障付费会员免广告