Files
torin b8d3cb4644
Some checks are pending
Build and Push Docker Images / changes (push) Waiting to run
Build and Push Docker Images / build-backend (push) Blocked by required conditions
Build and Push Docker Images / build-frontend (push) Blocked by required conditions
Build and Push Docker Images / build-admin-frontend (push) Blocked by required conditions
wip: snapshot full local workspace state
2026-04-17 18:58:11 +08:00

1.8 KiB
Raw Permalink Blame History

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 已被适配器系统取代,不再存在

新增依赖 (已添加)

# 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: 覆盖率报告