dsh-whale-widget 0.3.16 → 0.3.18
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 +12 -2
- package/assets/whale-widget.js +508 -67
- package/lib/accounting.mjs +39 -2
- package/lib/index.js +286 -41
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,7 +50,8 @@ DeepSeek Harness(DSH)Web 界面右下角的常驻挂件:小鲸鱼气泡图
|
|
|
50
50
|
- **随机语句**(多条句子带权重,每次显示抽 1 条且不连续重复)
|
|
51
51
|
- **图片/动图**(从泡泡图库选,独占一整行)
|
|
52
52
|
- **随机图片**(多张图带权重,抽 1 张且不连续重复,同样独占一行)
|
|
53
|
-
-
|
|
53
|
+
- **总余额(充值金额+赠金)**、**赠金**、**充值余额**、今日已用、峰谷时段、**对话名**(内置数值,内容自动获取,可调占位符与样式;对话名可设「**保留长度**」,超出部分显示为 `...`,`0` = 不截断)
|
|
54
|
+
- 三个余额类模块的分工:**总余额(充值金额+赠金)** = 充值余额 + 赠金(`{balance_ds}`,老配置里的模块照旧显示,无需重配);**赠金**(`{bonus_ds}`)与**充值余额**(`{recharge_ds}`)是单独拆出来的两个模块,取不到数时显示 `—`(真的为 0 才显示 `0.00`)
|
|
54
55
|
- 🎨 **逐模块样式**:字体(含自定义字体)、字号、加粗/斜体/下划线、纯色或**跑马灯渐变**配色、底色;文本与随机语句支持悬浮快捷编辑
|
|
55
56
|
- 🖐️ **拖拽排版**:桌面端原生拖拽、移动端长按拖拽;模块可并入某行首/尾、可拆行、整行可排序;**每行最多 6 个模块、泡泡最多 6 行**,图片类模块独占一行且一个泡泡只允许一个
|
|
56
57
|
- 📚 **模块库**:把常用模块"另存"进库,之后在任意泡泡里点击或拖入复用
|
|
@@ -68,7 +69,7 @@ DeepSeek Harness(DSH)Web 界面右下角的常驻挂件:小鲸鱼气泡图
|
|
|
68
69
|
- 🔊 **按压 & 松开音效**:内置「小黄鸭」「音效1」两套预置;也可导入音频片段并自由组合成**自定义音效组**(槽位可留空 = 该事件静音)
|
|
69
70
|
- 🎵 **任务结束音**:一轮回复完成时播放;内置两个预设音效 —— 默认 **Minecraft·经验球**(`assets/minecraft-exp-orb.wav`)与 **A**(`assets/task-end-a.wav`),也可选任意片段或音效组
|
|
70
71
|
- ⏳ **提问音 / 授权音**:DSH 需要你回答或批准时播放;与任务结束音共用同一套音效库,**各自可调音量**,音效行左侧的 `[✓]` 决定「响不响」(不响 = 仍会冒泡提示)
|
|
71
|
-
- 🔉
|
|
72
|
+
- 🔉 **音量:一条全局 + 三条按事件**:①区「按压音效」的音量是**全局基准**(按压 / 松开音用它);②③④ 区(每轮消耗提示 / 提问提示 / 授权提示)各有一条自己的音量滑块,每行都带「试听」。**没动过某个事件的滑块时,它跟随①区音量**(入口行摘要会写明 `跟随按压音量 N%`);**一旦你拖过那个滑块,就按你设的值播**(摘要只显示百分比)。这样既能"一个总音量管全局",也能单独压低某类提示音。
|
|
72
73
|
- ✂️ **音频片段管理**:导入时可视化裁剪、试听;资源管理窗口(菜单 → 资源管理 → 「管理」)按 **图片 / 音频 两个可折叠入口**统一查看/试听/删除 —— 入口行右侧直接显示数量(如 `角色 1 · 泡泡图 2`、`音效组 3 · 片段 4`),点一行才展开明细;「导入片段」在音频那一区里;收起/展开时会顺带停掉正在试听的那一段
|
|
73
74
|
- 🐳 **自定义角色**:上传自己的鲸鱼图片(图库管理,可回退默认)
|
|
74
75
|
- 🖼️ **泡泡图库**:内置 `petpet`、`money1` 两张图,也可上传 png/gif,供图片/随机图片模块使用
|
|
@@ -394,6 +395,7 @@ curl http://127.0.0.1:3080/dsh-whale/audio.json
|
|
|
394
395
|
- `/dsh-whale/audio.json` → 200,含 `groups` / `fragments`(其中内置片段 `exp_orb` = Minecraft·经验球、`end_a` = A)
|
|
395
396
|
- `/dsh-whale/audio-fragment.wav?id=exp_orb` → 200 `audio/wav`(内置任务结束音;无需用户导入)
|
|
396
397
|
- `/dsh-whale/audio-fragment.wav?id=end_a` → 200 `audio/wav`(内置任务结束音 A)
|
|
398
|
+
- `/dsh-whale/wait.json` → 200 JSON,含 `{ok:true, pending}`;`pending` 为当前挂起的「提问 / 授权」(`{kind:'question'|'approval', id, ts}`)或 `null` —— 这是「提问提示 / 授权提示」音效与常驻气泡的数据源(默认每秒轮询一次)
|
|
397
399
|
- 浏览器 F5 后右下角出现挂件
|
|
398
400
|
|
|
399
401
|
> ⚠️ **关于上面这些 `curl`**:全部 **23 个** `/dsh-whale/*` 路由都已接入 **DSH 浏览器信任栅栏**(`connection.requestRejection`)。
|
|
@@ -423,6 +425,9 @@ curl http://127.0.0.1:3080/dsh-whale/audio.json
|
|
|
423
425
|
- **每轮消耗不显示**:确认「音效与提示 → 全局设置」里「每轮消耗提示」那一行**左边的 `[✓]`** 是勾上的(入口行右侧摘要会直接显示 `已关闭` 或当前配置);一轮对话要完整结束(`turn/end`)才结算。余额变化泡泡与消耗泡泡抢层时,提醒会退化为居中卡片。
|
|
424
426
|
- **每轮消耗泡泡的内容**:「音效与提示 → 全局设置」→ **展开「每轮消耗提示」** → 「编辑提示内容」(模块化,金额用 `{cost}`);同一区里能设自动关闭秒数、提示音量与任务结束音效。
|
|
425
427
|
- **任务结束音没响**:该开关**默认开着**(默认音是内置 **`A`**,另有内置的 Minecraft·经验球可选);到「音效与提示 → 全局设置」→ **展开「每轮消耗提示」**,确认「任务结束音」那行左侧的 `[✓]` 是勾上的(取消勾选 = 静音)。若自定义片段文件被删,会回退/静音。
|
|
428
|
+
- **提示音量调了没用 / 到底听谁的**:把「每轮消耗提示」那一行展开,拖动它自己的「**提示音量**」滑块 ⇒ 该事件的音量**立刻由它说了算**(入口行摘要从 `跟随按压音量 N%` 变成 `N%`)。**没拖过**时它跟随①区「按压音效」的音量 —— 摘要里会写明,滑块也显示实际生效值。想让某类提示更轻就把自己的滑块调小;想整体轻就调①区。点「恢复默认」会把这几条都退回"跟随①区"。(0.3.17 之前这个滑块确实不生效,是本版修好的。)
|
|
429
|
+
- **保存后设置没生效 / 保存到底成没成**:0.3.17 起保存失败**不再静默** —— 点「保存」若写入失败,会自动重试一次,仍失败则弹出 `⚠ 设置保存失败:<原因>`(例如数据目录只读、接口被拦)。看到这条提示说明**这次改动没有落盘**,请按原因处理后再保存一次。
|
|
430
|
+
- **等待提问 / 授权的气泡关不掉**:**点一下那个气泡即可收起**(同一条挂起不会再自动弹回;你回答/批准后,或下一次新的提问/授权到来时照常提示)。想让**点角色(鲸鱼)也能收起**提示气泡,去「音效与提示 → 全局设置」面板最下面勾上「**点按角色关闭提示气泡**」(默认关)。两处说明都收在旁边的 `?` 圈圈里。
|
|
426
431
|
- **换了 / 删了 API key 之后,更早的记账天变成「本地估算 ¥0.00」**:记账按**密钥指纹分本**(一把 key 一本账),换 key 等于换了一本 —— 数据**没丢**,都在 `.dshw-usage.json` 的 `accounting.books` 里。当前版本已让界面把历史本里的日期正常显示(标注「已观测消费 · 历史账户」),并在「小鲸鱼记账」面板顶部提示「检测到 N 个记账本」;**两个本不会被相加**(插件无法判断两次是不是同一个账户),但同一天的明细可以在该面板的「每日与逐条明细」里逐日查看。
|
|
427
432
|
- **手机上拖不动鲸鱼**:本版本已用触摸事件接管拖拽,请硬刷新页面拿到最新 `whale-widget.js`;仍不行请反馈浏览器型号。
|
|
428
433
|
- **隐藏了菜单按钮怎么进菜单**:电脑端右键鲸鱼,手机端长按鲸鱼约 1.5 秒。
|
|
@@ -448,6 +453,11 @@ curl http://127.0.0.1:3080/dsh-whale/audio.json
|
|
|
448
453
|
|
|
449
454
|
## 致谢
|
|
450
455
|
|
|
456
|
+
- **0.3.17 的「②区『提示音量』滑块其实不生效 + ②区『冒泡提示』没人读」**由一位 **QQ 群友**(未留 GitHub 账号)做了一轮完整的代码分析后报告:他复现了"拖到最低仍出声"、定位到 `playTaskEndSound()` 读的是①区全局音量、并附了可复用的补丁与两个预打版压缩包供对比。**这两个都是真 bug**(第二个是我顺着他的思路查出来的),0.3.17 已按"解析器 + 三态音量"的方式修复(比补丁覆盖面更广:**音效组那条路也修了**),并新增了一条 CI 检查专门拦这类"控件有值、没有消费方"的问题。感谢他的报告。
|
|
457
|
+
- **0.3.16 的「换 / 删 API key 后旧记账被分本隐藏」**(切换当天金额被覆盖、更早的天数退化成「本地估算」)由 GitHub 用户 [@0Sakura721](https://github.com/0Sakura721) 在 [#163](https://github.com/MeteorNOX/DeepSeek-Balance-Whale-Widget/issues/163) 中报告,并**直接给出了根因位置**(`lib/index.js` 里用密钥哈希当账户标识、`accounting.mjs` 的 `observeBalance` / `currentBook` 只读 active 本)与数据佐证 —— 让这次能一次做实"数据没丢、只是没有入口"这个判断。0.3.16 据此修复(旧本日期照常显示并标注「已观测消费 · 历史账户」)。感谢他。
|
|
458
|
+
- **0.3.16 的「下载管理器抢走挂件音效请求」**(IDM 等每次打开 DSH 弹下载框、关音效也照样弹)由 GitHub 用户 [@VaeKaras](https://github.com/VaeKaras) 在 [#158](https://github.com/MeteorNOX/DeepSeek-Balance-Whale-Widget/issues/158) 中报告,复现步骤、被抢的 URL 形态与"关音效无效"的观察都很完整 —— README 据此新增该已知问题与站点排除做法。感谢他。
|
|
459
|
+
- **官方桌面端「新装也可能需要重开客户端」**由 GitHub 用户 [@MengLs1620](https://github.com/MengLs1620) 在 [#162](https://github.com/MeteorNOX/DeepSeek-Balance-Whale-Widget/issues/162) 中实测反馈,README 的生效方式据此补正。感谢他。
|
|
460
|
+
- **「让鲸鱼娘响应任务状态并给出音效提示」**由 GitHub 用户 [@Jy-EggRoll](https://github.com/Jy-EggRoll) 在 [#160](https://github.com/MeteorNOX/DeepSeek-Balance-Whale-Widget/issues/160) 中提出,并**提交了实现 PR [#161](https://github.com/MeteorNOX/DeepSeek-Balance-Whale-Widget/pull/161)**(其中 `GET /dsh-whale/wait.json` 的数据形状 `{ok, pending:{kind,id,ts}}` 与主线最终方案一致;本 README 的 `wait.json` 路由说明即采纳其写法)。0.3.16 的提问/授权提示音效与常驻气泡按主线方案落地(四入口面板 / 每事件音量与试听 / 抢占置顶)。感谢他,也欢迎他继续参与这个项目的工程化改进。
|
|
451
461
|
- **0.3.15 的凭据安全修复**(写入自定义模型即可让宿主动用真实 API key 去请求任意地址,从而外带凭据)由 **B 站用户「星丶白羽莲」** 负责任地报告:把复现步骤、环境与前置条件一起给出,使这次能在**不打死自建网关这类正当用法**的前提下收紧边界。感谢他的支持。
|
|
452
462
|
- **DSH 账号登录态读余额**(端点与鉴权头、凭据记录的位置、DSH 自身 `deepseekAccount` 服务的推荐调用方式,以及三个集成坑:账户标识字符集、赠金要计入基准、服务可能不存在)由 GitHub 用户 [@yybai25](https://github.com/yybai25) 在 [#157](https://github.com/MeteorNOX/DeepSeek-Balance-Whale-Widget/issues/157) 中给出完整规格与**已在自己机器上验证过的参考实现**;**0.3.14 据此实现**(只调 DSH 服务、不接触账号令牌)。感谢他的贡献。
|
|
453
463
|
- 充值记账修复方案(余额上升与下降分开记账、显式余额校正公式、按账户/币种隔离观测窗口、账本原子写入与迁移备份)由 GitHub 用户 [@Yang-huai406](https://github.com/Yang-huai406) 独立设计并实现为可运行的修复分支;**0.3.1 在该方案基础上移植合并**,并保留本项目既有的音效修复。感谢他的支持。
|