Files
blog/.spec/specs/archive/2026-11-05_blog-5n-admin-deep-optimization/spec.md
T
wait4xandGLM-5.3 5c0e6ed900 chore(spec): 归档 blog-5n——八任务收敛(后台深度优化全家桶)
Spec: 2026-11-05_blog-5n-admin-deep-optimization

Co-authored-by: GLM-5.3
2026-11-05 20:13:09 +08:00

81 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- spec-format: 2 -->
# blog-5n:后台深度优化全家桶(14 项全量)
- **slug**: 2026-11-05_blog-5n-admin-deep-optimization
- **日期**: 2026-11-05
- **状态**: 进行中
- Git integration branch:`spec/2026-11-05_blog-5n-admin-deep-optimization`
- 证据协议:evidence: runs
- **提案**: 用户拍板「全部都做包括暂缓的」:写作链路(A1 翻译进构建链/A2 标签防手滑/A3 起手模板/A4 SEO 提示)、发布反馈(B1 部署状态条/B2 favicon+PWA)、内容管理(C1 首页设置分组/C2 内容仪表盘/C3 中英对照提示)、工具入口(D1 速通坞)、安全网(E1 回滚指引)、暂缓档转正(Sveltia 0.252→0.259 升级、暗色预览、媒体库归置)。多队友协同:@worker-one + 4 子代理 + 主会话集成。
## 1. 问题定义
- **项目目标**: 后台从「功能齐」到「全程顺手」——写作(双语零操作/标签不散/起手不空)、发布(状态可见/入口收拢/回滚有指引)、管理(分组/统计/对照)三条线一步到位;底层 Sveltia 升级到 0.259.0 并全量回归。
- **目标用户**: 站长(唯一编辑者,高频写作与内容管理)
- **核心价值**: 把这一周散落的「后台不好用」类反馈一次性清零;英文站从手动操作变全自动。
## 2. 假设与待确认
### 2.1 已确认事实
- TMT 翻译脚本 translate_posts.py 幂等 + locked 保护,可直接挂构建链
- Sveltia 最新 0.259.0(registry 核实);本站 bundle 0.252.0 pinned 本地
- Artalk 评论管理在 https://wait4x.online/artalk;rollback 脚本在 infra/deploy/ 已存在
- build.sh 为部署链核心(A1/B1/C2 三项都挂它,由主会话统一改避免竞态)
### 2.2 关键假设
- Sveltia 0.259 与 0.252 对本站用到的 API(registerEditorComponent/registerPreviewStyle/config schema)兼容(升级后全量回归验证)
- TMT 翻译单篇耗时 < 构建容忍度(守卫超时 180s,失败不阻断部署、保留旧英文版)
### 2.3 待确认问题
- [x] 全量范围:用户明确「全部都做包括暂缓的」
- [x] 协同分工:@worker-one 独立文件 ×2、子代理 ×4(新文件/独立文件)、共享文件(config.yml/index.html/build.sh)主会话独占
- [x] 媒体库归置取低风险形态:照片目录不动(摄取管线契约),归置=上传落点核对+文档+hints
### 2.4 可选解释与取舍
- A2 标签防手滑:若 Sveltia select 无 multiple 则退 list+常用标签 hint(不引自定义 widget)
- A3 起手模板:利用现有隐藏「写作模板」+ Sveltia 条目复制能力 + hint 指引(不建模板机制)
- C1 分组:仅改 home 单例形状(schema+yaml+消费端+后台表单),不动其他单例
### 2.5 已证伪路径
- 无(新增包)
## 3. 功能范围
### 3.1 核心功能(MVP)
- [x] T1 Sveltia 0.259 升级 + 全量回归(三脚本注册/预览/集合加载)
- [x] T2 A1 翻译进构建链(translate-step 守卫 + build.sh 挂载)
- [x] T3 A2+A3+A4+C3 表单优化批(config.yml:标签建议/模板指引/SEO 提示/中英对照)
- [x] T4 B1+B2+D1+E1 后台页面批(状态条/favicon/PWA/速通坞/回滚指引)
- [x] T5 C1 首页设置分组(schema 迁移 + 消费端 + 表单)
- [x] T6 C2 内容仪表盘(构建期统计 + 静态页)
- [x] T7 暗色预览(preview-style.js 双主题)
- [x] T8 媒体库归置(落点核对 + hints + 文档)
### 3.2 扩展功能
- 无
### 3.3 不在范围内
- 照片摄取管线目录迁移;TMT 凭据变更;评论系统本身
## 4. 最小实现路径
- 最简可行:新文件优先(守卫脚本/状态条/统计脚本/manifest)+ 共享文件主会话三批统一改(build.sh/config.yml/index.html)+ 升级先行(后续工作全部在新版上验证)
- 暂不引入: 自定义 Sveltia widget 开发、翻译并发加速
- 不做的抽象: 后台微前端/工具页框架(静态页够用)
### 5.1 验证策略
- 范围级别:package
- 变更对象: public/admin 全域 + build.sh + content/site schema + 文档
- 快速检查: `pnpm astro build` + `python3 scripts/build-perf/config-check.py .`
- 集成检查: E2E 61/61 + content-lint 0/0/0 + admin 页加载零控制台错误(playwright 预登录态)+ build-status.json 产物断言 + 翻译守卫 dry-run
- 全项目检查: 部署后人工核验后台(登录态表单可编辑/状态条/速通坞/暗色预览);**升级条件**——仅当 Sveltia 升级引致行为差异时升级全站回归,本包已含升级后 E2E 全跑
- 升级触发: admin 为独立资源面,升级为「后台人工核验」即可
## 6. 成功标准与验证方式
- [x] Sveltia 0.259 上线且三脚本/预览/表单全可用 -> verify: task_0001
- [x] 中文保存→英文自动出(守卫不阻断)-> verify: task_0002
- [x] 表单四优化与页面四件套生效 -> verify: task_0003 + task_0004
- [x] 首页分组/仪表盘/暗色预览/媒体归置落地 -> verify: task_0005..task_0008
## 7. 关联与风险
- 最大风险 = Sveltia 升级破坏现有定制(三脚本 API 面);缓解:升级后立即 playwright 冒烟 + 生产灰度观察,异常即回滚 bundle(git revert 单文件)
- 翻译挂链风险 = TMT 配额/网络抖动;缓解:守卫永不阻断 + last-good 英文版保留