107 lines
3.0 KiB
Markdown
107 lines
3.0 KiB
Markdown
# Cyrene 部署指南
|
|
|
|
## 环境要求
|
|
- Go 1.21+
|
|
- Node.js 20+
|
|
- Docker & Docker Compose
|
|
|
|
## 快速启动
|
|
|
|
### 1. 启动基础设施
|
|
基础设施包括 PostgreSQL (pgvector)、Redis、Qdrant (向量数据库)、MinIO (对象存储) 和 NATS (消息队列)。
|
|
|
|
```bash
|
|
docker-compose -f docker-compose.dev.db.yml up -d
|
|
```
|
|
|
|
### 2. 编译并启动后端服务
|
|
|
|
```bash
|
|
# AI-Core (LLM 推理服务)
|
|
cd backend/ai-core && go build -o main ./cmd/main.go && ./main
|
|
|
|
# Gateway (API 网关)
|
|
cd backend/gateway && go build -o main ./cmd/main.go && ./main
|
|
```
|
|
|
|
### 3. 安装依赖并启动前端
|
|
|
|
```bash
|
|
cd frontend/web && npm install && npm run dev
|
|
```
|
|
|
|
### 4. 启动 DevTools (可选)
|
|
|
|
```bash
|
|
cd devtools && npm install && npm start
|
|
```
|
|
|
|
## 使用 Docker Compose 完整启动
|
|
|
|
```bash
|
|
docker-compose -f docker-compose.dev.yml up -d
|
|
```
|
|
|
|
此命令将启动所有基础设施服务以及 AI-Core 和 Gateway 后端服务。
|
|
|
|
## 生产环境部署
|
|
|
|
```bash
|
|
docker-compose -f docker-compose.yml up -d
|
|
```
|
|
|
|
生产环境额外包含 Caddy 反向代理(自动 TLS)。
|
|
|
|
## 环境变量
|
|
|
|
参考 `backend/.env.example` 配置以下变量:
|
|
|
|
| 变量 | 说明 |
|
|
|------|------|
|
|
| `ENV` | 运行环境 (`development` / `production`) |
|
|
| `LLM_API_URL` | LLM API 地址 |
|
|
| `LLM_API_KEY` | LLM API 密钥 |
|
|
| `LLM_MODEL` | 主模型 (默认 `gpt-4o`) |
|
|
| `LLM_FALLBACK_MODEL` | 回退模型 (默认 `gpt-4o-mini`) |
|
|
| `POSTGRES_HOST` / `POSTGRES_PORT` / `POSTGRES_USER` / `POSTGRES_PASSWORD` / `POSTGRES_DB` | PostgreSQL 连接信息 |
|
|
| `REDIS_HOST` / `REDIS_PORT` / `REDIS_PASSWORD` | Redis 连接信息 |
|
|
| `JWT_SECRET` | JWT 签名密钥 |
|
|
| `JWT_EXPIRY_HOURS` | JWT 过期时间 (默认 720 小时) |
|
|
| `MINIO_ENDPOINT` / `MINIO_ACCESS_KEY` / `MINIO_SECRET_KEY` / `MINIO_BUCKET` | MinIO 对象存储配置 |
|
|
| `VECTOR_DB_URL` / `VECTOR_DB_COLLECTION` | Qdrant 向量数据库配置 |
|
|
| `ADMIN_USERNAME` / `ADMIN_PASSWORD` | 管理员账户 (开发阶段) |
|
|
| `TTS_PROVIDER` / `TTS_VOICE` | TTS 语音合成配置 |
|
|
| `ASR_PROVIDER` / `ASR_MODEL` | ASR 语音识别配置 |
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
Cyrene/
|
|
├── frontend/web/ # React 前端 (Vite + TypeScript)
|
|
├── backend/ai-core/ # AI 推理核心 (LLM 对话、记忆、人设)
|
|
├── backend/gateway/ # API 网关 (路由、鉴权、WebSocket)
|
|
├── backend/memory-service/ # 记忆服务 (规划中)
|
|
├── backend/tool-engine/ # 工具引擎 (规划中)
|
|
├── backend/voice-service/ # 语音服务 (规划中)
|
|
├── backend/proto/ # Protobuf 定义 (规划中)
|
|
├── devtools/ # 管理面板
|
|
└── scripts/ # 辅助脚本
|
|
```
|
|
|
|
## 端口
|
|
|
|
| 端口 | 服务 |
|
|
|------|------|
|
|
| 5173 | 前端开发服务器 (Vite) |
|
|
| 8080 | Gateway API |
|
|
| 8081 | AI-Core API |
|
|
| 3001 | DevTools 管理面板 |
|
|
| 5432 | PostgreSQL |
|
|
| 6379 | Redis |
|
|
| 6333 | Qdrant HTTP API |
|
|
| 6334 | Qdrant gRPC API |
|
|
| 9000 | MinIO S3 API |
|
|
| 9001 | MinIO Console |
|
|
| 4222 | NATS |
|
|
| 8222 | NATS HTTP Monitoring |
|