# DreamWeaver 工程鲁棒性改进计划 ## 概述 本计划旨在提升 DreamWeaver 项目的工程质量,包括测试覆盖、稳定性、可观测性等方面。 ## 任务列表 ### P0 - 关键问题修复 #### Task-1: 修复 Rate Limit 内存泄漏 ✅ - **文件**: `backend/app/api/stories.py` - **方案**: 已迁移至 Redis 分布式限流,内存泄漏问题不再存在 #### Task-2: 添加核心 API 测试 ✅ - **文件**: `backend/tests/` - **范围**: test_auth, test_stories, test_profiles, test_universes, test_push_configs, test_reading_events, test_provider_router ### P1 - 稳定性提升 #### Task-3: 添加 API 重试机制 ✅ - **方案**: 所有适配器已使用 `tenacity` 指数退避重试 (gemini, openai, cqtai, antigravity, minimax, elevenlabs) #### Task-4: 添加结构化日志 ✅ - **文件**: `backend/app/core/logging.py` - **方案**: structlog JSON/Console 双模式,所有适配器和 provider_router 已集成 ### P2 - 代码优化 #### Task-5: 重构 Provider Router ✅ - **文件**: `backend/app/services/provider_router.py` - **方案**: 已实现统一 `_route_with_failover` 函数 #### Task-6: 配置外部化 ✅ - **文件**: `backend/app/core/config.py`, `backend/app/services/provider_router.py` - **方案**: 所有模型名已移至 Settings,支持环境变量覆盖 #### Task-7: 修复脆弱的 URL 解析 ✅ - **状态**: `drawing.py` 已被适配器系统取代,不再存在 ## 新增依赖 (已添加) ```toml # pyproject.toml [project.dependencies] cachetools>=5.0.0 # Task-1: TTL cache tenacity>=8.0.0 # Task-3: 重试机制 structlog>=24.0.0 # Task-4: 结构化日志 # [project.optional-dependencies.dev] pytest-cov>=4.0.0 # Task-2: 覆盖率报告 ```