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

5.2 KiB
Raw Blame History

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 待确认问题

  • 全量范围:用户明确「全部都做包括暂缓的」
  • 协同分工:@worker-one 独立文件 ×2、子代理 ×4(新文件/独立文件)、共享文件(config.yml/index.html/build.sh)主会话独占
  • 媒体库归置取低风险形态:照片目录不动(摄取管线契约),归置=上传落点核对+文档+hints

2.4 可选解释与取舍

  • A2 标签防手滑:若 Sveltia select 无 multiple 则退 list+常用标签 hint(不引自定义 widget)
  • A3 起手模板:利用现有隐藏「写作模板」+ Sveltia 条目复制能力 + hint 指引(不建模板机制)
  • C1 分组:仅改 home 单例形状(schema+yaml+消费端+后台表单),不动其他单例

2.5 已证伪路径

  • 无(新增包)

3. 功能范围

3.1 核心功能(MVP)

  • T1 Sveltia 0.259 升级 + 全量回归(三脚本注册/预览/集合加载)
  • T2 A1 翻译进构建链(translate-step 守卫 + build.sh 挂载)
  • T3 A2+A3+A4+C3 表单优化批(config.yml:标签建议/模板指引/SEO 提示/中英对照)
  • T4 B1+B2+D1+E1 后台页面批(状态条/favicon/PWA/速通坞/回滚指引)
  • T5 C1 首页设置分组(schema 迁移 + 消费端 + 表单)
  • T6 C2 内容仪表盘(构建期统计 + 静态页)
  • T7 暗色预览(preview-style.js 双主题)
  • 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. 成功标准与验证方式

  • Sveltia 0.259 上线且三脚本/预览/表单全可用 -> verify: task_0001
  • 中文保存→英文自动出(守卫不阻断)-> verify: task_0002
  • 表单四优化与页面四件套生效 -> verify: task_0003 + task_0004
  • 首页分组/仪表盘/暗色预览/媒体归置落地 -> verify: task_0005..task_0008

7. 关联与风险

  • 最大风险 = Sveltia 升级破坏现有定制(三脚本 API 面);缓解:升级后立即 playwright 冒烟 + 生产灰度观察,异常即回滚 bundle(git revert 单文件)
  • 翻译挂链风险 = TMT 配额/网络抖动;缓解:守卫永不阻断 + last-good 英文版保留