dsh-composer-ux 0.16.2 → 0.16.4
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 +34 -0
- package/README.md +14 -2
- package/lib/client.js +12 -6
- package/lib/client.js.map +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
4
4
|
|
|
5
|
+
## [0.16.4] — 2026-10-01(面板可以整块滚了:那排被切的按钮能划到)
|
|
6
|
+
|
|
7
|
+
起因(用户原话):**「让这个页面可以滑动,使其一些按钮不被遮挡」**(截图里快捷指令/优化面板
|
|
8
|
+
底部「优化提示词 / 手写优化 / 右键」那一排只露出上半截)。被问到时选择了**「整块面板一起滚」**。
|
|
9
|
+
|
|
10
|
+
根因:面板根容器 `quickPanel` 是 `maxHeight: min(60vh, 520px)` + **`overflow: hidden`** ⇒ 内容一长
|
|
11
|
+
直接裁掉;内层又有一套"结果框内容区自己滚"(`dockBody` 的 `overflowY: auto`)⇒ 双层结构,
|
|
12
|
+
窗口一矮就把那排按钮切掉。
|
|
13
|
+
|
|
14
|
+
改法(按用户选择,单一滚动条):
|
|
15
|
+
|
|
16
|
+
- `quickPanel`:`overflow: hidden` → `overflowY: auto` + `overflowX: hidden` + `overscrollBehavior: contain`;
|
|
17
|
+
- `dockBox`:`flex: 1 1 auto` / `minHeight: 0` / `overflow: hidden` → `flex: 0 0 auto` / `minHeight: auto` /
|
|
18
|
+
`overflow: visible`(按内容自然高度排,否则它把内容压进面板高度里、永远不溢出);
|
|
19
|
+
- `dockBody`:`overflowY: auto` → `visible`(内层再滚会出现双层滚动条)。
|
|
20
|
+
|
|
21
|
+
## 验证
|
|
22
|
+
|
|
23
|
+
- `npm test`:**24 个套件 2384 passed / 0 failed**(把旧的「结果框内容区自己滚」那条守护断言
|
|
24
|
+
换成了三条新断言:根容器统一滚、内层不再滚、结果框按自然高度)。
|
|
25
|
+
|
|
26
|
+
## [0.16.3] — 2026-10-01(真机验证通过:恢复框不再出现,窗口自己回来)
|
|
27
|
+
|
|
28
|
+
用户实测(Windows 桌面版,此前每次重启都会弹「应用无法启动或已意外停止」):
|
|
29
|
+
|
|
30
|
+
- 双击 `restart-webui.bat` 让 0.16.2 生效 → 点界面上的「重启」→ **没有弹出恢复框**;
|
|
31
|
+
- 追问后确认:窗口**自己回来了,大概几秒**(不是手动重开);
|
|
32
|
+
- 体检脚本:19:08:55 与 19:10:31 两次助手运行**一个错都没写**(助手只在失败时才写日志),
|
|
33
|
+
且 19:08 之后没有新的壳崩溃日志。
|
|
34
|
+
|
|
35
|
+
另外修掉 `发布工具/restart-doctor.mjs` 的一处判定缺陷:它原来只拿"最新一条崩溃日志"与
|
|
36
|
+
“最新一条助手日志"比大小,会把更早、但仍在安装之后的那条崩溃日志漏掉(结论对、理由错)。
|
|
37
|
+
现在改成**列出安装之后的全部崩溃日志**再下判断。
|
|
38
|
+
|
|
5
39
|
## [0.16.2] — 2026-09-30(杀壳之前先确认"能把应用拉回来")
|
|
6
40
|
|
|
7
41
|
这一版堵的是 **0.16.0 自己引入的**失败模式:先杀壳、再用 exe 重建 —— 如果 exe 路径拿不到或
|
package/README.md
CHANGED
|
@@ -271,7 +271,19 @@ node scripts/recap.mjs --clear # 清空
|
|
|
271
271
|
|
|
272
272
|
台账文件超 512 KB 会从**最旧**的行开始丢(并留一条 `rotated` 标记说明丢了多少行);坏行逐行跳过并计数,不会因为一行坏掉就把整份台账判成"读不出来"。写台账失败**绝不影响优化本身**(旁路失败只少一条记录,不能拖垮一次已经跑完的调用)。开关在**设置 → 插件 → 输入快捷指令 → 记录每轮优化台账**(默认开:只写数字与原因,所以默认开不冒隐私风险)。
|
|
273
273
|
|
|
274
|
-
###
|
|
274
|
+
### 重启
|
|
275
|
+
|
|
276
|
+
### 真机验证(2026-10-01)
|
|
277
|
+
|
|
278
|
+
Windows 桌面版实测通过(此前会弹「应用无法启动或已意外停止」那个恢复框):
|
|
279
|
+
|
|
280
|
+
- 双击 `restart-webui.bat` 让新版本生效 → 点界面上的「重启」→ **没有弹出恢复框**;
|
|
281
|
+
- 窗口**自己回来了,大概几秒**(用户确认,非手动重开);
|
|
282
|
+
- 助手日志两次运行(19:08:55 / 19:10:31)**一个错都没写**,且此后无新的壳崩溃日志。
|
|
283
|
+
|
|
284
|
+
机制:桌面形态连壳一起换掉 —— `taskkill /F /PID <壳>`(只用 `/PID`)→ 等旧宿主退出 →
|
|
285
|
+
用应用 exe 重建(**删掉 `ELECTRON_RUN_AS_NODE`**);杀壳前先确认 exe 存在,拿不到就退回"只换宿主"。
|
|
286
|
+
后结果框还在
|
|
275
287
|
|
|
276
288
|
结果框原先只在内存里:关面板不清空,但**重启一次 DSH 就丢了刚跑出来的成品**,想看只能再花一次模型调用。0.13.0 起它会被存下来 —— 写进 `$DSH_HOME/composer-ux/optimize-dock.json`,下次启动或刷新页面时恢复。
|
|
277
289
|
|
|
@@ -640,7 +652,7 @@ node build.mjs # 产出 lib/index.js + lib/client.js
|
|
|
640
652
|
# ⚠️ 宿主半会**内联** schemastery / cosmokit:
|
|
641
653
|
# 优先用 DSH 检出里的 vendor 副本,检出不在时退到 node_modules
|
|
642
654
|
# 里同版本的 npm 包(两者逐字节相同)——CI 上走的就是退路
|
|
643
|
-
npm test # 24 个套件;当前
|
|
655
|
+
npm test # 24 个套件;当前 2384 passed, 0 failed(2026-09-29 实测;CI 三平台同样全绿)
|
|
644
656
|
# 走 scripts/run-tests.mjs:顺带把"多少套件/多少条"记进 test/.last-run.json
|
|
645
657
|
npm run test:mutations # 手动跑:变异测试,证明那套护栏真的在咬人(164 条,须单独跑)
|
|
646
658
|
# 同样记录结果,供下面的文档门禁核对
|
package/lib/client.js
CHANGED
|
@@ -2760,7 +2760,11 @@ var quickPanel = {
|
|
|
2760
2760
|
boxShadow: "var(--dsw-elevation-prominent)",
|
|
2761
2761
|
"--dsw-elevation-stroke-color": "var(--dsw-alias-border-l1)",
|
|
2762
2762
|
pointerEvents: "auto",
|
|
2763
|
-
|
|
2763
|
+
// 0.16.4(用户原话「让这个页面可以滑动,使其一些按钮不被遮挡」):**整块面板一起滚** ——
|
|
2764
|
+
// 之前这里是 `overflow: hidden`,把超出 60vh 的内容(含结果框那排按钮)直接裁掉。
|
|
2765
|
+
overflowY: "auto",
|
|
2766
|
+
overflowX: "hidden",
|
|
2767
|
+
overscrollBehavior: "contain"
|
|
2764
2768
|
};
|
|
2765
2769
|
var quickPanelHead = {
|
|
2766
2770
|
padding: "10px 12px 8px",
|
|
@@ -2954,10 +2958,11 @@ var quickCategoryAdd = {
|
|
|
2954
2958
|
cursor: "pointer"
|
|
2955
2959
|
};
|
|
2956
2960
|
var dockBox = {
|
|
2957
|
-
//
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
+
// 0.16.4:整块面板滚动之后,这里改为**按内容自然高度**排(不再 flex 撑满、不再自己裁),
|
|
2962
|
+
// 否则它会把内容压缩到面板高度内,滚动条永远等不到溢出。
|
|
2963
|
+
flex: "0 0 auto",
|
|
2964
|
+
minHeight: "auto",
|
|
2965
|
+
overflow: "visible",
|
|
2961
2966
|
display: "flex",
|
|
2962
2967
|
flexDirection: "column",
|
|
2963
2968
|
gap: 6,
|
|
@@ -2972,7 +2977,8 @@ var dockBody = {
|
|
|
2972
2977
|
display: "flex",
|
|
2973
2978
|
flexDirection: "column",
|
|
2974
2979
|
gap: 6,
|
|
2975
|
-
|
|
2980
|
+
// 0.16.4:交给根容器统一滚(内层再滚会出现双层滚动条)。
|
|
2981
|
+
overflowY: "visible"
|
|
2976
2982
|
};
|
|
2977
2983
|
var dockButtonsPinned = {
|
|
2978
2984
|
flex: "0 0 auto"
|