3.0 KiB
3.0 KiB
Cyrene 部署指南
环境要求
- Go 1.21+
- Node.js 20+
- Docker & Docker Compose
快速启动
1. 启动基础设施
基础设施包括 PostgreSQL (pgvector)、Redis、Qdrant (向量数据库)、MinIO (对象存储) 和 NATS (消息队列)。
docker-compose -f docker-compose.dev.db.yml up -d
2. 编译并启动后端服务
# 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. 安装依赖并启动前端
cd frontend/web && npm install && npm run dev
4. 启动 DevTools (可选)
cd devtools && npm install && npm start
使用 Docker Compose 完整启动
docker-compose -f docker-compose.dev.yml up -d
此命令将启动所有基础设施服务以及 AI-Core 和 Gateway 后端服务。
生产环境部署
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 |