favicon-300
Skip to content

本地部署

本文将从一台新安装的 Debian 12 系统的远程主机开始,介绍 & 记录在命令行中使用 root 用户安装 docker 并借助 docker compose 运行 小黑 OmniBox 云服务 的全过程。

部署要求

  1. 拥有一台 Linux 服务器,并能访问该服务器的 root 用户以及命令行
  2. 具有一定的计算机知识
  3. 能正常访问 GitHub 以及 ghcr.io
  4. 默认情况下端口 808080259000 对外可用(或至 .env 文件中修改)

环境介绍

环境说明
CPUi5-12600KF
内存64GB
硬盘1T NVMe
系统Debian 12
服务器 IP192.168.0.100

安装 Docker

使用 清华镜像 安装 Docker

shell
export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
wget -O- https://raw.githubusercontent.com/docker/docker-install/master/install.sh | sh

克隆项目

shell
GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/import-ai/omnibox.git
cd omnibox
cp example.env .env

运行项目

shell
docker compose -f compose.yaml -f compose/deps.yaml up -d

如果没有任何报错,则项目已经启动成功。

注册第一个账号

访问 http://192.168.0.100:8080 使用任意邮箱注册,比如:omnibox@qq.com,前往 http://192.168.0.100:8025 查看邮箱验证码。

注册、登录成功后即可开始使用。

填写配置

在项目运行起来之后,还需配置一些环境变量,否则涉及 AI 和文件上传下载的部分会报错。

主要为 3 部分:

  1. OBW_VECTOR:向量检索相关
  2. OBW_GRIMOIRE:网页收藏、LLM 问答相关
  3. OBB_S3_PUBLIC_ENDPOINT:文件上传、下载相关

编辑 .env

shell
# >>> AI 相关的配置 >>>
OBW_VECTOR_EMBEDDING_API_KEY="sk-***"
OBW_VECTOR_EMBEDDING_BASE_URL="https://api.openai.com/v1"
OBW_VECTOR_EMBEDDING_MODEL="text-embedding-3-small"

OBW_GRIMOIRE_OPENAI_DEFAULT_API_KEY="***"
OBW_GRIMOIRE_OPENAI_DEFAULT_BASE_URL="https://api.openai.com/v1"
OBW_GRIMOIRE_OPENAI_DEFAULT_MODEL="gpt-4o"
OBW_GRIMOIRE_OPENAI_MINI_MODEL="gpt-4o-mini"
OBW_GRIMOIRE_OPENAI_LARGE_MODEL="gpt-4.1"
OBW_GRIMOIRE_OPENAI_LARGE_THINKING_MODEL="o3"
# <<< AI 相关的配置 <<<

# 这里我们的服务器 IP 为 192.168.0.100,需替换为服务器的对外地址,请保证在浏览器中能直接访问这个地址
OBB_S3_PUBLIC_ENDPOINT="http://192.168.0.100:9000"

编辑完后再次执行:

shell
docker compose -f compose.yaml -f compose/deps.yaml up -d

相关问题

什么是本地部署?

本地部署是指“在本地服务器或私有云上部署 小黑 OmniBox 云服务”,和客户端是完全不同的两件事,仅适合有计算机知识的专业人群。

本地部署相比云服务有哪些差异?

  • 本地部署目前不支持 PDF、音视频图像解析
    • 这些功能涉及 30 多个模型、需要很多显存、业务逻辑复杂,在本地跑起来难度非常大
    • 我们计划在未来提供适用于本地运行的简化版本
  • 本地部署不支持微信助手“小黑”,该账号只能对接云端服务
    • 微信助手本质上是基于 Open API 做的一款插件,其依赖的接口文档见:Open API 文档
    • 暂时没有开源微信助手代码的计划

本地部署之后上传文件失败怎么办?

请保证当前用户所使用的浏览器能直接访问 OBB_S3_PUBLIC_ENDPOINT,上传文件时会绕过后端直接将文件上传至 S3 存储。

OmniBox 能离线使用吗?

在本地部署的情况下,配合 ollama 是可以完全离线使用的。