# 快速开始指南
::: tip 提示
除了此文档网站外,用户还可以在 [Zread](https://zread.ai/xerrors/Yuxi-Know) 或 [DeepWiki](https://deepwiki.com/xerrors/Yuxi-Know) 平台查看自动生成的详细项目文档。
:::
## 快速开始
### 安装步骤
项目采用微服务架构,默认服务无需 GPU 支持。GPU 仅用于可选的 OCR 服务,可通过环境变量配置外部服务。
#### 1. 获取项目代码
```bash
# 克隆稳定版本
git clone --branch v0.5.0-beta4 --depth 1 https://github.com/xerrors/Yuxi-Know.git
cd Yuxi-Know
```
::: warning 版本说明
- `v0.4.4`: 稳定版本
- `v0.5.0-beta4`: 由于数据库重构使用 postgres,可能会存在数据库迁移问题,建议新用户使用,迁移指南详见 [迁移指南](https://xerrors.github.io/Yuxi-Know/latest/changelog/migrate_to_v0-5)。
- `main`: 最新开发版本(不稳定,新特性可能会导致新 bug)
:::
#### 2. 项目启动
**方法 1**:使用 init 脚本(推荐)
我们提供了自动化的初始化脚本,可以帮您完成环境配置和 Docker 镜像拉取:
```bash
# Linux/macOS
./scripts/init.sh
# Windows PowerShell
.\scripts\init.ps1
```
脚本会:
- 检查并创建 `.env` 文件
- 提示您输入 `SILICONFLOW_API_KEY`(必需)
- 提示您输入 `TAVILY_API_KEY`(可选,用于搜索服务)
- 自动拉取所有必需的 Docker 镜像
::: tip API Key 获取
- [硅基流动](https://cloud.siliconflow.cn/i/Eo5yTHGJ) 注册即送 14 元额度
- [Tavily](https://app.tavily.com/) 获取搜索服务 API Key(可选)
:::
**方法 2**:手动配置环境变量
复制环境变量模板并编辑:
```bash
cp .env.template .env
```
编辑 `.env` 文件,配置必需的 API 密钥,这里强烈建议先使用硅基流动的 API 和模型(DeepSeek)验证平台的功能无误后,再尝试切换到自己的模型:
<<< @/../.env.template#model_provider{bash 5}
::: tip 免费获取 API Key
[硅基流动](https://cloud.siliconflow.cn/i/Eo5yTHGJ) 注册即送 14 元额度,支持多种开源模型。
:::
#### 3. 启动服务
```bash
# 构建并启动所有服务
docker compose up --build
# 后台运行(推荐)
docker compose up --build -d
```
**注意**:启动后,可能还需要一些时间,尤其是后端服务需要一段时间,请耐心等待 2-3 分钟。
#### 4. 访问系统
服务启动完成后,访问以下地址:
- **Web 界面**: `http://localhost:5173`
- **API 文档**: `http://localhost:5050/docs`
#### 5. 停止服务
```bash
docker compose down
```
## 对话
项目第一次启动后,会要求填写超级管理员账号和密码,请确保填写正确。
然后在智能体页面可以进行对话,在右侧可以配置提示词、模型、工具等参数。

## 故障排除
::: tip 调试面板
前端有个**调试面板**,在头像选项里,生产环境建议删除此特性。
:::
#### 查看服务状态
```bash
# 查看所有容器状态
docker ps
# 查看后端服务日志
docker logs api-dev -f
# 查看前端服务日志
docker logs web-dev -f
```
#### 常见问题
Docker 镜像拉取失败
如果拉取镜像失败,可以尝试手动拉取:
```bash
# Linux/macOS
bash docker/pull_image.sh python:3.12-slim
# Windows PowerShell
powershell -ExecutionPolicy Bypass -File docker/pull_image.ps1 python:3.12-slim
```
**离线镜像拉取方案**:
```bash
# 在有网络的环境保存镜像(镜像名称需要确认是否和实际一致,现有版本可能不是最新最全,需要检查)
bash docker/save_docker_images.sh # Linux/macOS
powershell -ExecutionPolicy Bypass -File docker/save_docker_images.ps1 # Windows
# 传输到目标设备
scp docker_images_xxx.tar @:
# 在目标设备加载镜像
docker load -i docker_images_xxx.tar
```
构建失败
如果构建失败,通常是网络问题,可以配置代理:
```bash
# Linux / macOS
export HTTP_PROXY=http://IP:PORT
export HTTPS_PROXY=http://IP:PORT
# Windows PowerShell
$env:HTTP_PROXY="http://IP:PORT"
$env:HTTPS_PROXY="http://IP:PORT"
```
如果已配置代理但构建失败,尝试移除代理后重试。
如果出现,FetchError: request to https://registry.npmjs.org/npm failed, reason: connect ECONNREFUSED 127.0.0.1:7890
新建一个终端重新执行,并确保没有代理干扰。
Milvus 启动失败
```bash
# 重启 Milvus 服务
docker compose up milvus -d
docker restart api-dev
```