Skip to content

Releases: MeteorNOX/dsh-whale-bongo

dsh-whale-bongo v0.3.3

Choose a tag to compare

@MeteorNOX MeteorNOX released this 02 Nov 15:10

dsh-whale-bongo v0.3.3

本版把桌面模式的运行时、跨屏表现、Q 弹手感和 macOS 兼容性一起收敛。

桌面与跨屏

  • 桌面覆盖层改为按显示器懒创建:切换屏幕时直接启用目标覆盖层,不再拉伸/移动同一个透明窗口,减少跨屏闪跳。
  • 吸附的窗口移动到另一块屏幕时,挂件会跟随该窗口换屏,而不是丢吸附后卡在旧屏幕边缘。
  • 窗口跟随使用合成层 translate 和逐帧合并,降低高频窗口采样带来的卡顿。
  • 选择器/输入锚点跨屏、托盘召回、托盘“回到客户端内部”均保留过渡动画。

Q 弹手感

  • 「Q 弹程度」范围改为 0–15,默认 10。
  • 10 以下按 /3 重新标定,避免默认值提高后点击/按压变硬;10–15 继续加成,拉满时点击力度约为旧版满值的 1.5×,窗口跟随惯性约为 1.35×。
  • 窗口跟随的横向倾斜、纵向压缩使用独立弹簧;纵向强度为横向一半,底部固定,向上回弹,不产生纵向位移过冲。
  • 降低跟随弹簧阻尼,回摆更明显;点击/按压阻尼保持原强度。
  • 修复桌面菜单按钮/菜单在吸附到窗口顶部时不可见或离挂件过远的问题。

Windows 运行时

  • 桌面 helper 的窗口枚举与鼠标跟随合并进原生 whale-native-helper.exe,不再启动 desktop-windows.ps1 和桌面 global-keys.ps1 两个 PowerShell 侧车。
  • 原生 helper 使用 Raw Input 接收键盘,但当前真实桌面会话中仍存在漏键风险,因此 Windows 桌面键盘暂时回退到稳定的 PowerShell global-keys.ps1;窗口/鼠标保持原生。
  • Host 页面/输入法键盘监控仍然是 PowerShell;通过 SSE status 握手判断是否真正支持全局键盘,避免 macOS 上“连接成功但其实没有采样器”的误判。
  • 新增可选环境变量:DSH_WHALE_SOFTWARE_RENDER=1 / DSH_WHALE_DISABLE_GPU=1 使用软件合成;DSH_WHALE_FRAME_RATE=30..120 控制覆盖层帧率(默认 60)。

macOS

  • 新增 Quartz 窗口/鼠标采样器 desktop-macos.m,由 macos-monitor.js 用 xcrun clang 编译到私有临时目录。
  • macOS 支持桌面吸附、鼠标跟随、托盘召回、Retina 逻辑坐标和跨屏切换;需要安装 Xcode Command Line Tools(xcode-select --install)。
  • macOS 桌面内的打字目前是页面级转发,不是全局键盘捕获;全局打字仍需后续 CGEventTap + 辅助功能权限实现。

默认值与兼容

  • 快捷键过滤默认关闭(filterShortcutKeys:false)。
  • 打字角度默认改为左右分管的真实键位模式(typingAngleMode:'position-split')。
  • 已有配置不会被重置;只有新建/重置配置使用新默认值。
  • 新增 21 项桌面/macOS 回归测试;npm run check、npm test 均通过。

安装

  • GitHub Release:下载 dsh-whale-bongo-0.3.3-package.zip 或 dsh-whale-bongo-0.3.3.tgz。
  • npm:dsh plugin --profile web add dsh-whale-bongo@0.3.3。
  • 本地目录:dsh plugin --profile web add link:D:/AI/AIVidio/dsh-whale-bongo(按实际路径替换)。

已知限制

  • Windows 原生 Raw Input 键盘在部分桌面会话会漏掉物理按键,因此本版仍使用 PowerShell 键盘监控;后续需要继续验证并安全切换。
  • macOS 尚未在真实 Mac 硬件上验证;本仓库只在 Windows 上通过 mocked 回归测试。
  • macOS 全局键盘(非 DSH 页面内)尚未实现。

致谢

  • DenseFLoe:macOS 兼容性测试、问题复现与修复建议。

v0.3.2

Choose a tag to compare

@MeteorNOX MeteorNOX released this 02 Nov 06:47

dsh-whale-bongo v0.3.2

本次更新重点解决桌面模式在多显示器、不同缩放比例下的跨屏体验,并补上托盘召回、回客户端和挂件跟随窗口时的动效。

主要更新

  • 多显示器改为 A-lazy 布局:按需为每个显示器创建固定的透明覆盖层,跨屏时切换覆盖层,不再改变同一个窗口的尺寸和坐标系,避免旧坐标插值造成的瞬移。
  • 跨屏拖动:通过全局鼠标状态接管,目标覆盖层按鼠标落点和抓取偏移接管挂件,不依赖跨窗口的 Pointer Capture。
  • 回到客户端:托盘菜单新增「回到客户端内部」,复用拖到输入框磁吸点时的淡出/入场过渡,再把挂件放回输入框上方;桌面配置会保留。
  • 托盘召回:新增「召回挂件到当前屏幕」,桌面窗口被 Shift+Win+方向键 移到其他显示器后也能找回来。
  • 吸附窗口跟随换屏:挂件吸附的窗口被拖到其他显示器时,helper 记住窗口句柄,先准备目标显示器的覆盖层,再发布窗口列表,挂件继续贴合同一个窗口。
  • 跨屏 Q 弹入场:挂件从目标显示器相对来向的一侧横向弹入,不再复用客户端/桌面切换的渐隐缩放动画。
  • 窗口跟随惯性:吸附窗口横向移动时,挂件下半身保持贴合,上半身向运动反方向倾斜后回弹;竖直方向不做过冲,强度与最大角度跟随「Q 弹程度」滑块。
  • 高 DPI 吸附修复:Windows 125% / 150% / 175% / 200% 缩放下,DWM 物理像素矩形会先转换为覆盖层内的 DIP 坐标,窗口上下沿、触发范围和左右翻面分界不再偏移。
  • 过滤与当前覆盖层完全不相交的窗口;靠屏幕顶部的窗口允许挂件上缘超出视口,保证图片底边贴合窗口可见上沿。
  • 兼容旧版桌面窗口快照:旧的左右像素偏移会按当前 DPI 换算一次,比例锚点保持不变。

安装

下载本 Release 中的:

  • dsh-whale-bongo-0.3.2-package.zip,解压后得到 dsh-whale-bongo/ 目录;
  • 或 dsh-whale-bongo-0.3.2.tgz。

在 DSH「插件 → 添加插件 → 安装本地 bundle」中选择解压目录或 .tgz,然后启用插件。

桌面模式需要 Electron。插件会自动扫描已安装的运行时;如果本机没有,切换到桌面模式后按提示点击「准备桌面运行时」即可。也可以手动运行:

node scripts/ensure-electron.mjs

下载到 ~/.dsh/electron-whale/<version>,或设置 DSH_WHALE_ELECTRON 指向 Electron 可执行文件。

npm 包暂未发布。

说明

完整变更见仓库根目录 CHANGELOG.md。

v0.3.1

Choose a tag to compare

@MeteorNOX MeteorNOX released this 02 Nov 03:31

dsh-whale-bongo v0.3.1

本次为 v0.3.1 覆盖发布:在原有修复基础上,补上了桌面模式真正可用的一键 Electron 准备流程。

主要更新

  • 一键准备 Electron 运行时:第一次切到「桌面」且本机没有运行时时,客户端会显示「准备桌面运行时」卡片;点击后自动下载约 138 MB 的 Electron,全程不需要打开终端。
  • 准备卡片显示下载来源、进度、已下载大小和解压状态,可随时取消;完成后自动校验 SHA-256、原子安装,并自动进入桌面模式。
  • 失败或取消时保持客户端模式,显示中文原因和重试入口,不会留下半成品或损坏的安装目录。
  • 默认固定使用经验证的 Electron 43.3.0,优先 npmmirror,失败后回退 GitHub;DSH_WHALE_ELECTRON_VERSION=latest 可切换最新版,DSH_WHALE_ELECTRON_DIR 可指定安装目录。
  • 支持系统 HTTPS_PROXY / https_proxy(HTTP CONNECT 代理,含 Basic Auth、重定向、NO_PROXY);暂不支持 SOCKS 代理。
  • 桌面模式启动不再“假成功”:Electron 缺失或启动失败时,/desktop/start 返回 ok: false,客户端恢复挂件并显示具体原因。
  • 自动扫描 ~/.dsh/electron-whale/ 下任意已安装版本、current 和 ~/.dsh/electron/,也支持 DSH_WHALE_ELECTRON 指向目录,已有运行时不会重复下载。
  • 修复桌面全局键盘的小键盘映射:补齐 VK_NUMPAD0..9、乘除加减、小数点、分隔符和 NumpadEqual,并细化小键盘各列的真实横向键位。
  • 发布包零 npm 运行时依赖;scripts/ensure-electron.mjs 解压后即可直接运行。

安装

下载本 Release 中的:

  • dsh-whale-bongo-0.3.1-package.zip,解压后得到 dsh-whale-bongo/ 目录;
  • 或 dsh-whale-bongo-0.3.1.tgz。

在 DSH「插件 → 添加插件 → 安装本地 bundle」中选择解压目录或 .tgz,然后启用插件。

桌面模式需要 Electron。插件会自动扫描已安装的运行时;如果本机没有,切换到桌面模式后按提示点击「准备桌面运行时」即可。也可以手动运行:

node scripts/ensure-electron.mjs

下载到 ~/.dsh/electron-whale/<version>,或设置 DSH_WHALE_ELECTRON 指向 Electron 可执行文件。

npm 包暂未发布。

说明

完整变更见仓库根目录 CHANGELOG.md。

v0.3.0

Choose a tag to compare

@MeteorNOX MeteorNOX released this 01 Nov 16:54

dsh-whale-bongo v0.3.0

桌面模式首个正式版本:挂件可以从 DSH 页面脱离,作为透明、无边框、置顶的桌面挂件运行。

主要更新

  • 桌面模式:透明全工作区覆盖层,支持点击穿透、拖动、菜单和设置同步。
  • Windows 全局键盘监听:在 DSH 和其他应用里打字都能驱动桌面挂件。
  • DSH Host 全局键盘 SSE:搜狗输入法等吞掉页面 keydown 时仍能驱动客户端挂件。
  • 桌面窗口上下边缘吸附,横向沿用输入框的 45%/55% 迟滞翻转。
  • 桌面/客户端双向拖拽保持切换:右下角进入桌面,输入框磁吸点回到客户端。
  • 客户端到桌面时鼠标未松开前持续跟随鼠标;桌面到客户端带回输入框中心。
  • 切换过程交叉淡入淡出,不刷新整个 DSH 页面。
  • 桌面自动翻转在拖动期间保持方向,松开后再按吸附窗口宽度判断。
  • 客户端原地重建挂件时隐藏首帧,避免闪现。
  • 偏移方式默认改为「随机角度」。
  • 显示位置文案统一为「客户端 / 桌面」。

安装

下载本 Release 中的:

  • dsh-whale-bongo-0.3.0-package.zip,解压后得到 dsh-whale-bongo/ 目录;
  • 或 dsh-whale-bongo-0.3.0.tgz。

在 DSH「插件 → 添加插件 → 安装本地 bundle」中选择解压目录或 .tgz,然后启用插件。

npm 包暂未发布。

要求

  • Electron 43.3.0;
  • 可运行 node scripts/ensure-electron.mjs 下载到 ~/.dsh/electron-whale/43.3.0;
  • 或设置 DSH_WHALE_ELECTRON 指向 Electron 可执行文件。

说明

完整变更见仓库根目录 CHANGELOG.md。

v0.2.3

Choose a tag to compare

@MeteorNOX MeteorNOX released this 01 Nov 10:07

v0.2.3

新增

  • 对话排队消息框优先吸附。
  • 目标状态栏优先吸附。

变更

  • 吸附优先级调整为:提问/授权/计划确认面板 → 任务栏 → 目标栏 → 排队消息框 → 输入框。

v0.2.2

Choose a tag to compare

@MeteorNOX MeteorNOX released this 31 Oct 16:39

v0.2.2

新增

  • 热启用/热关闭:在 DSH 插件列表启用或关闭时即时挂载/移除挂件,不再需要重启 DSH。
  • 任务栏优先吸附:输入框上方出现「任务 N 已完成」任务条时,优先吸附任务条。
  • 面板切换移动动画:使用 JS 弹簧、底部中心锚点、身体拉伸和落地挤压,任务栏/提问/授权/计划面板切换不再瞬移。
  • 移动幅度随「Q 弹程度」变化。
  • 首次出现动效:从底部中心轻微上浮、放大并回弹到正常尺寸。

变更

  • 移除 Host 的 Web/Desktop 永久 script 注入,改由 DSH 客户端模块生命周期管理。
  • 滚动事件不再强制把挂件瞬移到目标位置。
  • 增加卡片位置探针,兜底没有 Mutation/Resize 通知的位置变化。
  • 位置弹簧改为过阻尼,取消整体过冲;Q 弹主要由身体形变承担。

修复

  • 修复热关闭时监听器、Observer、RAF、计时器和音频未清理的问题。
  • 修复面板切换/任务栏展开时可能瞬移的问题。
  • 修复启动阶段找不到输入框时 card is not defined 的崩溃。
  • 修复刷新页面时挂件先从右下角闪现、再跳到输入框高度和上次位置的问题。

v0.2.1

Choose a tag to compare

@MeteorNOX MeteorNOX released this 31 Oct 14:23

v0.2.1

更新内容

  • 翻转判定:自动模式改为以输入框中心为基准,并使用 45%/55% 迟滞区间;从右向左到 45% 才翻转,从左向右到 55% 才取消,避免在中间位置反复切换。
  • 自定义翻转分割线:翻转设置新增「自定义」,可按整个页面宽度调整分割线位置。
  • 输入框中心吸附点:新增输入框上沿中心吸附点,拖动时显示圆点提示;支持记忆吸附点、布局变化后继续跟随,并避免从吸附点拖出后不松手再拖回时重新吸附。
  • 吸附范围细化:输入框边线吸附改为按实际边线段计算,上/下边线只在输入框宽度范围内生效;输入框左右侧吸附停用,页面左右侧保留。
  • 横向锚定:吸附到元素后按中间 70% 比例、左右 15% 固定边距记录横向位置,页面或输入框宽度变化时挂件会跟随。
  • 提问/授权面板同步:提问、授权、计划确认面板出现时,挂件按输入框的吸附方式贴到当前面板上;面板关闭后回到输入框。
  • 输入框缺失兼容:提问、授权等场景输入框暂时不存在时,挂件保留在当前位置,不再消失。
  • 自定义音效:音效设置支持更换本地音频、恢复默认,音效保存在浏览器本地。
  • 持久化修复:吸附点 ID 和横向锚定配置会正确保存,刷新后保持。

安装

在 DSH 插件管理器中安装 dsh-whale-bongo,或使用 GitHub Release 的本地包。
桌面端安装/更新后需完全退出并重开 DSH;Web 端按 Ctrl+F5 硬刷新。

npm 包暂未发布,npm 安装方式请等待账号解封。

素材说明

  • 代码:MIT。
  • 所有图片与音效素材版权归 dsh-bongo-fish 原作者所有,按双方约定使用,不随代码 MIT 许可重新授权。

v0.2.0

Choose a tag to compare

@MeteorNOX MeteorNOX released this 31 Oct 08:38

v0.2.0

更新内容

  • 打字角度系统:新增「关闭 / 随机角度 / 真实键位(交替按) / 真实键位(左右分管)」四种模式。
  • 真实键位:使用独立的 assets/key-angles.json 键位横向坐标表,覆盖 148 个键位,包括主键盘、功能键、方向键、小键盘、国际键和媒体键。
  • 左右分管:左手管左侧、右手管右侧;中间区域按上一只手交替。
  • 随机角度:范围 0–60°,默认 30°;同键连续按沿用上次角度,换键重新随机。
  • 快捷键过滤:新增开关,默认过滤 Ctrl / Shift / Alt / Meta / CapsLock 等修饰键及组合键;关闭后这些键也会触发手手。
  • Q 弹程度:改为 0–10 显示,默认 5,对应旧版 250。
  • 鼠标按压行为:支持手部跟随下压 / 手部变扁不下压 / 手部不跟随,默认变扁不下压。
  • 水平翻转:自动 / 始终不翻转 / 始终翻转,自动模式在挂件位于界面左半边时镜像翻转,并带弹性过渡。
  • 菜单体验:自定义下拉组件;菜单顶部增加 56px 标题栏安全区;展开/拖动不会把关闭按钮顶到标题栏上方。
  • 音量:0 显示为「关」,默认音量 15。
  • 视觉细节:图片 Q 弹不裁左右、投影完整;手部不参与碰撞箱。

安装

在 DSH 插件管理器中安装 dsh-whale-bongo,或使用 GitHub Release 的本地包。
桌面端安装/更新后需完全退出并重开 DSH;Web 端按 Ctrl+F5 硬刷新。

npm 包暂未发布,npm 安装方式请等待账号解封。

素材说明

  • 代码:MIT。
  • 所有图片与音效素材版权归 dsh-bongo-fish 原作者所有,按双方约定使用,不随代码 MIT 许可重新授权。

v0.1.0

Choose a tag to compare

@MeteorNOX MeteorNOX released this 30 Oct 09:20

v0.1.0

更新内容

  • 首个公开版本:Whale Bongo 手手挂件 正式发布。
  • 双手按键反馈:手手随敲键按下,同键同手、异键交替。
  • QQ 弹弹的图片动效:图片以底边为锚点回弹,强度可调。
  • 完整外观设置:可换图片,调手部颜色、轮廓粗细、手部几何和挂件大小。
  • 透明穿透与自由磁吸:透明区域不挡点击,松手自动吸附输入框或窗口边缘。
  • 可拖动设置菜单:折叠分类、标题固定、菜单独立于挂件大小。

安装:在 DSH 插件管理器输入 dsh-whale-bongo;桌面端完全退出并重开 DSH,Web 端按 Ctrl+F5 硬刷新。

详细说明(点击展开)

1. 手部与动效

  • 单手手宽度、比例、间距、对称轴、垂直位置可调。
  • 手部内部色、轮廓色、轮廓粗细可调,单项可重置。
  • 图片 Q 弹强度 0–500,默认 250。
  • 图片底边对齐挂件底部,Q 弹时不裁左右。

2. 菜单与交互

  • 菜单按主题折叠;图片、手部、音效默认收起,动效与大小直接显示。
  • 菜单标题固定在顶部,内容区独立滚动。
  • 菜单可临时拖动;每次重新打开回到挂件旁固定位置。
  • 调整挂件大小时,菜单保持独立的屏幕位置,不跟随缩放。

3. 安装与卸载

  • 安装:DSH 插件管理器输入 dsh-whale-bongo。
  • 卸载:从插件管理器移除 dsh-whale-bongo。
  • 卸载后可在浏览器站点数据中清理本插件的设置与图片。

4. 素材说明

  • 代码:MIT。
  • 图片与音效素材版权归 dsh-bongo-fish 原作者所有,按双方约定使用,不随代码 MIT 许可重新授权。