Files
Cyrene/Deploy.md
T

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