DeeJ6126
whale-girl-desktop
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
whale-girl-desktop
English | 中文
一个 DeepSeek Harness 的桌面伴侣宠物——鲸鱼娘浮在你的屏幕上,实时跟随 DSH 会话状态:思考、等待、庆祝、打盹,头顶还有当前运行会话的气泡。
需要什么(三件套,按顺序)
① DeepSeek Harness (dsh web) 运行环境
② whale-girl 插件(带 sessions 端点) 提供 /whale-girl/state · /presence · /assets/* · /sessions
③ 本桌面壳 置顶悬浮宠物窗口
-
whale-girl 插件:安装带
/whale-girl/sessions(本宠物气泡依赖的每会话端点)的版本:dsh plugin --profile web add github:xiaoshihou514/whale-girl#codex/external-state-api # 上游 sessions PR 合并后,可切回官方源: # dsh plugin --profile web add github:vlln/whale-girl装完重启
dsh web,然后验证:curl http://127.0.0.1:3080/whale-girl/sessions能返回会话列表。 -
Node.js(>= 22)和 Electron。
安装与运行
npm install # 安装 Electron
npm start
# 或:.\node_modules\.bin\electron.cmd .
Electron 二进制下载卡住? 网络直连 GitHub release 不稳时,用 npmmirror 镜像:
set ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ node node_modules\electron\install.js
宠物悬浮在右下角、始终置顶:
- 单击 切换内嵌的 DSH 网页窗口(
http://127.0.0.1:3080)——是第二个隐藏窗口,绝不停服务。 - 右键 打开尺寸菜单:75 / 100 / 125 / 150 / 200%(持久化)。
- 拖拽 移动(位置会记住)。
- 宠物上方,每个运行中的会话一个消息气泡:标题 + 当前动作(深度思考中 / 运行命令行中 / 执行工具 / 等待批准);会话结束气泡消失。
- 在线期间每 15s 心跳
POST /whale-girl/presence,网页宠物自动隐藏(不双宠);退出时网页宠物即刻恢复。
开发 / 调试
.\node_modules\.bin\electron.cmd . --screenshot=pet.png # 5 秒后截图并退出
.\node_modules\.bin\electron.cmd . --screenshot=pet.png --screenshot-delay=70000 # 打盹测试
.\node_modules\.bin\electron.cmd . --sleep-after=8000 # 缩短空闲→打盹阈值(测试用)
.\node_modules\.bin\electron.cmd . --web-shot=web.png # 截内嵌网页窗口
.\node_modules\.bin\electron.cmd . --base-url=http://127.0.0.1:3999 # 轮询 mock DSH(tests/mock-dsh.cjs)
.\node_modules\.bin\electron.cmd . --dev # 转发渲染器控制台
目录结构
main.cjs Electron 主进程:窗口、state+sessions 轮询、心跳、尺寸预设、点击切换网页窗口、手动拖拽
preload.cjs 暴露 window.pet(onState / onManifest / onScale / onSessions / toggleWeb / openMenu / dragStart / dragMove / dragEnd)
renderer/ index.html + renderer.js:精灵动画驱动 + 会话气泡
tests/ mock-dsh.cjs —— 确定性 mock DSH 服务器(免凭据截图验证用)
实现说明
- 渲染器是
file://页面;所有 DSH API 调用走主进程(Node fetch 无 CORS),快照/清单/缩放/会话列表经 IPC 下发。精灵图从http://127.0.0.1:3080/whale-girl/assets/characters/<角色>/<sheet>加载。 contextIsolation关闭,以便 preload 直接挂window.pet(contextBridge 回调跨隔离世界会静默失效)。应用只加载本地文件、只访问环回 DSH。- 窗口用手动拖拽 IPC 代替
-webkit-app-region: drag(拖拽区会吞掉点击);按下后移动 <5px 判定为单击。
署名
- 基于 whale-girl 插件生态:vlln/whale-girl 的外部消费者 API 契约(MIT,© Sam Gao (vlln));每会话端点在 xiaoshihou514/whale-girl(
codex/external-state-api)。 - 角色「鲸鱼娘」:原作 上善,二创设计 ZipZipPipe。精灵素材运行时从 whale-girl 插件加载,本仓库不含任何角色美术。
许可证
MIT,见 LICENSE。角色美术归其作者按 whale-girl 项目声明授权;本壳不重新分发。