DeepSeek Harness 桌宠:元气鲸鱼娘,45 项成就、3 个小游戏、跨端存档迁移;按工具类型切换工作姿态,桌面端与旧版 Web 双端支持(desktop pet / mascot,local-first)
# Add to your Claude Code skills
git clone https://github.com/Sutera-Diffusus/dsh-whale-musumeGuides for using ai agents skills like dsh-whale-musume.
Last scanned: 10/1/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-10-01T10:45:17.343Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how dsh-whale-musume compares with popular alternatives.
dsh-whale-musume is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Sutera-Diffusus. DeepSeek Harness 桌宠:元气鲸鱼娘,45 项成就、3 个小游戏、跨端存档迁移;按工具类型切换工作姿态,桌面端与旧版 Web 双端支持(desktop pet / mascot,local-first). It has 215 GitHub stars.
Yes. dsh-whale-musume passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/Sutera-Diffusus/dsh-whale-musume" and add it to your Claude Code skills directory (see the Installation section above).
dsh-whale-musume is primarily written in JavaScript. It is open-source under Sutera-Diffusus on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh dsh-whale-musume against similar tools.
No comments yet. Be the first to share your thoughts!
From $49 · 30 days · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
DeepSeek Harness 的桌宠看板娘:安静陪你写代码,工作一开始她就抱起笔记本,绝不插嘴。
一分钟上手 · 看看她长什么样 · 她有什么 · 常见问题 · English
动图由 @kingOfSoySauce 录制(PR #37),已收进仓库,不依赖外链。
大部分桌宠要么只是「会动的图」,要么会在你专注时抢注意力。鲸鱼娘的三条硬规则:
| 原则 | 具体做法 |
|---|---|
| 不打断你 | 工作态(有工具在跑)绝不弹话、不乱切姿势;所有闲聊、关怀、播报都只在待机时发生 |
| 不抢你的焦点 | 默认是纯装饰:aria-hidden、不拦截键盘、不覆盖业务 DOM、不改任何内置包文件;连焦点都要你主动开无障碍模式才拿得到 |
| 不给你添隐私负担 | 无遥测、不上传、默认零外部请求;台词播报、关键词感知、余额、无障碍这些会读内容/金额的功能全部默认关闭 |
而且她是真的会看你在干什么:不是定时随机换图,而是读取宿主的结构化标记(工具卡状态、会话运行标记、终端块)来判断你在忙什么,再决定摆哪个姿势、要不要闭嘴。
最简:从 npm 装(不需要 git ls-remote 预检,网络受限时更稳):
# 桌面端(Electron 壳)——把路径换成你的安装位置
$Desktop = "D:\DeepseekHarnessDesktop"
$Cli = "$Desktop\resources\app.asar\dsh\node_modules\@deepseek-ai\dsh-desktop-host\lib\cli.js"
$env:ELECTRON_RUN_AS_NODE = "1"
& "$Desktop\DeepSeek Harness.exe" --expose-internals $Cli plugin --profile desktop add dsh-whale-musume
# 旧版 Web profile
dsh plugin --profile web add dsh-whale-musume
也可以继续从 GitHub 源装(等价;想跟 main 最新提交时用这个):
dsh plugin --profile web add github:Sutera-Diffusus/dsh-whale-musume
装完重启宿主(桌面端重启应用;旧版 Web 重启 dsh web 后 Ctrl+F5),她就出现在右下角了。
镜像同步提示:新包在 npmmirror 上可能短暂显示
0.0.0-stage(发布占位版本)。看到这个版本不要装;在插件管理器的 Registry 选择器切到 npm 官方源,或等镜像同步。官方源核验:npm view dsh-whale-musume version --registry=https://registry.npmjs.org应为2.5.2。
从插件市场或
dsh plugin add装不上时,见安装失败排查。日志被截成只剩[exit 1]、走 git 源时的git ls-remote超时、还有allowBuilds提示,那一节都写了。
在宿主页面按 F12 打开控制台,执行:
window.__dshWhaleMusumeBooted // true
document.querySelectorAll('[data-dsh-whale-root]').length // 1
getComputedStyle(document.querySelector('[data-dsh-whale-root]')).display // "block"(首页可见)
window.__dshWhaleMoeDebug // state 非 "hidden",含当前姿势/视图等信息
四项都对说明安装成功。任一项不对,见故障排查。
另有一种脚本安装(注入前端资源 + 自带备份回滚),只适合主题集成或没有组合包支持的旧环境:见
scripts/apply-theme.mjs。两种方式二选一,不要混用。
| 待机陪伴 | 工作状态联动 |
|---|---|
| 默认悬浮在右下角,随机喝咖啡、伸懒腰 | 检测到工具运行,抱起笔记本,带淡蓝光晕 |
| 摸头互动 | 投喂互动 |
|---|---|
| 单击摸头,脸红立绘 + 爱心星星飞出 | 右键投喂,提升饱食度与好感度 |
| 悬浮形态(可拖拽) | 立绘总览(90+ 张) |
|---|---|
| 200px 默认尺寸,拖到她喜欢的地方 | 状态 / 互动 / 成长 / 游戏 / 天气 / 节日 / 梗表情 |
更多素材:交互动作总览 · 新增立绘总览 · 宣传海报 v1 / v2 / v3 / v4
| 特性 | 说明 |
|---|---|
| 悬浮 / 侧栏 / 底栏 / 迷你 / 自动 | 五种形态,按视图自动切换;默认 200px 悬浮 |
| 拖拽 + 惯性 | 拖拽时切换「被拎起来」立绘,身体随光标方向摇摆;松手后按瞬时速度滑行一段并旋转回正,撞到屏幕边缘会「抓住」边缘停住;轻放只做一次轻微回弹,位置在滑行结束后才保存 |
| 动势遮断过渡 | 待机 ↔ 工作之间用「下压 → 换图 → 弹起」过渡,不叠影、不闪黑;后台标签页被浏览器暂停换图动画时有 1.6s 超时兜底 |
| 唤回入口 | 在设置里关掉她之后,左下角留一枚 🐋 按钮,点一下就叫回来,不会再「消失得找不着」 |
| 特性 | 说明 |
|---|---|
| 忙闲联动 | 检测到工具运行自动切「抱笔记本工作」,带淡蓝光晕与「工作中」标签 |
| 按工具类型细分姿态 | 跑命令 / 改文件 / 搜索 / 测试 / 评审 / 部署 / 调试各有对应姿势;识别不了就回落通用姿态,绝不乱猜 |
| 工作期稳定 | 工作中不切小剧场、不插话;信号短暂中断时姿势继续钉住(工作台 8s / 其他页 4s),不抽搐 |
| 点击反应 | 工作中点她会随机出现「害羞抱电脑」或「偷吃内存条」,不打断工作状态 |
dsh-xiaomi-tts 服务时才会出现「台词播报」开关,默认关闭;未安装、未配置或播放失败都不影响原有交互assets/ 就是运行产物,装入即用aria-live 播报node --test 跑| 宿主 | 支持 | 说明 |
|---|---|---|
DeepSeek Harness 桌面端 0.2.0-rc.2 |
✅ 已实测 | 那个构建的 GUI 默认 127.0.0.1:19387。安装/回滚见0.2.0 部署手册 |
DeepSeek Harness 桌面端 / Web 0.2.1-rc.1~0.2.1-rc.5、0.2.2-rc.1 |
✅ 静态契约 | 对照上游 tag 的源码、本机 0.2.2-rc.1 app.asar 的 DOM 标记扫描与单元测试,没有在真实 Electron 里做视觉复跑。0.2.1 的桌面端端口改为系统分配(--port 0),不要再假设 19387。差分见0.2.1 契约与部署差分;2.5.1 的核对结论见发布说明 |
0.2.0-rc.1、0.2.1-alpha.1~alpha.5、0.2.2-alpha.2 / alpha.3、未来的 0.2.3~0.2.x |
⚠️ 可装但不承诺 | 2.5.3 起 engines.dsh 已放行整条 0.2.x 线;这些版本没有逐版本实测,矩阵里标 unknown。装得上,但遇到行为问题请带 DSH 版本与日志反馈 |
DSH 0.3.0 起(含 alpha) |
❌ 拒绝 | 大版本契约未核对,门禁保持在 <0.3.0-0,不会被未来 alpha 自动放进来的 |
旧版 Web profile(DSH 0.1.x) |
✅ 已实测 | 0.1.0-rc.6 及以上;设置面板在 0.1.1-rc.2 实测。再早的 0.1.0 预发布没有 dsh.bundle 安装通道,不在支持范围 |
| 其他 profile(headless / acp 等) | ➖ 无界面 | 没有浏览器界面,桌宠无处显示 |
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 / 11(当前桌面端的支持范围) |
| Node.js | 18+(仅脚本安装方式需要;组合包安装不需要) |
| 浏览器 | Edge / Chrome 最新版 |
数据不互通:桌面端主窗口 origin 是
dsh-app://app,旧版 Web 是http://127.0.0.1:<端口>,两边localStorage(whale-moe:*)互不相通,也不会自动迁移。详见数据与隐私。
v2.2.0 适配桌面端时,逐条核对了 DSH 0.2.0-rc.2 的真实契约并写了证据文档(docs/desktop-0.2.0-rc.2-contract.md):
| 契约点 | 0.2.0-rc.2 的变化 | 我们的处理 |
|---|---|---|
| 工具卡标记 | [data-role="tool"] 等旧标记 0 命中 |
改用 [data-tool](值 = 工具名)+ 同元素 data-state |
| 忙态判定 | 工具卡完成后仍留在 DOM(ok/stopped) |
只有 running / preparing 算「正在工作」 |
| 会话运行 | 新增 [data-chat-running](仅运行时挂载) |
作为最干净的活信号 |
| 终端 | [data-slot="terminal"] 不存在 |
改用 [data-terminal] |
| 输入框 | 变成 contenteditable | 改用 [data-composer-input] |
| 主题 | 明暗写在 body[data-ds-dark-theme](空串=暗) |
补齐识别,旧 data-theme/class 保留为回落 |
| 设置面板 | 常驻引导弹窗也是 role="dialog" |
判据收敛到 [data-shortcut-modal="settings"] |
| 客户端模块 | 惰性 CJS:副作用须在 factory 物化期 | boot() 从 apply() 移入 factory |
| 引导弹窗 | 刷新后常驻的 OnboardingModal | 不再误判为设置页(否则桌宠会被隐藏) |
这些行为都补了回归断言(test/desktop-client.test.mjs,34 项)。
v2.4.0 又对照了 tag dsh-v0.2.1-rc.2(见 docs/desktop-0.2.1-rc.2-contract.md):上表这些标记都还在,选择器没有改。变的是安装门禁——从 DSH 0.2.1-alpha.4 起优先读顶层 engines.dsh。本包的范围是 >=0.1.0-rc.6 <0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-rc.1 || 0.2.1-rc.2。0.2.1-rc.1 / `0.2.1-r