本地部署
本文将从一台新安装的 Debian 12 系统的远程主机开始,介绍 & 记录在命令行中使用 root 用户安装 docker 并借助 docker compose 运行 小黑 OmniBox 云服务 的全过程。
部署要求
- 拥有一台 Linux 服务器,并能访问该服务器的
root用户以及命令行 - 具有一定的计算机知识
- 能正常访问 GitHub 以及 ghcr.io
- 默认情况下端口
8080、8025、9000对外可用(或至.env文件中修改)
环境介绍
| 环境 | 说明 |
|---|---|
| CPU | i5-12600KF |
| 内存 | 64GB |
| 硬盘 | 1T NVMe |
| 系统 | Debian 12 |
| 服务器 IP | 192.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 部分:
OBW_VECTOR:向量检索相关OBW_GRIMOIRE:网页收藏、LLM 问答相关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 是可以完全离线使用的。