英文 / 中文 / 日本語
网站 · GitHub · 问题反馈 · 文档
👋 加入我们的社区
📱 飞书群 · 微信 · *** · X
✨ 2026年5月更新:更新了OpenViking在用户记忆、智能体记忆和知识库问答场景下的基准测试结果。→ 参见评估亮点。
在AI时代,数据虽然丰富,但高质量的上下文却难以获取。构建AI智能体时,开发者常面临以下挑战:
OpenViking 是一个专为AI智能体设计的开源上下文数据库。
我们旨在为智能体定义极简的上下文交互范式,让开发者彻底告别上下文管理的烦恼。OpenViking摒弃了传统RAG的碎片化向量存储模型,创新性地采用**“文件系统范式”**来统一智能体所需的记忆、资源和技能的结构化组织。
借助OpenViking,开发者可以像管理本地文件一样构建智能体的“大脑”:
开始使用OpenViking前,请确保您的环境满足以下要求:
pip install openviking --upgrade --force-reinstall
npm i -g @openviking/cli
或从源码构建:
cargo install --git https://github.com/volcengine/OpenViking ov_cli
OpenViking需要以下模型能力:
OpenViking支持多种VLM提供商:
| 提供商 | 说明 | 配置 -------------------------------------------------------------------------------------------------------------------------------------------------- |
|---|---|---|
volcengine | 火山引擎豆包模型 | 火山引擎控制台 |
openai | OpenAI官方API | OpenAI平台 |
openai-codex | Codex VLM | 使用 openviking-server init |
kimi | Kimi Code会员服务 | 使用 openviking-server init |
glm | GLM 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(可在火山引擎ARK控制台中找到):
{
"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.jsonopenviking-server doctor会验证当前Codex认证是否可用
Kimi Coding(订阅)
当您希望OpenViking直接调用专用的Kimi Coding订阅端点时,使用此提供商:
openviking-server init
# 出现提示时选择Kimi Coding
openviking-server doctor
{
"vlm": {
"provider": "kimi",
"model": "kimi-code",
"api_key": "your-kimi-subscription-api-key",
"api_base": "https://api.kimi.com/coding",
"temperature": 0.0,
"max_retries": 2
}
}
如果需要通过 Ollama 运行 OpenViking 本地模型,交互式设置向导会自动处理所有事项:
openviking-server init
向导将:
ov.conf 配置文件随时验证设置:
openviking-server doctor
doctor 命令会检查本地先决条件(配置文件、Python 版本、嵌入/VLM 提供商连接性、磁盘空间),无需运行服务器。
对于云 API 提供商(火山引擎、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 Key
"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 Key(openai-codex 可选)
"provider" : " ", // 提供商类型(volcengine、openai、openai-codex、kimi、glm 等)
"model" : " ", // VLM 模型名称(例如 doubao-seed-2-0-pro-260215 或 gpt-4-vision-preview)
"max_concurrent": 100 // 语义处理的最大并发 LLM 调用数(默认:100)
}
}
[!NOTE] 对于嵌入模型,支持的提供商包括
volcengine(豆包)、openai、azure、jina、ollama、voyage、dashscope、minimax、cohere、vikingdb、gemini(需pip install "google-genai>=1.0.0")、litellm和local。对于 VLM 模型,常见提供商包括volcengine、openai、openai-codex、kimi和glm。
👇 展开查看你的模型服务对应的配置示例:
示例 1:使用火山引擎(豆包模型)
{
"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": 100
}
}
示例 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": 100
}
}
示例 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": 100
}
}
在获取你的 Google API 密钥
示例 4:使用火山引擎嵌入 + 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": 100
}
}
创建配置文件后,设置环境变量指向该文件(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作为独立HTTP服务运行,为您的AI Agents提供持久、高性能的上下文支持。
🚀 在云端部署OpenViking: 为确保最佳存储性能和数据安全,我们建议在火山引擎弹性计算服务(ECS) 上使用veLinux操作系统进行部署。我们已准备了详细的分步指南,帮助您快速上手。
👉 查看:服务器部署与ECS设置指南
OpenViking 采用层级化虚拟文件系统结构进行组织。所有上下文均以统一格式整合,每个条目对应唯一 URI(如 viking:// 路径),打破了传统的扁平黑盒管理模式,层级清晰且易于理解。
检索过程采用目录递归策略。每次检索的目录浏览和文件定位轨迹均被完整保留,用户可清晰观察问题根源并指导检索逻辑优化。了解更多:检索机制
OpenViking 内置记忆自迭代循环。在每个会话结束时,开发者可主动触发记忆提取机制。系统将异步分析任务执行结果和用户反馈,并自动更新至 User 和 Agent 记忆目录。
这使得 Agent 通过与世界的交互实现“越用越聪明”,达成自我进化。了解更多:会话管理
本项目高度重视安全性。 有关漏洞报告和支持的版本,请参见 SECURITY.md
OpenViking 项目的不同组件使用不同的许可证:
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务