Repository navigation
Releases: davyxiaoxiao/dsh-whalegirl
Release list
鲸鱼娘 1.3.1 · macOS + Windows
鲸鱼娘 1.3.1 · macOS + Windows
修复 1.3.0 的 macOS 安装包在 Apple Silicon 上打不开的问题。功能与 1.3.0 一致,只是换了正确的签名方式。
下载
| 平台 | 文件 |
|---|---|
| macOS 13+(Apple Silicon) | WhaleGirl-1.3.1-macos-arm64.dmg |
| Windows 10/11 x64 | WhaleGirl-1.3.1-win-x64-setup.exe |
- macOS 用 DMG 安装,拖进「应用程序」。ad-hoc 签名、未经 Apple 公证,首次启动右键 →「打开」。
- Windows 用 NSIS 安装;未签名,SmartScreen 选「更多信息 → 仍要运行」。
1.3.1 修复
- macOS「“鲸鱼娘”已损坏,无法打开」:1.3.0 的
.app只保留了链接器写下的占位签名(Sealed Resources=none),包内资源没有签名,Apple Silicon 直接判定为已损坏,右键「打开」也绕不过去。现在bundle.macOS.signingIdentity显式设为-,Tauri 会对整个 bundle 做 ad-hoc 签名,codesign --verify --deep --strict通过,Identifier 也回到com.daiwei.whalegirl。 - CI 加签名校验:macOS 构建后执行
codesign --verify并检查封装资源签名,不通过就让构建失败,坏包不会再被发布。 - 已装了 1.3.0 的用户:直接用 1.3.1 覆盖安装即可;不想重装也可以对旧包执行
xattr -cr "/Applications/鲸鱼娘.app"和codesign --force --deep --sign - "/Applications/鲸鱼娘.app"。
仓库整理
- 移除遗留的 Swift/AppKit 实现,只保留 Tauri 2 + Rust 一套代码(旧版本仍在 git 历史和 v1.2.0 Release)。
- README 补充 macOS「已损坏」的成因与自救命令。
已知缺口
- 仍是 ad-hoc 签名,没有 Apple Developer ID 公证:首次启动会有「无法验证开发者」,需要右键「打开」或到「系统设置 → 隐私与安全性」放行。
- AX 精确跳转、自动更新签名通道、开机自启尚未接入。
- Windows 点击穿透暂时关闭;后续用原生 DPI 命中判定恢复。
鲸鱼娘 1.3.0 · macOS + Windows
鲸鱼娘 1.3.0 · macOS + Windows
第一个统一版本:macOS 跨平台版和 Windows 版使用同一个版本号。旧的 Swift/AppKit v1.2.0 Release 保留不动,新跨平台 App 是独立的 鲸鱼娘.app。
下载
| 平台 | 文件 |
|---|---|
| macOS 13+(Apple Silicon) | WhaleGirl-1.3.0-macos-arm64.dmg |
| Windows 10/11 x64 | WhaleGirl-1.3.0-win-x64-setup.exe |
- macOS 用 DMG 安装;未签名,首次右键「打开」。
- Windows 用 NSIS 安装;未签名,SmartScreen 选「更多信息 → 仍要运行」。
1.3.0 包含的修复
- 启动只创建宠物窗口,任务面板按需创建,修复部分 Windows/WebView2 双环境启动闪退。
- Windows 暂时关闭点击穿透,保证宠物可点击、可拖动(透明边距会拦截点击)。
- 修复 Windows 开启“减少动态效果”时星星粒子静止堆在脚下。
- App 把真实 exe 路径写入
.dsh/storages/bluefish-pet.json,配合插件dsh-bluefish-pet 1.1.3支持自定义目录/手动复制安装的自启。 - 保留启动/崩溃日志、
--safe模式、托盘、控制端口、深链。
随 DSH 自启
- 手动启动一次本 App(写入 exe 路径)。
- DSH 插件页卸载旧版,安装
github:davyxiaoxiao/dsh-plugin-bluefish-pet(1.1.3)。 - 重启 DSH。
npm 上的 dsh-bluefish-pet 仍是 1.0.1(macOS-only),Windows 自启必须用 GitHub 1.1.3。
已知缺口
- AX 精确跳转、自动更新签名通道、开机自启尚未接入。
- Windows 点击穿透暂时关闭;后续用原生 DPI 命中判定恢复。
- 旧 Swift v1.2.0 的更新器不会把 1.3.0 当作自身升级(资产为 DMG/EXE,不是 pkg/zip)。
鲸鱼娘 跨平台预览版 0.1.5
0.1.5:App 把真实 exe 路径写进 ~/.dsh/storages/bluefish-pet.json,配合 dsh-bluefish-pet 1.1.3,自定义目录/手动复制的安装也能随 DSH 自启(先手动启动一次 App)。同时包含 0.1.3 的 Windows 可点击/拖动、0.1.4 的星星粒子修复。Windows SHA256 cabb79d6f144a47db93a5016e38438ddde0508317206144ef100e5faefec4fe9;macOS 1932aaab09614917a884708e45035182b08de3d9d582c99305a04746a315be2c。
鲸鱼娘 跨平台预览版 0.1.4
修复 Windows 开启“减少动态效果”时,双击后的星星粒子静止堆在脚下:粒子默认 opacity:0,reduced-motion 下隐藏粒子层。Windows 安装包由 tag 构建上传。SHA256: Windows 2801057409d43cd31a0d92a1420348f1087e9a0c2b81c0edc68c0759bb13216f / macOS f2b9f8327da45b547ce2b41cd1a8eaf0a65f66bdb62e242a99bf700baca4a7fd
鲸鱼娘 跨平台预览版 0.1.3
鲸鱼娘 · 跨平台预览版 0.1.3
修复 Windows 上“点宠物没反应、随后拖不动”。
原因
0.1.2 解决了启动时双 WebView2 崩溃,但 Windows 的全局鼠标命中判定在部分 DPI/多屏环境里会一直得出“鼠标在窗口外”,于是窗口保持 ignore_cursor_events = true:宠物看得见,但所有点击和拖动都穿透走了。
修复
- Windows 暂时关闭点击穿透,整个 360×400 的小宠物窗口都接收鼠标事件;
- 任务面板仍按需创建(0.1.2 的修复保留);
- 面板打开动作改到后台线程派发到主线程,避免点击时主线程等待事件循环;
- macOS 保持原来的逐像素点击穿透。
已知取舍
Windows 上宠物窗口的透明边距暂时也会拦截点击。等 Windows 原生命中判定(DPI 坐标)修好后再恢复逐像素穿透。
升级
- 任务管理器结束所有
whalegirl-app.exe; - 装 0.1.3,启动后点宠物应能打开任务面板,按住应能拖动;
- 仍不行就看
%LOCALAPPDATA%\com.daiwei.whalegirl\logs\whalegirl.log,现在会记录command: toggle_board、board: creating、hit-test: click-through disabled on Windows。
下载
| 平台 | 文件 | SHA256 |
|---|---|---|
| Windows 10/11 x64 | WhaleGirl-0.1.3-win-x64-setup.exe |
b57eed6c59bf9755399c6d7eee329c66b64c99cffe1fa3bac96c096b1175eada |
| macOS 13+ Apple Silicon | WhaleGirl-0.1.3-macos-arm64.zip |
54b49db716ecba30deffdc9396e7363a550928c395f36343fc0e04b1c6c0adef |
未签名:Windows SmartScreen 选择「更多信息 → 仍要运行」;macOS 首次右键 →「打开」。
鲸鱼娘 跨平台预览版 0.1.2
鲸鱼娘 · 跨平台预览版 0.1.2
修复 0.1.1 在部分 Windows 上“窗口出现 1–2 秒后消失”的闪退。
根因
崩溃日志:
PANIC: panicked at core/panicking.rs:225:
panic in a function that cannot unwind
...
CreateSharedWebViewEnvironmentInternal
...
DispatchMessageW
启动时同时创建宠物窗和任务面板窗两个 WebView2 环境,在部分 Windows / WebView2 版本上会触发不可 unwind 的 COM 回调 panic,进程直接 abort。
修复
- 启动时只创建宠物窗口。
- 任务面板改为首次打开时按需创建,避开双 WebView2 环境的启动竞争。
- 新增 Windows CI 冒烟:静默安装 → 启动 12 秒 → 打开任务面板 → 再检查进程存活;这次已通过。
- 保留 0.1.1 的启动/崩溃日志与
--safe模式。
升级步骤
- 任务管理器结束所有
whalegirl-app.exe(或重启)。 - 安装 0.1.2;如果之前装到了自定义目录(例如
D:\新建文件夹 (3)\鲸鱼娘),建议先卸载旧版或删掉旧目录,避免误启动 0.1.1。 - 启动后确认版本:
(Get-Item "$env:LOCALAPPDATA\鲸鱼娘\whalegirl-app.exe").VersionInfo.FileVersion
- 仍闪退就把
%LOCALAPPDATA%\com.daiwei.whalegirl\logs\whalegirl.log发我。
下载
| 平台 | 文件 | SHA256 |
|---|---|---|
| Windows 10/11 x64 | WhaleGirl-0.1.2-win-x64-setup.exe |
03ef06d39170e9875d09fa148f12ca80ef3222445fefe2f9c52fcfcb73c3fc70 |
| macOS 13+ Apple Silicon | WhaleGirl-0.1.2-macos-arm64.zip |
306a3ac7c74d13889f3bb585c559b5c8a99ed985024e83d999f98be83de30af4 |
未签名:Windows SmartScreen 选择「更多信息 → 仍要运行」;macOS 首次右键 →「打开」。
鲸鱼娘 跨平台预览版 0.1.1(Windows 闪退诊断)
鲸鱼娘 · 跨平台预览版 0.1.1
这个版本主要针对 0.1.0 在部分 Windows 上启动即退出 的反馈:先把启动过程变成可诊断的,并让托盘初始化失败不再阻止应用启动。
这不是一个“已确认修好闪退”的版本。如果你装完仍然闪退,请把日志发我,我按日志继续修。
本版改动
- 启动 / 崩溃日志:每次启动写
%LOCALAPPDATA%\com.daiwei.whalegirl\logs\whalegirl.log,panic 会附带调用栈。 - 托盘失败不再退出:托盘图标/菜单创建失败只记日志,宠物窗口继续运行。
--safe安全模式:跳过托盘、控制端口、监控线程和深链,只创建窗口,用来判断问题是否出在系统集成层。- Windows 安装器:仍是 NSIS;这次由 GitHub Actions 的
windows-latest实际编译,并在 tag 构建时直接上传到本 Release。
仍闪退时怎么查
- 先确认日志文件是否存在:
Get-Content "$env:LOCALAPPDATA\com.daiwei.whalegirl\logs\whalegirl.log" -Tail 40
- 文件存在:把最后几十行发我;能看到是
setup: begin之后、托盘、控制端口还是其它阶段。 - 文件完全不存在:说明进程没走到 Rust 入口,最常见是 WebView2 Runtime 缺失或 VC 运行库/杀软拦截。请安装 Microsoft Edge WebView2 Runtime,再试。
- 文件存在:把最后几十行发我;能看到是
- 用安全模式启动(路径以开始菜单快捷方式 → 右键 → 打开文件位置为准):
如果安全模式能出现宠物,说明问题在托盘/控制端口/深链;把日志发我。
& "$env:LOCALAPPDATA\鲸鱼娘\whalegirl-app.exe" --safe
- 事件查看器(可选):
Get-WinEvent -FilterHashtable @{LogName='Application'; StartTime=(Get-Date).AddHours(-1)} | Where-Object { $_.ProviderName -match 'Application Error|Windows Error Reporting' } | Select-Object -First 5 TimeCreated,ProviderName,Message | Format-List
0.1.1 的 Windows CI 结果
windows-latest 上已做静默安装 + 实际启动 + 12 秒存活检查:
- 安装路径:
C:\Users\<user>\AppData\Local\鲸鱼娘\whalegirl-app.exe - 启动日志:
process start version=0.1.1 os=windows setup: tray installed setup: control started setup: done - 进程在 12 秒检查时仍存活。
所以 0.1.1 在干净的 Windows 环境里可以启动;你那边的闪退更可能是 0.1.0 的托盘初始化问题、WebView2 运行时缺失,或 0.1.0 残留进程(单实例插件会让新实例直接退出)。升级前请先在任务管理器结束所有 whalegirl-app.exe,或重启一次。
下载
| 平台 | 文件 |
|---|---|
| macOS 13+ Apple Silicon | WhaleGirl-0.1.1-macos-arm64.zip |
| Windows 10/11 x64 | WhaleGirl-0.1.1-win-x64-setup.exe(由 CI 的 tag 构建上传) |
已知问题
- Windows 的真实运行时验收仍未完成;这个版本的首要目标是拿到崩溃日志。
- AX 精确跳转、自动更新、开机自启、DSH 插件入口仍待补齐。
- 未签名:Windows SmartScreen 选择「更多信息 → 仍要运行」;macOS 首次右键 →「打开」。
校验
990b79480ea013eb9601c63e270b3a4107af95ed777ccb0f29f67105d1d7f754 WhaleGirl-0.1.1-win-x64-setup.exe
58a35ab3c3fdc9f21e44cc58d9257b841fc2015a57a47bb86fcc0cd5c8529a11 WhaleGirl-0.1.1-macos-arm64.zip
鲸鱼娘 跨平台预览版 0.1.0
鲸鱼娘 · 跨平台预览版 0.1.0
第一个 macOS + Windows 双端版本。架构从 Swift/AppKit 重写为 Tauri 2 + Rust core + React:两端共用同一份会话解析、费用/额度统计和 UI。
原有的 WhaleGirl.app(v1.2.0)保持可用,不会覆盖;这是并行发布的跨平台预览版。
下载
| 平台 | 文件 | 大小 |
|---|---|---|
| macOS 13+(Apple Silicon) | WhaleGirl-0.1.0-macos-arm64.zip |
18.8 MiB |
| Windows 10/11 x64 | WhaleGirl-0.1.0-win-x64-setup.exe |
15.5 MiB |
- macOS:解压后把
鲸鱼娘.app拖进「应用程序」。没有代码签名,首次请右键 →「打开」。 - Windows:运行 NSIS 安装包;没有代码签名,SmartScreen 会提示,选择「更多信息」→「仍要运行」。需要 WebView2(Win10/11 通常自带,缺失时安装器会尝试下载)。
这个版本包含
- 透明、无边框、置顶的桌宠窗口;透明区域鼠标穿透,只有宠物/气泡/状态条接收点击。
- 拖动时被拎起、松手下落 → 摔懵 → 爬起来;点击、双击互动;待机自己散步。
- 深海任务台:DSH / Codex / OpenCode 三个渠道、会话状态、当前动作、时长、今日 tokens、费用和 Go 套餐额度。
- 菜单栏/系统托盘:打开面板、暂停监控、提示音、散步、摔跤、宠物大小、检查更新、重置位置、隐藏、退出。
- 原生右键菜单、
bluefish://深链、127.0.0.1:47113控制端口(兼容现有 DSH 插件)。 - 设置持久化(位置、大小、提示音、暂停、面板渠道等)。
- 纯 Rust zstd 尾读 + bundled SQLite,Windows 不需要 Homebrew zstd 或系统 SQLite。
已验证
- Rust core 单元测试 19/19 通过。
- 与 Swift 版同机对比:DSH 18 个会话、费用 ¥5.5714、444 次调用、额度 3% / 1% / 18%、今日 49.2M tokens 一致。
- macOS 实机验证:透明悬浮、点击穿透、托盘、任务面板、拖动/下落、缩放、设置持久化、控制端口、深链。
- Windows 安装包由 GitHub Actions 的
windows-latest实际编译(NSIS,15.5 MiB),尚未在真实 Windows 机器上做运行时验收。
已知缺口
- AX 精确跳转:目前是复制会话名 + 激活 DSH;辅助功能树跳转还未移植。
- 自动更新:还没有接 Tauri updater 的签名通道,菜单里会提示手动下载。
- 开机自启:还没接
tauri-plugin-autostart;仍由系统登录项或 DSH 插件负责。 - DSH 插件入口:现有插件仍从
/Applications/WhaleGirl.app启动旧版;需要改插件路径才能拉起跨平台版。 - Windows 运行时:DPI、多屏、透明穿透、托盘、安装器都需要真实机器反馈。
- Windows 只提供 NSIS(
.exe);MSI 因 WiX 1252 代码页不支持中文产品名而暂不提供。
校验
1d16f63bdbc980c27eb1b37009415ab56feed7e7c198ccc632f8a48bf3236303 WhaleGirl-0.1.0-win-x64-setup.exe
fba914b1885814d246978fec3268062fe2a93943333a4cfb843f780028320168 WhaleGirl-0.1.0-macos-arm64.zip
问题反馈请带上系统版本、截图,以及 Windows 上的 Invoke-RestMethod http://127.0.0.1:47113/debug 输出。
鲸鱼娘 v1.2.0
鲸鱼娘 v1.2.0
这一版全是「她真的动起来了」:能被拎起来、会摔一跤再爬起来、待命时会自己摸鱼散步、干饭会嚼、干完活会叉腰炫耀。
新增
- 按住拖动 = 被拎起来:切到「被拎住后颈」的姿势(身体横过来、弓着背、四肢自然下垂),两帧 0.26s 轮换(垂手 / 挥爪抗议)再叠一层轻微钟摆;地面阴影淡出,往哪边甩就往哪边倾
- 松手 → 摔一跤 → 爬起来:窗口就停在松手的位置(不再自己往下掉),只有立绘演出——下落(两帧 0.15s 轮换 + 先悬停再快速坠地,共 0.85s)→ 蜷起来摔懵(螺旋眼、头顶一个包,0.75s)→ 坐起来揉头(0.3s)→ 弹一下站稳,约 2s;中途再按住她可以打断、重新拎起来
- 空闲摸鱼散步:待命时每 9–20 秒掷一次骰子(40%),沿当前高度自己走 2–4.6 秒,撞到屏幕边缘自动转身;碰她、有任务开始、打开面板都会停
- 干饭循环帧动画:三帧 0.22s(夹饭 → 闭嘴嚼 → 张嘴再夹),嘴巴、筷子手和尾巴各动一点
- 任务完成 = 叉腰得意:两帧 0.55s(憋笑 → 闭眼大笑)加星星粒子,替代原来的举手跳
- 新增立绘:
pet_held_a/b、pet_fall/b、pet_down、pet_getup、pet_smug_a/b、pet_work_b/c - 右键菜单新增两个开关:空闲时自己散步、放下时摔一跤
改
- 鲸鳍耳按参考图重画:从太阳穴向外伸出、尖端略向下,下缘浅蓝白波浪鳍膜
- 鲸鱼尾改到裙摆后侧伸出;趴着干饭时尾巴压在腿前面,一只鞋从尾巴后探出来
- 拖动时不再播放三帧走路图(改成「被拎起来」),走路帧只留给摸鱼散步
安装
- 下载下面的
WhaleGirl-1.2.0.pkg双击安装(需要管理员密码); - 或者下载
WhaleGirl-1.2.0.zip,解压后把WhaleGirl.app拖进「应用程序」; - 已经在用旧版的:面板右上角出现「可更新 v1.2.0」时点一下,或菜单栏小鱼 → 检查更新。
安装包 SHA256:
d50443743c699c3a4f73e2ac7ac2c07e0f2137599701e7d74039dedc8288724d WhaleGirl-1.2.0.pkg
8703ee38cc5e6bb5dc8692d7227a1b930d78921f42f2ae1d018f29594f5a9788 WhaleGirl-1.2.0.zip
鲸鱼娘 v1.1.0
鲸鱼娘 v1.1.0
从「只看 DSH」升级成多代理任务台:DSH、Codex、OpenCode 可以一起监控,还能按渠道切换。
新增
- 渠道筛选:任务台顶部新增「全部 / DSH / Codex / OpenCode」渠道栏
- 切换后,干饭中 / 等你确认统计、费用 / 额度、会话列表和「打开目录」都只看当前渠道
- 渠道栏按已注册 Provider 自动生成,后续接 Claude Code 会自动多一个 tab
- Codex 监控:直接读
~/.codex/sessions/**/rollout-*.jsonl- 显示 thread、当前工具、已跑时长、第几步、今日 tokens
- 不依赖 cc-switch,第三方 API 转发同样可用
- OpenCode 监控:直接读
~/.local/share/opencode/opencode.db(SQLite,只读)- 显示 session、当前工具、已跑时长、第几步、今日 tokens / 花费
- 不依赖 cc-switch
- OpenCode Go 套餐额度:账号有 Go 订阅时,读取
opencode.ai的只读 usage 接口,显示 Go 5h / 周 / 月百分比- Go = $12 / $30 / $60;Go Plus = $48 / $120 / $240
- 5h 为滚动 5 小时、月为最近 30 天,属于近似值
- 默认按 Go 限额;Go Plus 可用
defaults write com.daiwei.bluefish BlueFish.openCodePlan go-plus切换 - 不想联网查询:
defaults write com.daiwei.bluefish BlueFish.openCodeQuotas -bool false
- 多任务气泡轮播:多个任务同时干饭时,头顶气泡每 4.5 秒自动切换
- 显示
1/2、2/2和当前 Provider - 旧气泡快照交叉淡出 + 轻微上浮,新气泡淡入,不闪字、不跳字
- 多个 Provider 的渠道会稳定轮换,不会因为排序变化而重复/跳号
- 等你确认 / 出错 / 完成气泡仍然优先
- 显示
- Provider 抽象:会话扫描、状态机、费用读取、会话跳转都收在
AgentProvider后面;新增代理只需实现 Provider 并注册
安装
- 下载下面的
WhaleGirl-1.1.0.pkg; - 右键 → 打开 → 再点「打开」(未做 Apple 公证,第一次会被 Gatekeeper 拦);
- 按安装器提示继续,然后从「应用程序」打开鲸鱼娘。
系统要求:macOS 13+,Apple 芯片(当前构建 arm64)。
1.0.2 及更早版本可以在 App 内点「检查更新」收到 1.1.0;也可以直接下载 pkg 覆盖安装。
隐私
- 只读本地数据:DSH
~/.dsh、Codex~/.codex/sessions、OpenCode~/.local/share/opencode/opencode.db - 不读取 cc-switch 数据库,不修改任何代理配置
- 联网只有两处:检查 GitHub Release;检测到 OpenCode 账号时查 Go 套餐 usage(只发本机已有的账号 token + org id,不发会话内容)
已知取舍
- Codex 的 rollout 只有 token,没有金额 / 订阅额度,面板只显示 tokens
- OpenCode Go 的 5h / 周 / 月是近似值,百分比基于账号整体 usage
- Claude Code 暂未内置,按 README 的 Provider 模板可以接入
安装包校验
SHA256 (WhaleGirl-1.1.0.pkg) = c8af3ac2847838e33b8a3be3e02c7a3f3ef5b91aaaa6f6f20f85938cc12c4a3a
SHA256 (WhaleGirl-1.1.0.zip) = ce617579a2c02f5c0072bb2d48f2a2c7a4ed3aa7a1a050eb867320bd1cbb5eae