Skip to content

OpenViking 安装 SOP(For Agent)

目标

帮助用户以最小路径完成 OpenViking 安装、配置、自检和启动。

总原则

  • 默认走普通用户安装路径,不默认走源码构建
  • 默认使用预编译包,不默认要求 Go / Rust / C++ / CMake
  • 配置不确定时必须先问用户,不要替用户猜 provider、model、api_base、api_key、workspace
  • 只有在安装失败并明确指向本地编译,或用户主动要求源码安装时,才进入源码构建路径

SOP

1. 判断路径

先判断用户属于哪一类:

A. 普通最小安装

满足任一情况即可进入:

  • 用户只是想安装并跑起来
  • 用户只是想体验或接入 OpenViking
  • 用户没有要求源码开发
  • 用户没有要求修改底层原生组件

执行路径:

  1. 安装 Python 包
  2. 询问模型配置
  3. 生成 ~/.openviking/ov.conf
  4. 运行 openviking-server doctor
  5. 启动 openviking-server

B. 本地模型安装(Ollama)

满足任一情况即可进入:

  • 用户明确说要本地模型
  • 用户明确说要 Ollama
  • 用户不想手填大量模型参数

执行路径:

  1. 运行 openviking-server init
  2. 运行 openviking-server doctor
  3. 启动 openviking-server

C. Docker 安装

满足任一情况即可进入:

  • 用户明确说要用 Docker 安装或运行
  • 用户不想在本机直接安装 Python 包
  • 用户想把配置和数据通过 volume 挂载持久化

执行路径:

  1. 确认用户是否已有现成 ov.conf
  2. 如果没有,先确认模型配置或引导在容器内运行 openviking-server init
  3. 使用镜像或 docker-compose.yml 启动容器
  4. 验证 /health

D. Windows 安装

满足任一情况即可进入:

  • 用户当前在 Windows 环境
  • 用户要求 Windows 安装步骤

执行路径:

  1. 优先按普通最小安装路径走预编译 wheel
  2. 使用 Windows 的环境变量写法配置 OPENVIKING_CONFIG_FILE
  3. 运行 openviking-server doctor
  4. 启动 openviking-server
  5. 只有在 wheel 不可用或安装失败时,才进入 Windows 本地编译路径

E. 源码构建

只有以下情况才进入:

  • 用户明确要求源码安装
  • 安装失败且错误信息明确要求本地编译
  • 当前平台没有预编译 wheel
  • 用户明确要修改或重编底层原生组件

进入后再说明需要:

  • Go 1.22+
  • Rust 1.91.1+
  • C++ 编译器
  • CMake

2. 提问

如果用户没有给出完整模型配置,先问,不要直接写配置文件。

必问项

  1. 你准备使用哪种模型提供商?

    • openai
    • azure
    • volcengine
    • openai-codex
    • ollama
  2. 你是否已经确定:

    • embedding 模型名
    • VLM 模型名
    • API Key / 鉴权方式
  3. storage.workspace 想放在哪个目录?

按 provider 继续追问

openai
  • embedding 模型名
  • VLM 模型名
  • 是否使用 https://api.openai.com/v1
  • API Key 是否已准备好
azure
  • embedding deployment name
  • VLM deployment name
  • Azure API Base
  • Azure API Key
  • 是否使用默认 api_version = 2025-01-01-preview
volcengine
  • embedding 模型名
  • VLM 模型名
  • 是否使用 https://ark.cn-beijing.volces.com/api/v3
  • API Key 是否已准备好
openai-codex
  • 是否希望通过 openviking-server init 完成 Codex OAuth
  • VLM 模型名
  • embedding 使用哪个 provider 和模型
ollama
  • 是否接受直接运行 openviking-server init
  • 是否已经安装 Ollama
  • 希望使用哪些本地 embedding / VLM 模型

Docker 额外必问项

如果用户选择 Docker,还要继续确认:

  • 用户是想用 docker run 还是 docker compose
  • 本机是否已有 ~/.openviking/ov.conf
  • 是否要把宿主机 ~/.openviking 挂载到容器 /app/.openviking
  • 是否要直接通过环境变量 OPENVIKING_CONF_CONTENT 注入完整 JSON 配置

Windows 额外必问项

如果用户在 Windows,还要继续确认:

  • 用户使用的是 PowerShell 还是 cmd.exe
  • 用户是否只接受预编译 wheel 安装
  • 如果需要本地编译,是否已安装 CMake 和 MinGW

3. 生成配置

只有在用户确认完必要信息后,才能写 ~/.openviking/ov.conf

最小配置结构

json
{
  "storage": {
    "workspace": "..."
  },
  "embedding": {
    "dense": {
      "provider": "...",
      "api_base": "...",
      "api_key": "...",
      "model": "..."
    }
  },
  "vlm": {
    "provider": "...",
    "api_base": "...",
    "api_key": "...",
    "model": "..."
  }
}

可选字段

只有在 provider 需要、README 示例明确包含、或用户明确要求时,才加入:

  • dimension
  • api_version
  • max_concurrent
  • temperature
  • max_retries

不要做的事

  • 不要填假密钥
  • 不要填用户未确认的路径
  • 不要把 README 注释复制进 JSON
  • 不要替用户猜模型名或私有 API 地址

4. 执行命令

路径 A:普通最小安装

bash
pip install openviking --upgrade --force-reinstall

用户确认配置后写入 ~/.openviking/ov.conf,然后执行:

bash
openviking-server doctor
openviking-server

路径 B:本地模型安装(Ollama)

bash
openviking-server init
openviking-server doctor
openviking-server

路径 C:Docker 安装

方案 1:使用现成镜像直接运行

如果用户已有本机配置目录,优先建议:

bash
docker run --rm \
  -p 1933:1933 \
  -p 8020:8020 \
  -v ~/.openviking:/app/.openviking \
  ghcr.io/volcengine/openviking:latest

说明:

  • 容器内默认配置路径是 /app/.openviking/ov.conf
  • 容器内 HOME=/app
  • 建议把宿主机 ~/.openviking 挂载到容器 /app/.openviking 持久化配置、CLI 配置和 workspace 数据
方案 2:使用 docker-compose.yml

如果用户希望使用 compose,仓库里已有示例:

  • 镜像:ghcr.io/volcengine/openviking:latest
  • 端口:1933:19338020:8020
  • volume:~/.openviking:/app/.openviking

此时直接让用户基于仓库根目录执行:

bash
docker compose up -d
方案 3:容器内初始化配置

如果用户还没有 ov.conf,可以二选一:

  1. 先在宿主机生成并挂载进容器
  2. 启动容器后进入容器内执行:
bash
docker exec -it openviking openviking-server init

Dockerfile 还支持在首次启动时通过 OPENVIKING_CONF_CONTENT 注入完整 JSON;如果用户明确想这样做,可以采用,但前提仍是配置值已确认。

Docker 验证

启动后验证:

bash
curl http://localhost:1933/health

路径 D:Windows 安装

优先按预编译 wheel 路径执行:

bat
pip install openviking --upgrade --force-reinstall

配置文件写好后,按用户 shell 设置环境变量。

PowerShell
powershell
$env:OPENVIKING_CONFIG_FILE = "$HOME/.openviking/ov.conf"
cmd.exe
bat
set "OPENVIKING_CONFIG_FILE=%USERPROFILE%\.openviking\ov.conf"

然后执行:

bat
openviking-server doctor
openviking-server

如果用户还要配置 CLI 文件:

PowerShell
powershell
$env:OPENVIKING_CLI_CONFIG_FILE = "$HOME/.openviking/ovcli.conf"
cmd.exe
bat
set "OPENVIKING_CLI_CONFIG_FILE=%USERPROFILE%\.openviking\ovcli.conf"

路径 E:源码构建

只有进入源码构建路径后,才向用户说明并准备 Go / Rust / C++ / CMake。

5. 失败分流

情况 1:配置文件缺失、路径错误或 JSON 无法解析

优先检查:

  • ~/.openviking/ov.conf 是否存在
  • 是否通过环境变量或 --config 指向了错误路径
  • 配置文件是否是合法 JSON

处理原则:

  • 先修正配置文件路径或 JSON 语法
  • 再重新运行 openviking-server doctor

情况 2:模型配置不完整

典型表现:

  • 缺少 embedding 或 VLM 配置
  • 缺少 provider / model / api_key
  • openai-codex 只配了 VLM,但 embedding 没配

处理原则:

  • 先补齐最小配置
  • 不要替用户猜模型名或密钥
  • 如果是 openai-codex,提醒用户它主要解决 VLM,embedding 仍需单独确认

情况 3:模型服务不可连通或鉴权不可用

优先检查:

  • API Base 是否正确
  • API Key / 鉴权方式是否正确
  • 如果是 openai-codex,是否已经通过 openviking-server init 完成 OAuth
  • 如果是 Ollama,服务是否已启动

处理原则:

  • 先修正 provider 配置和鉴权状态
  • 对 Ollama 优先建议:
bash
openviking-server init
  • 然后重新运行:
bash
openviking-server doctor

情况 4:本地依赖或打包产物不可用

典型表现:

  • 原生引擎模块无法导入
  • AGFS / RAGFS 相关绑定不可用
  • 安装后缺少打包产物

处理原则:

  • 先执行一次标准重装:
bash
pip install openviking --upgrade --force-reinstall
  • 如果仍失败,再判断是否需要进入源码构建路径
  • 不要一开始就默认要求用户安装整套本地构建工具链

情况 5:安装过程进入源码编译

优先确认是否属于:

  • 当前平台没有对应 wheel
  • 用户本来就在走源码安装
  • 预编译产物缺失

处理原则:

  • 只有确认进入源码构建路径后,才补充 Go / Rust / C++ / CMake
  • Windows 本地编译优先补 CMake 和 MinGW
  • 不要把源码构建依赖当作普通安装默认前置

情况 6:Windows 安装失败

优先按这个顺序判断:

  1. 当前 Python / 架构是否命中了预编译 wheel
  2. 是否实际进入了源码编译路径
  3. 环境变量是否按 PowerShell 或 cmd.exe 正确设置
  4. 如果进入本地编译,是否缺少 CMake / MinGW

处理原则:

  • 优先修正 wheel、路径和环境变量问题
  • 只有明确进入本地编译路径时,才补装构建依赖

情况 7:Docker 启动后不可用

优先检查:

  • ~/.openviking 是否正确挂载到 /app/.openviking
  • 容器内是否存在 /app/.openviking/ov.conf
  • 模型配置是否完整
  • curl http://localhost:1933/health 是否返回正常
  • 是否需要进入容器执行 openviking-server init

处理原则:

  • 先修正 volume 挂载和配置文件
  • 再检查 provider、模型和鉴权配置

情况 8:用户不知道怎么选模型

先不要写配置。

引导规则:

  • 用户已有某家云服务账号,就优先沿用该 provider
  • 用户想本地运行,就优先建议 Ollama + openviking-server init
  • 用户想用 openai-codex,提醒它主要解决 VLM,embedding 仍需单独确认

其他详细参考

Released under the Apache-2.0 License.