# Plan · 平台 Admin 后台(全量)+ 注册邀请码逻辑 > **范围:全做 —— 下面 Phase 0–9 全部,一块不落。** 参考 AirDrama 后台、复用其壳/权限/组件/审计;AirShelf 多商品 + 多资产类型 + 火山审核 + 模型供应商,更重。**视觉一律套 AirShelf restraint(冷灰 + 单橙),不抄 AirDrama 的样子。** ## 已拍板决策 - **范围:全铺**(Phase 0–9 全做)。 - **平台超管:加 `User.is_platform_admin`**;第一个超管 = **`admin` / `admin123`**(管理命令 bootstrap)。 - **质量词:全平台统一单层**(所有团队共用一套;团队单独覆盖以后再说)。 - **注册:邀请码优先**(码必填,`kind` 分流 create_team / join_team)。 ## 复用 AirDrama(别重写,只换皮) 布局壳(AdminLayout 折叠侧栏+分组导航)· 权限类模式(IsSuperAdmin→IsPlatformAdmin)· 表格+行内操作/弹窗/手风琴/**标签编辑 UI**/状态徽章 · `AdminAuditLog` 审计日志 · API 分层(adminApi/teamApi)。 --- ## Phase 0 · 基础(角色 + 壳 + 审计) - 后端:`User.is_platform_admin` + migration;权限类 `IsPlatformAdmin`;管理命令 `create_platform_admin` 建 **admin/admin123**;`AdminAuditLog` 模型 + 写日志 helper;`/api/auth/me/` 返回 `is_platform_admin`。 - 前端:Admin 外壳 `routes/admin/`(AdminLayout 折叠侧栏+分组导航,套 restraint);路由 `/admin/*` + 超管 gating;侧栏分组:概览/团队·用户/内容/生成/财务/系统。 ## Phase 1 · 注册邀请码逻辑(本线驱动 · 最优先) - 后端:Invitation 加 `kind`(join_team/create_team)+ `team` 可空 + migration;端点 `validate-invite`(免登录验码→{有效,类型,团队名});RegisterSerializer 改**码必填**+ 按 kind 分流;**删「空码=开团队」**。 - 前端:注册页重做(码优先→验过才展开:加入=只读团队名+账号 / 开团队=团队名+账号),不暴露团队列表;邀请链接自动验;`api.validateInvite`。 ## Phase 2 · Admin 壳实功能:邀请码发放管理 - 后端:平台超管发 create_team 码 / 列所有码 / 撤销端点(替掉 Phase 1 的临时命令)。 - 前端:Admin「邀请码」页(发码弹窗 + 码列表 + 状态 + 复制邀请链接)。 ## Phase 3 · 平台团队管理 + 平台用户管理 - 后端:列所有团队(名/owner/成员数/余额/状态)+ 启停 + 详情;列所有用户(跨团队)+ 启停 + 强制改密;全 `IsPlatformAdmin` + 写审计。 - 前端:Admin「团队」页 + 「用户」页(表格 + 启停 + 详情弹窗,复用 AirDrama 表格/弹窗/徽章)。 ## Phase 4 · 质量词 Admin(平台单层) - 后端:模型 `QualityWord`(stage + slot + text + sort,平台级单层无 team)+ 增删改查端点;生成侧(`build_person_frontal_prompt` 等)改读配置、无配置回落现写死值(兼容)。 - 前端:Admin「质量词」页,**复用 AirDrama 标签编辑 UI**(按 stage 分组 + 行内增删改 + 编辑模式开关防误删)。 ## Phase 5 · 火山人像审核队列(AirShelf 特有) - 后端:全局 person 资产按 `review_status`(空/processing/active绿/failed红)筛;批量送审 / 轮询 / 重试,复用现有 `assets/review.py` + `assets_client.py`。 - 前端:Admin「资产审核」页(队列 + 绿/红盾徽章 + 批量送审/重试)。 ## Phase 6 · AI 任务监控 + 成本异常 - 后端:全局 AITask 列表(按 status/team/type 筛)+ 详情(request/response payload)+ 成本 >> 预估告警 + 失败重投端点。 - 前端:Admin「任务监控」页(可筛表格 + 详情抽屉 + 异常标 + 重投)。 ## Phase 7 · 计费审计 + 4 层额度策略 - 后端:全局 CreditLedger 浏览(按 type/team 筛)+ 手动调额(争议/补偿,写审计)+ QuotaPolicy(月/项目/单任务 4 层)编辑端点。 - 前端:Admin「计费审计」页(流水表 + 调额弹窗)+「额度策略」页。 ## Phase 8 · 模型供应商管理(从 Django admin 搬前端) - 后端:ModelProvider / ModelConfig 增删改启停 + 定价 + 默认模型选择端点(热插拔中转站)。 - 前端:Admin「模型供应商」页(provider/model 表格 + 编辑弹窗 + 启停 + 设默认)。 ## Phase 9 · 收尾治理(商品 / 通知 / 项目监控 / 数据完整性) - 商品治理(孤儿商品 / 分类管理)· 通知管理(全局 Notification 筛/批量)· 项目流水线监控(全局项目按 stage/status)· 数据完整性工具(孤儿记录检查 / 缓存)。 --- ## 实施顺序 **0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9。** 每 Phase 后端先于前端;每块完即真跑验证再进下一块;**不 push**。Phase 0+1 先落(注册逻辑本线驱动、立刻见效)。 ## 验证(每阶段) - 注册:admin/admin123 登录→发 create_team 码→新用户凭码开团队当团管;团管发 join 码→成员加入;邀请链接自动验;**无码注册被拒**。 - 质量词:Admin 改某阶段质量词→重新生成→提示词用新词。 - 各 Admin 页:超管能进、非超管被拒;表格/弹窗/启停/审核/调额/热插拔真生效 + 写审计。 - 基线:tsc + build 全绿;既有团管页 / 生成链路零回归。