feat: Phase 0 - 扩展性基础设施(模块注册/配额注册表/Feature Flags/新增表) #72

Merged
xiaoxia merged 1 commits from feat/phase0-infrastructure into develop 2026-06-28 14:17:42 +08:00
Owner

Phase 0 扩展性基础设施

变更内容

1. 模块注册中心 (packages/infrastructure/module_registry.py)

  • Module 数据类:声明模块名、版本、能力列表、依赖、配置
  • ModuleCapability:模块暴露的能力单元,含配额消耗规则
  • ModuleRegistry:注册/注销/查询/依赖检查/能力发现
  • 全局单例 module_registry

2. 配额注册表 (packages/domain/quota.py 重构)

  • QuotaDimension 枚举:11 个配额维度(存储/视频数/并发/模板/标题/配音/AI配音等)
  • QuotaTier:3 个套餐等级(free/basic/premium)的配额定义
  • QuotaRegistry:支持模块动态注册新配额维度
  • QuotaChecker:检查用户配额使用量,返回告警级别

3. Feature Flags (packages/infrastructure/feature_flags.py)

  • 三级控制:全局开关 → 套餐级别 → 用户白名单
  • 5 个初始 Flag:ai_voice_generation, deduplication_report, batch_export, multi_platform_output, recipe_reuse
  • 全局单例 feature_flags

4. 数据库迁移 (010_phase0_extensibility.py)

  • 5 表新增 metadata JSONB 列:projects, asset_libraries, assets, edit_templates, generation_tasks
  • 新增 title_libraries 表:独立标题库,支持跨项目复用
  • 新增 voice_libraries 表:配音库,支持 AI 配音管理
  • models.py 同步新增 TitleLibraryModelVoiceLibraryModel

新增文件

  • packages/infrastructure/__init__.py
  • packages/infrastructure/module_registry.py
  • packages/infrastructure/feature_flags.py
  • alembic/versions/010_phase0_extensibility.py

修改文件

  • packages/domain/quota.py(重构为注册表模式)
  • packages/adapters/sqlalchemy_impl/models.py(新增 metadata 列 + 2 个新模型)
## Phase 0 扩展性基础设施 ### 变更内容 #### 1. 模块注册中心 (`packages/infrastructure/module_registry.py`) - `Module` 数据类:声明模块名、版本、能力列表、依赖、配置 - `ModuleCapability`:模块暴露的能力单元,含配额消耗规则 - `ModuleRegistry`:注册/注销/查询/依赖检查/能力发现 - 全局单例 `module_registry` #### 2. 配额注册表 (`packages/domain/quota.py` 重构) - `QuotaDimension` 枚举:11 个配额维度(存储/视频数/并发/模板/标题/配音/AI配音等) - `QuotaTier`:3 个套餐等级(free/basic/premium)的配额定义 - `QuotaRegistry`:支持模块动态注册新配额维度 - `QuotaChecker`:检查用户配额使用量,返回告警级别 #### 3. Feature Flags (`packages/infrastructure/feature_flags.py`) - 三级控制:全局开关 → 套餐级别 → 用户白名单 - 5 个初始 Flag:`ai_voice_generation`, `deduplication_report`, `batch_export`, `multi_platform_output`, `recipe_reuse` - 全局单例 `feature_flags` #### 4. 数据库迁移 (`010_phase0_extensibility.py`) - 5 表新增 `metadata` JSONB 列:projects, asset_libraries, assets, edit_templates, generation_tasks - 新增 `title_libraries` 表:独立标题库,支持跨项目复用 - 新增 `voice_libraries` 表:配音库,支持 AI 配音管理 - `models.py` 同步新增 `TitleLibraryModel`、`VoiceLibraryModel` ### 新增文件 - `packages/infrastructure/__init__.py` - `packages/infrastructure/module_registry.py` - `packages/infrastructure/feature_flags.py` - `alembic/versions/010_phase0_extensibility.py` ### 修改文件 - `packages/domain/quota.py`(重构为注册表模式) - `packages/adapters/sqlalchemy_impl/models.py`(新增 metadata 列 + 2 个新模型)
xiaoxia added 1 commit 2026-06-28 14:13:59 +08:00
feat: Phase 0 - 扩展性基础设施(模块注册/配额注册表/Feature Flags/新增表)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
a023ba8130
- 新增 packages/infrastructure/ 包
- 实现 ModuleRegistry:模块注册中心,支持能力声明、依赖检查、配额规则
- 重构 QuotaRegistry:注册表模式,3 套餐等级(free/basic/premium),11 配额维度
- 实现 FeatureFlags:三级控制(全局/套餐/用户白名单),5 个初始 Flag
- Alembic 迁移 010:5 表新增 metadata JSONB + title_libraries 表 + voice_libraries 表
- 更新 models.py:新增 TitleLibraryModel、VoiceLibraryModel
xiaoxia merged commit 809d73e77f into develop 2026-06-28 14:17:42 +08:00
Sign in to join this conversation.