fix(conversation): 离屏不丢回复、列表预热 WS 与非阻塞进入聊天
- 后端:文本/转写后 AI 生成改为独立任务,避免断连取消整轮;按需 TTS 等与 WS 改动 - 前端:RealtimeSession 重绑 UI 时恢复流式 buffer;列表 onPressIn/挂载预热、已有会话立即 push - 同步会话相关类型、i18n、测试与 env/资源等累计改动 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -24,15 +24,20 @@
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 启动 Redis
|
||||
### 1. 启动 PostgreSQL / Redis
|
||||
|
||||
使用 Docker Compose 启动 Redis:
|
||||
使用开发用 Docker Compose 一键启动数据库与缓存:
|
||||
|
||||
```bash
|
||||
cd api
|
||||
docker compose -f docker-compose.dev.yml up -d
|
||||
```
|
||||
|
||||
开发 compose 使用 **固定的** 本机映射(与 `api/.env.example` 一致,避免与本机默认 5432 / 6379 抢占):
|
||||
|
||||
- PostgreSQL:`127.0.0.1:48291` → 容器内 `5432`
|
||||
- Redis:`127.0.0.1:48307` → 容器内 `6379`
|
||||
|
||||
验证 Redis 是否运行:
|
||||
|
||||
```bash
|
||||
@@ -61,12 +66,12 @@ DEEPSEEK_BASE_URL=https://api.deepseek.com
|
||||
# LLM_MODEL=gpt-4
|
||||
# LLM_BASE_URL=https://api.openai.com
|
||||
|
||||
# Redis 配置
|
||||
REDIS_URL=redis://localhost:6379/0
|
||||
# Redis 配置(宿主 48307,见 docker-compose.dev.yml)
|
||||
REDIS_URL=redis://localhost:48307/0
|
||||
REDIS_SESSION_TTL=86400 # 会话过期时间(秒),默认 24 小时
|
||||
|
||||
# 数据库配置(PostgreSQL,与线上一致)
|
||||
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/life_echo
|
||||
# 数据库配置(宿主 48291,见 docker-compose.dev.yml)
|
||||
DATABASE_URL=postgresql://postgres:postgres@localhost:48291/life_echo
|
||||
|
||||
# JWT 配置
|
||||
SECRET_KEY=your-secret-key-change-in-production
|
||||
@@ -114,7 +119,7 @@ celery -A tasks.celery_app worker --loglevel=info --concurrency=2
|
||||
- 对话的实时响应通过异步 LLM 调用生成
|
||||
- 会话历史存储在 Redis 中
|
||||
|
||||
### Redis (端口 6379)
|
||||
### Redis(容器内 6379 → 宿主 48307,见 docker-compose.dev.yml)
|
||||
|
||||
- 存储对话会话历史(支持多实例部署)
|
||||
- 作为 Celery 的消息队列
|
||||
@@ -169,12 +174,12 @@ docker compose up -d --scale celery-worker=3
|
||||
### Redis 连接失败
|
||||
|
||||
```
|
||||
Redis 连接失败: Error connecting to redis://localhost:6379/0
|
||||
Redis 连接失败: Error connecting to redis://localhost:48307/0
|
||||
```
|
||||
|
||||
**解决方法**:
|
||||
1. 确认 Redis 容器正在运行:`docker ps | grep redis`
|
||||
2. 检查 `REDIS_URL` 环境变量是否正确
|
||||
2. 检查 `REDIS_URL` 是否为 `redis://localhost:48307/0`(或与 `docker-compose.dev.yml` 中映射一致)
|
||||
3. 如果在 Docker 内运行 API,使用 `redis://redis:6379/0`
|
||||
|
||||
### Celery 任务不执行
|
||||
|
||||
Reference in New Issue
Block a user