企业级 RAG 知识库服务器,集成 MCP 协议支持
OpenViking 是一个高性能的检索增强生成(RAG)知识库服务,支持文档管理、语义搜索、多模态理解,并提供 MCP (Model Context Protocol) 服务器集成。
本项目是基于 volcengine/OpenViking 的个人改造版本,原仓库为开源项目。本镜像仅用于个人使用习惯的调整,未对原项目做任何商业化的修改或分发。
MCP 服务器端点直接集成到 API Server 中,无需单独进程:
| 工具 | 说明 |
|---|---|
query_tool | RAG 问答(语义搜索 + LLM 生成答案) |
search_tool | 纯语义搜索,返回相关文档 |
create_upload_session | 创建文件上传会话 |
add_resource_tool | 添加文档/URL/内容资源 |
特性:
/mcp| 功能 | 说明 |
|---|---|
| 异步提交 | wait=false 参数支持后台处理 |
| 消息去重 | 防止重复消息处理 |
| 任务跟踪 | 配合 /tasks API 查询异步任务状态 |
| 项目 | 值 |
|---|---|
| 版本号 | v0.2.6 |
| 镜像地址 | zhangyq/openviking |
| API 端口 | 1933 |
| MCP 端点 | /mcp |
| 架构 | 支持 |
|---|---|
| linux/amd64 | ✅ |
| linux/arm64 | ❌ |
| 标签 | 说明 |
|---|---|
main | 最新开发版本 |
v0.2.6 | 稳定版本 |
# 编辑 docker-compose.yml
vim docker-compose.yml
# API Server (1933) with integrated MCP endpoint (/mcp)
services:
openviking:
image: zhangyq/openviking:main
container_name: openviking
ports:
- "1933:1933"
volumes:
# 配置文件挂载(包含 embedding 和 vlm 配置)
- ./ov.conf:/app/ov.conf
# 数据目录挂载(持久化存储)
- ./data:/app/data
healthcheck:
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:1933/health || exit 1"]
interval: 30s
timeout: 5s
retries: 3
start_period: 60s
restart: unless-stopped
environment:
# OpenViking 配置文件路径
- OPENVIKING_CONFIG_FILE=/app/ov.conf
# API Server 配置
- API_HOST=0.0.0.0
- API_PORT=1933
networks:
default:
name: openviking-net
driver: bridge
# 编辑 ov.conf,填入你的 API 密钥
vim ov.conf
{
"server": {
"host": "0.0.0.0",
"port": 1933,
"root_api_key": "change-me-to-a-secure-random-key"
},
"storage": {
"workspace": "/app/data"
},
"embedding": {
"dense": {
"api_base": "https://api.siliconflow.cn/v1",
"api_key": "your-api-key-here",
"provider": "openai",
"dimension": 1024,
"model": "Qwen/Qwen3-Embedding-8B"
}
},
"vlm": {
"api_base": "https://api.siliconflow.cn/v1",
"api_key": "your-api-key-here",
"provider": "openai",
"model": "Pro/Qwen/Qwen2.5-7B-Instruct"
}
}
# 创建空白数据目录(用于持久化存储)
mkdir -p data
# 启动容器
docker compose up -d
# 查看日志
docker compose logs -f
# 检查健康状态
curl http://localhost:1933/health
| 端点 | 说明 |
|---|---|
http://localhost:1933/health | 健康检查 |
http://localhost:1933/mcp | MCP JSON-RPC 端点 |
http://localhost:1933/api/v1/ | REST API |
Claude CLI 配置:
claude --dangerously-skip-permissions --mcp-config '{
"mcpServers": {
"openviking": {
"type": "http",
"url": "http://10.10.10.10:1933/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}'
openviking-server/
├── docker-compose.yml # Docker Compose 配置
├── ov.conf # 配置文件(需自行创建)
└── data/ # 数据目录(持久化存储)
docker-compose.yml 挂载说明:
| 宿主机路径 | 容器路径 | 说明 |
|---|---|---|
./ov.conf | /app/ov.conf | 配置文件 |
./data | /app/data | 数据持久化目录 |
# 启动服务
docker compose up -d
# 停止服务
docker compose down
# 重启服务
docker compose restart
# 查看日志
docker compose logs -f openviking
# 进入容器
docker exec -it openviking bash
# 更新镜像
docker compose pull
docker compose up -d
Content type
Image
Digest
sha256:713deb4b6…
Size
321.8 MB
Last updated
4 months ago
docker pull zhangyq/openviking