@iasiv5/dsh-skins 1.2.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -25,7 +25,7 @@ dsh plugin --profile web add @iasiv5/dsh-skins
25
25
  3. Refresh the page.
26
26
  4. Click **Skin Switcher** at the bottom of the sidebar and pick a skin.
27
27
 
28
- On a fresh install with no saved choice, OpenBMC Studio (the `openbmc` skin) is the factory-default skin (since v1.0.6; meirenzhi before that). For reproducible installs, pin the exact version (identical to what a one-click update lands on):
28
+ On a fresh install with no saved choice, OpenBMC Studio (the `openbmc` skin) is the factory-default skin (since v1.0.6; meirenzhi before that). For reproducible installs, pin the exact version:
29
29
 
30
30
  ```sh
31
31
  dsh plugin --profile web add @iasiv5/dsh-skins@1.0.0
@@ -132,7 +132,7 @@ Every skin's key visuals are open to adjustment. Click the gear button on a skin
132
132
 
133
133
  ### Where settings live, and whether they survive
134
134
 
135
- - Configuration and the library live under `$DSH_HOME/dsh-skins/`, physically isolated from the plugin install directory: upgrades, rollbacks and one-click updates cannot touch them.
135
+ - Configuration and the library live under `$DSH_HOME/dsh-skins/`, physically isolated from the plugin install directory: plugin upgrades (via the dsh-m marketplace or `dsh plugin`) only replace the plugin install directory and cannot touch it.
136
136
  - Only overrides are stored: untouched fields automatically follow the new version's defaults, and leftovers of retired fields are cleaned up at load.
137
137
  - A damaged state file triggers recovery mode: indexes are rebuilt and bad files quarantined — your images are never wiped.
138
138
  - Uploads pass magic-number validation and size caps; concurrent writes merge per field and never clobber each other.
@@ -152,31 +152,19 @@ When the sidebar is collapsed, the entry folds into a round palette icon; multip
152
152
 
153
153
  The URL switches skins too: `/?skin=official`, `/?skin=meirenzhi`, `/?skin=openbmc`, `/?skin=uefi-harness`, `/?skin=tgcf`.
154
154
 
155
- ## One-click updates and the security design
155
+ ## Updates
156
156
 
157
- This section answers: how updates work, and why it is safe to let the plugin install them.
157
+ This section answers: how the plugin is updated.
158
158
 
159
- Opening the skin switcher makes the Host check the latest stable version of `@iasiv5/dsh-skins` on the npm registry (the `latest` dist-tag); when a newer version exists, the update row shows the current version, the latest version and a link to the npm version page:
160
-
161
- 1. Click **Update**; download, install and verification run automatically.
162
- 2. Click **Restart now** (or **Later**); the new version takes effect after the restart.
163
- 3. Running Agents block the restart; retry once they finish.
164
-
165
- Every step is verified in code, not on trust:
166
-
167
- - only strict `X.Y.Z` stable versions are accepted (the npm `latest` dist-tag);
168
- - the remote package name, repository identity and version metadata must all agree (including the `dist.integrity` digest);
169
- - the actual install is pinned to that exact version, never drifting with a semver range;
170
- - after installing, the profile and the installed package are re-verified; any failure restores the previous version automatically;
171
- - under service managers such as systemd, the restart is handed back to the unit's `Restart` policy instead of killing the process.
159
+ The plugin ships no updater of its own (ADR-0008): update discovery and installation belong to the dsh-m marketplace, or to the DSH CLI — upgrade with `dsh plugin --profile web update @iasiv5/dsh-skins`; roll back by reinstalling an older exact version with `dsh plugin add --profile web @iasiv5/dsh-skins@X.Y.Z`. The `latest` exact version of `@iasiv5/dsh-skins` on npm remains the sole distribution form, and the version policy stays strict `X.Y.Z`.
172
160
 
173
161
  ## FAQ
174
162
 
175
163
  **How do I get fully back to the official interface?**
176
164
  Pick "DeepSeek Harness (Official)" in the skin switcher, or open `/?skin=official`. It undoes the extension skin's branding, backdrop and favicon while keeping the switcher and the official light/dark palettes; your light/dark/system preference stays untouched.
177
165
 
178
- **What happens when an update fails?**
179
- Updates follow a "back up first, then install" transaction: any verification failure automatically restores the previous version, and the popover shows the failure reason (in Chinese and English). If it still fails, update manually with `dsh plugin --profile web update @iasiv5/dsh-skins`.
166
+ **Why is there no "check for updates" button?**
167
+ Update duty has moved to the dsh-m marketplace and the DSH CLI (ADR-0008); the skin switcher only handles skins and personalization.
180
168
 
181
169
  **Which DSH Web versions are supported?**
182
170
  Verified with DSH Web `0.2.0-rc.2`. Later rc builds of the same series are expected to work, but unverified versions carry no promise.
@@ -185,7 +173,7 @@ Verified with DSH Web `0.2.0-rc.2`. Later rc builds of the same series are expec
185
173
  In the browser on the DSH host machine (loopback), the preference is persisted by the DSH Host and shared naturally. Other remote browsers keep the preference in their own `localStorage` — independent per browser, never overwritten.
186
174
 
187
175
  **Do personalization settings survive upgrades?**
188
- Yes. Configuration and the library live in the `$DSH_HOME/dsh-skins/` data directory; self-updates only replace the plugin install directory and physically cannot touch it — rollbacks preserve it too. Only disk-level damage can lose configuration, and even then recovery mode keeps the library images.
176
+ Yes. Configuration and the library live in the `$DSH_HOME/dsh-skins/` data directory; upgrades only replace the plugin install directory (through any channel) and physically cannot touch it — rollbacks preserve it too. Only disk-level damage can lose configuration, and even then recovery mode keeps the library images.
189
177
 
190
178
  ## Known limits
191
179
 
package/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # node scripts/verify-readme-pairing.mjs --write
5
- README.md: fa14b24caa3b411647b7ca40954d336a889433c1
6
- README.en.md: b8f4e044a58ace4ae0695e816d4c924fa0dad42b
5
+ README.md: 611e31626f843892a25b0518265e1f7461033a3c
6
+ README.en.md: 64dae6b1b321007c23c94e9ecbddc656fdb20bad
package/README.md CHANGED
@@ -25,7 +25,7 @@ dsh plugin --profile web add @iasiv5/dsh-skins
25
25
  3. 刷新页面。
26
26
  4. 点击侧栏底部的「皮肤切换」,挑选皮肤。
27
27
 
28
- 首次安装且尚无已保存的选择时,默认启用「OpenBMC Studio」(出厂皮肤,v1.0.6 起;此前为美人志)。需要可复现安装时,固定到精确版本(与一键更新落地后的形态完全一致):
28
+ 首次安装且尚无已保存的选择时,默认启用「OpenBMC Studio」(出厂皮肤,v1.0.6 起;此前为美人志)。需要可复现安装时,固定到精确版本:
29
29
 
30
30
  ```sh
31
31
  dsh plugin --profile web add @iasiv5/dsh-skins@1.0.0
@@ -132,7 +132,7 @@ dsh plugin --profile web remove @iasiv5/dsh-skins # 卸载
132
132
 
133
133
  ### 配置存在哪、会不会丢
134
134
 
135
- - 配置与图库存于 `$DSH_HOME/dsh-skins/`,与插件安装目录物理隔离:升级、回滚、一键更新都碰不到它。
135
+ - 配置与图库存于 `$DSH_HOME/dsh-skins/`,与插件安装目录物理隔离:插件升级(经 dsh-m 市场或 `dsh plugin`)只替换插件安装目录,碰不到它。
136
136
  - 配置只存「改过什么」:未改动的字段自动跟随新版本的默认值,已下线字段的残留会在加载时自动清理。
137
137
  - 配置文件损坏时进入恢复模式:只重建索引、隔离坏文件,绝不清除你的图片。
138
138
  - 上传走魔数校验与尺寸上限;并发写入按字段合并,互不覆盖。
@@ -152,31 +152,19 @@ dsh plugin --profile web remove @iasiv5/dsh-skins # 卸载
152
152
 
153
153
  URL 也能切皮肤:`/?skin=official`、`/?skin=meirenzhi`、`/?skin=openbmc`、`/?skin=uefi-harness`、`/?skin=tgcf`。
154
154
 
155
- ## 一键更新与安全设计
155
+ ## 更新
156
156
 
157
- 本节回答:怎么更新、为什么敢让它自己装。
157
+ 本节回答:插件怎么更新。
158
158
 
159
- 打开皮肤切换器时,Host 会检查 npm registry 上 `@iasiv5/dsh-skins` 的最新正式版(latest 标签);发现新版本后,更新栏会显示当前版本、最新版本与 npm 版本页链接:
160
-
161
- 1. 点击「更新」,下载、安装、校验自动完成;
162
- 2. 点击「立即重启」(或选「稍后」),新版本重启后生效;
163
- 3. 有 Agent 正在运行时阻止重启,任务结束后再试。
164
-
165
- 每一步都有代码校验,不靠信任:
166
-
167
- - 只接受严格的 `X.Y.Z` 正式版本号(npm latest 标签);
168
- - 校验远端包名、仓库标识与版本元数据一致(含 `dist.integrity` 完整性摘要);
169
- - 实际安装固定到该精确版本,不跟随语义化版本范围漂移;
170
- - 安装后复验 profile 与已安装包,失败自动恢复原版本;
171
- - systemd 等服务管理器下,重启交回服务的 `Restart` 策略,不硬杀进程。
159
+ 插件不自带更新器(ADR-0008):更新发现与安装交给 dsh-m 市场,或 DSH 官方 CLI——升级用 `dsh plugin --profile web update @iasiv5/dsh-skins`;回滚 = 重装旧精确版本 `dsh plugin add --profile web @iasiv5/dsh-skins@X.Y.Z`。npm 上 `@iasiv5/dsh-skins` 的 latest 精确版本仍是唯一分发形态,版本策略维持严格 X.Y.Z。
172
160
 
173
161
  ## FAQ
174
162
 
175
163
  **怎么彻底回到官方界面?**
176
164
  在皮肤切换器中选择「DeepSeek Harness(官方)」,或访问 `/?skin=official`。它撤销扩展皮肤的品牌、背景与 favicon,保留皮肤切换器与官方明暗配色,也不会改动你的浅色/深色/跟随系统偏好。
177
165
 
178
- **更新失败会怎样?**
179
- 更新遵循「先备份、再安装」的事务流程,任何校验失败都会自动恢复原版本,弹层显示失败原因(中英双语)。仍失败时可用 `dsh plugin --profile web update @iasiv5/dsh-skins` 手动更新。
166
+ **为什么没有「检查更新」按钮?**
167
+ 更新职责已移交 dsh-m 市场与 DSH CLI(ADR-0008);皮肤切换器只负责换肤与个性化。
180
168
 
181
169
  **支持哪些 DSH Web 版本?**
182
170
  已使用 DSH Web `0.2.0-rc.2` 验证。同系列 rc 版本理论上兼容,未经验证的版本不作承诺。
@@ -185,7 +173,7 @@ URL 也能切皮肤:`/?skin=official`、`/?skin=meirenzhi`、`/?skin=openbmc`
185
173
  在 DSH 所在机器的浏览器(loopback)上,偏好由 DSH Host 持久化,天然共享。其他远程浏览器由插件将偏好存入本地 `localStorage`,各浏览器独立、互不覆盖。
186
174
 
187
175
  **个性化配置会随升级丢吗?**
188
- 不会。配置与图库存放在 `$DSH_HOME/dsh-skins/` 数据目录,自更新只替换插件安装目录,物理上碰不到它;回滚同样保留。只有磁盘级损坏可能丢失配置——那时恢复模式仍会保住图库图片。
176
+ 不会。配置与图库存放在 `$DSH_HOME/dsh-skins/` 数据目录,升级只替换插件安装目录(无论经哪个通道),物理上碰不到它;回滚同样保留。只有磁盘级损坏可能丢失配置——那时恢复模式仍会保住图库图片。
189
177
 
190
178
  ## 已知边界
191
179