@kira905/dsh-ecosystem-panel 0.4.4 → 0.4.6

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/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  本仓遵循 [SemVer](https://semver.org/lang/zh-CN/):使用者可见的行为变化才升主版本/次版本,纯内部重构走修订号。
4
4
 
5
+ ## [0.4.5] - 2026-10-19
6
+
7
+ ### Fixed
8
+
9
+ - 🔴 **侧边栏齿轮上方的面板按钮在 DSH 0.2.0 主包上不出现 —— 已修**。`lib/client.js` 的
10
+ `__ModuleLoader__.load({ id })` 登记的是旧名 `dsh-ecosystem-panel`,而 0.2.0 的
11
+ `dsh-client-modules` 按**条目 id = 包名**(`@kira905/dsh-ecosystem-panel`)找 factory ⇒
12
+ 资源 HTTP 200、控制台报 `loaded without registering … via __ModuleLoader__.load`,
13
+ 插件永不挂载。本版把登记 id 改成包名。
14
+ 影响面:**只影响浏览器端是否挂载**;host 半(`/api/dsh-ecosystem-panel/state` 与只读体检脚本)
15
+ 此前一直可用。
16
+ - 说明:本仓 `lib/` 是**手写源码**(无构建步骤、无 `src/`),因此没有「改 src 再 build」这一步,
17
+ `lib/client.js` 就是源头。
18
+
5
19
  ## [0.4.4] - 2026-10-16
6
20
 
7
21
  ### Changed
package/README.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # dsh-ecosystem-panel
2
2
 
3
+ > **本仓装完即用**:`dsh plugin --profile <profile> add @kira905/dsh-ecosystem-panel` 一条命令,`dsh.bundle` 会让它自动挂进 profile 的组合列表,**不需要再手工写 `cordis.patch.yml`**。
4
+
5
+ ## 装完自检(三条只读验法)
6
+
7
+ `<profile>` 换成你实际用的 profile(默认 `web`),`<数据根>` 换成你的 DSH 数据根(默认 `~/.dsh`)。
8
+
9
+ ```powershell
10
+ # ① 组合树里有没有它(只读、约 0.6 秒、不启服务)
11
+ dsh --profile <profile> --dump-config | Select-String "dsh-ecosystem-panel"
12
+ # 期望:bundle 层出现一行 "# == <登记名>"、insert 层出现 "- id: <entry>"(问的都是「它挂上没」);
13
+ # 本仓包名 @kira905/dsh-ecosystem-panel —— 带 scope 装的写带 scope 名、老工装 / 手写的可能是裸名,两种都搜一遍
14
+ # ⚠️ 若该包会 insert 一行,还要数一遍"同一个 id 出现了几次",必须 == 1
15
+
16
+ # ② 组合列表里有没有它(只读)
17
+ Get-Content <数据根>/profiles/<profile>/package.json | Select-String "@kira905/dsh-ecosystem-panel"
18
+ # 期望:dependencies 与 dsh.profile.bundles 两处都有(CLI 类只需要 dependencies;bundles 里也可能写裸名 dsh-ecosystem-panel)
19
+
20
+ # ③ 本仓是插件、没有命令入口 —— 跳过这一步(判据看 ① 与 ②)
21
+ ```
22
+
23
+ ---
24
+
3
25
  > **English**: [README.en.md](./README.en.md)
4
26
 
5
27
  > 给 DSH 实例装一块**只读**的生态总览面板:插件有没有加载、补丁还在不在、技能 frontmatter 有没有写坏、
@@ -54,6 +76,10 @@ GET /api/dsh-ecosystem-panel/state
54
76
  - 可选的三个/四个外部脚本(解耦检查、档位 CLI、跨表校验器、适配层一致性校验器)——**没有也能跑**,
55
77
  对应类目会降级;本仓不附带这些脚本(它们属于你自己的体检体系)
56
78
 
79
+ > **手工装(旧版 / 离线用)** —— 下面三步是 0.4.5 之前的装法(`npm install --prefix` + 手写 profile `package.json` 两处);
80
+ > 现在有 `dsh.bundle`,一条 `dsh plugin --profile <profile> add @kira905/dsh-ecosystem-panel` 就够,见文首那段。
81
+ > **两条路别混用**:混用会在组合里留下**同一件的两份登记**(`dsh.profile.bundles` 里同一包名两行,或 `cordis.patch.yml` 里同一个 id 两行;后者**不一定会报错**,光看日志发现不了)⇒ 判据 = 两处各数一遍,每一处必须 == 1。
82
+
57
83
  ## 3. 安装三步
58
84
 
59
85
  ```bash
package/lib/client.js CHANGED
@@ -5,7 +5,10 @@
5
5
  // self-heal MutationObserver 抗前端重渲染;折叠态规则的选择器**不加前缀**
6
6
  // (折叠属性挂在 frame div 上而不是 html 根,加前缀会失效)。
7
7
  window.__ModuleLoader__.load({
8
- id: "dsh-ecosystem-panel",
8
+ // 登记 id 必须等于包名:0.2.0 主包的 client-modules 按「条目 id = 包名」找 factory
9
+ // (`graphRow(id /* package name */)`),id 写旧的无 scope 名字会 HTTP 200 却
10
+ // "loaded without registering",插件永不挂载(S16 装验实测)。
11
+ id: "@kira905/dsh-ecosystem-panel",
9
12
  factory: (require) => {
10
13
  var module = { exports: {} };
11
14
  var exports = module.exports;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kira905/dsh-ecosystem-panel",
3
3
  "description": "Read-only ecosystem overview panel for a DSH instance: plugin bundles, cordis.patch inserts, patch health, skills, upgrade health and decoupling health. One tab per category. Zero runtime npm dependencies.",
4
- "version": "0.4.4",
4
+ "version": "0.4.6",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "exports": {