@wenaixi/dsh-ponytail 5.3.0 → 5.3.1

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
@@ -1,3 +1,10 @@
1
+ ## [5.3.1] - 2026-10-06
2
+
3
+ ### Fixed
4
+
5
+ - 安装与配置指引彻底正名:支持完全零配置热安装与热卸载,严禁且无需手动编辑 `cordis.patch.yml`。
6
+ 宿主 `dsh-hmr` 自动监听 `package.json` 与 `cordis.patch.yml`(Chokidar `awaitWriteFinish: true`,2 秒写入防抖)。安装后等待 2 至 3 秒刷新浏览器即可自动加载配置卡;界面点击档位(如「激进」)由宿主 `config-editor` 自动在补丁中完成持久化写入。
7
+ 热卸载后用户配置完好保留在 profile 补丁中;热安装新版本后自动无缝继承原配置并生效。
1
8
  ## [5.3.0] - 2026-10-06
2
9
 
3
10
  ### Fixed
@@ -240,8 +247,8 @@
240
247
 
241
248
  - 首个 DSH 移植版本:单一插件包,`dsh.bundle.patch` 挂载,`PONYTAIL_DEFAULT_MODE` 三级回退(`review` 不可作默认),全部文案中文化,触发词兼容中英文。
242
249
 
243
- [Unreleased]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.1.0...HEAD
244
- [Unreleased]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.3.0...HEAD
250
+ [Unreleased]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.3.1...HEAD
251
+ [5.3.1]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.3.0...v5.3.1
245
252
  [5.3.0]: https://github.com/Wenaixi/dsh-ponytail/compare/v5.2.0...v5.3.0
246
253
  [5.2.0]: https://github.com/Wenaixi/dsh-ponytail/releases/tag/v5.2.0
247
254
  [5.1.0]: https://github.com/Wenaixi/dsh-ponytail/releases/tag/v5.1.0
package/README.md CHANGED
@@ -36,22 +36,19 @@ dsh --profile web --dump-config | grep -A2 ponytail
36
36
 
37
37
  若插件卡片只有包名、没有标题描述图标,说明包的 `exports` 没放行 `./package.json` 与 `./locale/*.json`。这是 DSH 读取展示元信息的硬约束,与安装本身无关。
38
38
 
39
- ### 安装后:把补丁条目写到顶层
39
+ ### 安装与热加载
40
40
 
41
- `dsh plugin add` 只把插件装进 `package.json`,**不写** profile 的 `cordis.patch.yml`。插件包自带的补丁是 `insert:` 列表(bundle 惯例),会被宿主当作 overlay 层合进启动树——因此**热装后 boot 有条目、技能与命令可用,但配置卡片不会渲染**。
41
+ 支持完全零配置热安装。`dsh plugin add` 将插件包登记至 `package.json` 与 bundle 列表后,宿主 HMR 会自动重载 Loader 树并挂载配置卡片:
42
42
 
43
- 要让配置卡片出现(并让面板的写入真正落盘),手动在 profile 的 `cordis.patch.yml` 里补一条顶层条目:
44
-
45
- ```yaml
46
- - id: ponytail
47
- name: "@wenaixi/dsh-ponytail"
43
+ ```bash
44
+ dsh plugin --profile web add @wenaixi/dsh-ponytail@5.3.1
48
45
  ```
49
46
 
50
- 然后重启宿主(补丁条目在启动时合成,运行中改不热生效)。卡片出现后如需默认档,再在 `config` 下补字段,或直接在面板里点。
51
-
52
- **判据**:装完刷浏览器,插件列表里懒人模式卡片是「不包含任何组件」或干脆不出现、点不开配置面板——先查这里。`dsh --profile <name> --dump-config | grep -A2 ponytail` 若报 `patch: entry "ponytail" not found`,同样是这条顶层条目缺失的信号。
47
+ 安装完成后等待 2 至 3 秒(文件监听器防抖期),在浏览器中刷新页面即可使用。无需手动编辑 `cordis.patch.yml`。
53
48
 
54
- 宿主的判定在 `dsh-config-editor` 的 `edit()`:它只为 profile 顶层条目管理 `config` 块,`insert` 里的条目永远判为被覆盖,面板显示「本部署没有接受这次修改」。本插件面板不显示只读横幅,所以那句拒绝提示是唯一判据。
49
+ 说明:
50
+ - 首次安装无需重启宿主,刷新浏览器即可。
51
+ - 原地更新已安装版本时,宿主受条目指纹冻结机制限制,建议重启宿主或通过卸载后重新安装加载新产物。
55
52
 
56
53
  ## 用法
57
54
 
@@ -151,7 +148,7 @@ dsh --profile web --patch ./cordis.patch.yml --dump-config # 只验证补丁解
151
148
  pnpm dsh web --patch ./cordis.patch.yml # 热重载
152
149
  ```
153
150
 
154
- 本地版本用独立的标准 SemVer,`pnpm version:bump` 递增 patch,`pnpm version:set -- 5.3.0` 指定版本。旧的 `-dsh.N` 不再生成。上游发布不会改变本地版本号,是否吸收上游变化由本地兼容性评估决定。
151
+ 本地版本用独立的标准 SemVer,`pnpm version:bump` 递增 patch,`pnpm version:set -- 5.3.1` 指定版本。旧的 `-dsh.N` 不再生成。上游发布不会改变本地版本号,是否吸收上游变化由本地兼容性评估决定。
155
152
 
156
153
  发布只走 tag 触发的 CI。严禁本地 `npm publish`,push 与打 tag 都需要明确授权。
157
154
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wenaixi/dsh-ponytail",
3
- "version": "5.3.0",
3
+ "version": "5.3.1",
4
4
  "description": "DietrichGebert/ponytail 的 DSH 完整移植:常驻懒人 senior 模式与七阶梯子(YAGNI 到最小实现),6 个中文原生技能(本体、评审、审计、债务、收益、帮助),零 tool 注册",
5
5
  "type": "module",
6
6
  "main": "lib/ponytail.js",
@@ -50,19 +50,13 @@ Default mode = `full`, auto-active every session. Change it:
50
50
  export PONYTAIL_DEFAULT_MODE=ultra
51
51
  ```
52
52
 
53
- **Profile patch** (`profiles/<name>/cordis.patch.yml`):
54
-
55
- `dsh plugin add` does NOT write this file. After installing, add a top-level
56
- entry by hand or the config card will not render:
53
+ **Profile patch** (`profiles/<name>/cordis.patch.yml`, entry `- id: ponytail`):
57
54
 
58
55
  ```yaml
59
- - id: ponytail
60
- name: "@wenaixi/dsh-ponytail"
61
- config:
62
- defaultMode: lite # off|lite|full|ultra
56
+ config:
57
+ defaultMode: lite # off|lite|full|ultra
63
58
  ```
64
59
 
65
- Then restart the host (patch entries compose at startup, not on reload).
66
60
  The plugin config card writes the patch for you once it renders;
67
61
  `/ponytail default <mode>` does the same from a prompt. Set `"off"` to
68
62
  disable auto-activation on session start, activate manually with `/ponytail`