同时准备切换两端
受支持的 web profile 模型只保留一个 @dsh-themes/* 直接包。切换会先移除旧包再添加目标,所以必须在第一次修改前准备恢复材料。
- 01
检查并识别当前状态
从 web profile 读取直接包名与精确版本。依赖不明确或存在版本范围时应停止。
- 02
校验目标制品
让受控下载与完整 artifact SHA-256、manifest 身份、精确兼容性、slug 和 version 一致。
- 03
校验旧制品
准备旧版本的精确 tgz 与摘要;如果旧状态是内置配色,则明确记录没有 @dsh-themes/* 包。
- 04
写入 rollback 记录
记录 previous、target 身份,以及已验证制品的绝对路径与完整制品摘要;不要写入 profile 内容或凭据。
- 05
确认即将发生的修改
移除任何内容前,复核 current、target、兼容性与已准备的回滚信息。
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs --source plugin --profile web remove @dsh-themes/current-theme
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs --source plugin --profile web add /absolute/path/to/verified-target.tgz --save-exact
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs --source plugin --profile web list --json
node /absolute/path/to/dsh-theme-manager/scripts/run-dsh.mjs --source --profile web --dump-config只在当前状态匹配时回滚
- 01
验证记录
修改 profile 前,拒绝格式错误、字段缺失、文件已移动或身份不匹配的制品引用。
- 02
确认当前 target 仍然匹配
如果 profile 在切换后又被独立修改,不要直接消费原 rollback 记录。
- 03
重新校验旧制品
安装前再次检查完整字节;payload hash 不能替代完整制品摘要。
- 04
移除目标并恢复精确旧状态
安装原来的精确包;若返回内置配色,则不安装任何 @dsh-themes/* 包。
- 05
重启并验证
确认唯一预期直接依赖,检查 dump config,重启 DSH,再验证真实运行时身份。
始终从已验证输入开始
保留返回原状态的方法
切换前记录当前条目,并准备精确的上一版本包。尝试新风格后,演练一次恢复原状态,确认界面正常加载。
把当前主题切换为目录条目 #NNNN。保留精确原状态与包,验证目标、重启并检查界面,再给出恢复上一版本的命令或任务。常见问题
修改前需要了解的事项
关于格式、兼容性、证据与回滚的简明说明。
这篇指南核实哪些范围?
本指南覆盖:单一激活直接依赖;精确 rollback 制品记录;CLI 与真实运行时后置检查
我应该先做什么?
一次安全切换其实是两次已经准备好的安装:你计划激活的目标,以及随时可以恢复的精确旧状态。
最需要记住的边界是什么?
如果切换中途失败,应移除残缺 target,再安装已经准备好的 previous 制品。稳定状态只能是一个 @dsh-themes/* 直接包,或者内置配色。
旧包总能在新 Alpha 上运行吗?
不能。回滚需要匹配曾经实测的 Harness 版本。应同时保留兼容运行时与包,不要仅凭版本号假定能恢复。
继续学习
查看验证证据并继续操作
对比已发布制品,或返回安装文档。