dsh-wisp 1.29.0 → 1.31.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.md +91 -0
- package/lib/client.js +404 -42
- package/lib/client.template.js +404 -42
- package/package.json +1 -1
- package/tools/smoke.mjs +1 -1
- package/verify-wisp.mjs +307 -40
package/README.md
CHANGED
|
@@ -448,6 +448,97 @@ node tools/audit-log.mjs --confirm <manifest> # 生成后:并入代理登
|
|
|
448
448
|
|
|
449
449
|
## 变更
|
|
450
450
|
|
|
451
|
+
### 1.31.0
|
|
452
|
+
|
|
453
|
+
**菜单重做。** 上一版只是"把 19 个条目收进三个分组" —— 那是分类,不是交互设计。
|
|
454
|
+
这一版按交互本身重做。
|
|
455
|
+
|
|
456
|
+
**问题(先认下来)**:
|
|
457
|
+
|
|
458
|
+
- 信息和动作混在一起:「关于她…」「动作一览…」「版本与更新」和「专注 25 分钟」并列,
|
|
459
|
+
而版本号在「关于她」里还有一份 —— 同一件事出现在两个地方;
|
|
460
|
+
- 三个分组**只看得到名字**:收起时不知道里面是什么、当前是什么状态;
|
|
461
|
+
- 开关是「✓ 自己溜达」这种**带勾的文字**,而且点完菜单就关 —— 拨开关时菜单消失是最烦人的交互之一;
|
|
462
|
+
- 「放大一点/缩小一点」把**连续量**做成了两个离散按钮;
|
|
463
|
+
- 四个角落是四个**文字条目** —— 空间的事没有用空间的形式表达;
|
|
464
|
+
- 最常用的「专注」埋在二级;专注中菜单里**看不出还剩多久**;
|
|
465
|
+
- 7 行长得一模一样,没有分隔、没有层次、没有键盘提示。
|
|
466
|
+
|
|
467
|
+
**现在**:
|
|
468
|
+
|
|
469
|
+
```
|
|
470
|
+
DeepSeek娘 ← 头部:名字 + 版本 + 当前皮肤 +(专注中)
|
|
471
|
+
v1.31.0 · 深海女仆
|
|
472
|
+
─────────────────────────────
|
|
473
|
+
专注 25 分钟 ← 常用动作置顶;进行中时这一行就是状态 + 结束
|
|
474
|
+
专注 45 分钟
|
|
475
|
+
─────────────────────────────
|
|
476
|
+
外观 深海女仆 ▸ ← 摘要行:收起时也知道里面是什么、现在是什么
|
|
477
|
+
行为 4/5 开 ▸
|
|
478
|
+
位置 右下角 ▸
|
|
479
|
+
大小 ──────●────── 100% ← 滑块:拖动即时改;键盘 ←→ 各 0.25 档
|
|
480
|
+
─────────────────────────────
|
|
481
|
+
动作一览…
|
|
482
|
+
关于她… ← 检查更新移到这里(版本号已在头部)
|
|
483
|
+
─────────────────────────────
|
|
484
|
+
先躲起来
|
|
485
|
+
↑↓ 选择 · ←→ 调大小 · Esc 关闭
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
- **开关是真开关**:`role="menuitemcheckbox"` + `aria-checked` + 可见的滑轨,
|
|
489
|
+
点完**不关菜单**,原地更新(摘要里的「N/M 开」也跟着变);
|
|
490
|
+
- **大小是滑块**:`role="slider"` + `aria-valuenow`,指针拖、键盘调都可以,同样不关菜单;
|
|
491
|
+
- **位置是 2×2 罗盘**:四个方位按钮,当前所在的那个有标记;
|
|
492
|
+
- **版本与更新收进「关于她」**:菜单头部直接显示版本号,检查更新是弹窗里的一个按钮
|
|
493
|
+
(上下文才对得上);
|
|
494
|
+
- **三段式**:动作在上、设置在中间、信息在下,段间有分隔线;底部一行键盘提示。
|
|
495
|
+
|
|
496
|
+
预检 473 → **502 项**,冒烟 53 项(真浏览器里新增:分组展开后菜单仍在视口内、
|
|
497
|
+
关于弹窗真的在屏幕上、动作一览八张图真的解码 8/8)。
|
|
498
|
+
|
|
499
|
+
**替身(简化 DOM)这次修了三处"不忠实"** —— 它们让真代码在测试里表现不对:
|
|
500
|
+
|
|
501
|
+
1. 元素级 `querySelector`/`querySelectorAll` 与替身的 `all()`/`find()` 原来是**类名精确相等**,
|
|
502
|
+
而真实 DOM 的 `.a` 是**按类名列表**匹配 —— 于是 `wisp-menu-item wisp-menu-row` 这类行
|
|
503
|
+
在替身里"不存在"。这个坑前后踩过两次,这次统一成类名列表;
|
|
504
|
+
2. 只支持**单个类名或标签**选择器(属性选择器、复合选择器都不行)→ 于是给滑块数值与角落按钮
|
|
505
|
+
各配了一个类名,测试不再依赖替身不支持的选择器;
|
|
506
|
+
3. 测试里判断"焦点在滑块上"要**重新取当前元素**:菜单每次重画都换新元素,
|
|
507
|
+
拿之前抓到的做同一性比较会假失败。
|
|
508
|
+
|
|
509
|
+
### 1.30.0
|
|
510
|
+
|
|
511
|
+
### 1.30.0
|
|
512
|
+
|
|
513
|
+
这一版是**功能**,不是台词。
|
|
514
|
+
|
|
515
|
+
- **专注计时器。** 桌面陪伴插件最该有的实用功能:替你画出一段时间的边界。
|
|
516
|
+
|
|
517
|
+
- 菜单「行为」组里「**专注 25 分钟**」/「**专注 45 分钟**」(默认时长 `focusMinutes`),
|
|
518
|
+
专注中多一条「**结束专注**」(平时不出现 —— 菜单里不该有按不动的条目);
|
|
519
|
+
- 专注期间**她保持"干活中"的姿势**:稳态轮询不许把她挪走 ✓。这条 hold 放在久坐 / 干饭 /
|
|
520
|
+
劝睡**之后** —— 那三件事该响还得响,只是姿势归专注管;
|
|
521
|
+
- **戳她一下 = 问还剩多久**(*"还有 23 分钟呢,盯着屏幕。"*),而且不计入"连戳",
|
|
522
|
+
不会升级成抗议;
|
|
523
|
+
- 到点她换 `proud` 说收工(*"这一轮 25 分钟,结束了。"*),`doctor().focus.done` 累计完成次数;
|
|
524
|
+
- 她**不碰应用**:不改输入框、不发消息、不点任何按钮 —— 只陪着 + 计时。
|
|
525
|
+
|
|
526
|
+
- **页面藏起来就安静。** 挂 `visibilitychange`:藏起来时停掉**轮询 / 絮叨 / 踱步**三个定时器,
|
|
527
|
+
回来再按配置重新挂上。没人在看的时候不该空转 CPU(顺带省电)。
|
|
528
|
+
|
|
529
|
+
- 这不是"少做点事"而是"诚实":藏起来期间 DOM 再吵她也不该有反应 —— 测试就是这么断言的
|
|
530
|
+
(藏起来时来三个报错她一声不吭;回来之后同一批报错立刻被看见);
|
|
531
|
+
- 恢复**先于**问候:先保证活着,再谈礼貌;
|
|
532
|
+
- `doctor().timers` 报告 `{ poll, chatter, wander, paused }`。
|
|
533
|
+
|
|
534
|
+
- 预检 451 → **473 项**。
|
|
535
|
+
|
|
536
|
+
- 记一个测试教训:戳她要用**既有的那套姿势**(`pointerdown` 落在 `.wisp-body`、
|
|
537
|
+
`pointerup` 落在 `window`、坐标要在她身上)—— 我第一版两个事件都发到 `root` 上,
|
|
538
|
+
她当然没反应,白查了一轮。
|
|
539
|
+
|
|
540
|
+
### 1.29.0
|
|
541
|
+
|
|
451
542
|
### 1.29.0
|
|
452
543
|
|
|
453
544
|
三件和"她真的陪着你"有关的事。都不需要新素材,全是行为 + 台词。
|