跳到主内容

dsh-whale-pet

7Star0Fork0Issue0Watching

在 DSH 桌面上放置蓝发鲸鱼娘桌宠,跟随会话状态切换表情与语音,并附带会话头部余额徽章和充值入口。

机审证据4/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
HTML
License
NOASSERTION
分支
master
deepseekdeepseek-harnessdsh-plugindsh-plugin-desktopdsh-plugins

安装

命令web profile
$ dsh plugin --profile web add dsh-whale-pet

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 aceice01/dsh-whale-pet:先查看仓库 https://github.com/aceice01/dsh-whale-pet 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

在 DSH 桌面/网页边缘放一只蓝发鲸鱼娘同人桌宠,根据会话状态自动切换表情、动画和语音,并顺带在会话头部显示 DeepSeek 账户余额和一键充值入口。

核心能力

  • 在 DSH 桌面(Electron 透明置顶小窗)与 Web(右下角 iframe 悬浮层)显示鲸鱼娘桌宠,跟随 DSH 会话事件(turn/start、turn/end、tool/call、todo/write、goal/change、approval/*、command/*)切换 idle/running/happy/coquetry/sad 五种状态
  • 任务完成播放跳跃+纸屑+琶音+语音庆祝;工具调用失败给"出错安慰"语音;等待审批给出气泡提示
  • 戳一戳(65% 撒娇 / 20% 蹦跳 / 15% 委屈三态随机)、长按帽子 0.7 秒触发摸头、双击帽子静音、右键菜单、键盘 Esc 关菜单
  • 在 Web 会话头部常驻余额徽章,每分钟自动刷新,可点击立即刷新,旁边带"充值"链接跳到 DeepSeek 开放平台充值页
  • 余额走服务端 /api/balance 反向代理官方接口(https://api.deepseek.com/user/balance),服务端 30 秒缓存,浏览器不会拿到 API Key
  • 网络失败保留上次余额并标注 stale,避免界面闪烁;主音量 + 语音/音效/庆祝独立音量通过 localStorage 持久化

技术实现

  • 语言: JavaScript (ESM) + 少量 Python(构建/合成工具)
  • 关键依赖: @deepseek-ai/dsh-credentials(credentialRef)、React(浏览器端通过 window.__ModuleLoader__ 注入)、node:fs(读 pet.html)、@deepseek-ai/dsh-client-runtime(manifest 声明注入)
  • 架构模式: Cordis 双端插件,服务端 plugin/dsh-balance-widget/lib/index.js 通过 ctx.on("session/event") 监听 firehose、ctx.webServer.register 注册 /api/balance / /api/status / /pet.html 三条路由;客户端 lib/client.js 用 window.__ModuleLoader__.load 装入 React 组件并通过 ctx.slots.inject 把余额徽章注入 conversation.session.header.actions、把 Web 桌宠注入 shell.overlay;桌宠本体是 1.5 MB 的单文件 pet.html(动画 webp + 49 条预合成 mp3 全部 base64 内联)
  • 入口文件: plugin/dsh-balance-widget/lib/index.js(服务端)+ plugin/dsh-balance-widget/lib/client.js(浏览器端)+ plugin/dsh-balance-widget/lib/pet.html(桌宠页面)

适用场景

想在使用 DSH 时有个会跟任务联动的可爱陪伴、并希望顺手在会话里看一眼 DeepSeek 账户余额和一键充值的用户。桌宠在任务完成时欢呼庆祝、出错时安慰、等待审批时提醒,让等待对话的间隙不再沉闷。该项目为非商业性同人作品,请勿用于商业场景。

前置依赖与兼容性

依赖最低版本说明
DSH未声明package.json 未写 dsh 版本约束,按 dsh.bundle.patch 自动挂载到 web profile
Node.js>=22package.json 的 engines.node 字段声明
桌面平台WindowsREADME 明确 dsh-desktop 仅在 Windows 验证,主进程补丁脚本 apply-main-patch.ps1 / install.ps1 也是 PowerShell
Web 平台跨平台浏览器形态只要能跑 dsh web 服务即可使用,不挑操作系统
原生模块无—

安装方式

dsh plugin --profile web add dsh-whale-pet

配置项

本插件无需额外配置。所有可调参数(主音量、是否静音、语音/音效/庆祝独立音量)通过桌宠右键菜单中的滑块在运行时调整,状态保存在浏览器 localStorage,不涉及任何外部文件、环境变量或 DSH 配置项。

常见问题

Q: 安装后桌宠没出现怎么办?

A: 确认 install.ps1 各步骤输出为 [OK],然后重启 DSH 桌面应用或 dsh web 服务(桌宠只在插件加载时才创建窗口);同时检查 profile 的 cordis.patch.yml 是否包含 balance-widget 行(官方 dsh plugin add 一键安装会自动写入)。

Q: 余额徽章显示"余额不可用"或一直转圈?

A: 需要在本地配置 DEEPSEEK_API_KEY,服务端通过 @deepseek-ai/dsh-credentials 读取后代理官方接口,浏览器不会收到 API Key。点击徽章可强制刷新;网络短暂失败时徽章会保留上次余额并标 stale,不会闪断。

Q: 桌宠没有声音怎么办?

A: 浏览器自动播放策略要求首次必须点击一次桌宠(帽子热区)解锁 AudioContext;右键帽子打开的菜单里有总音量滑块和语音/音效/庆祝分项音量,确认非零。Web 版还需要确认广告拦截器没有屏蔽桌宠 iframe。

Q: 关闭 DSH Desktop 主窗口后桌宠还留在屏幕上?

A: 这是 DSH 原版 main.js 的已知行为。可选运行 apply-main-patch.ps1 给主进程打补丁(会自动备份原文件,需要的话可用 -Revert 还原),让桌宠随主窗口一起关闭。如桌面装在 C:\Program Files,需以管理员身份运行。

Q: 这是官方授权的项目吗?能商用吗?

A: 不是。这是一个非官方同人项目,与 DeepSeek 官方无隶属或背书关系,采用"非商业性使用许可"(禁止商用)。角色素材版权归原作者所有(见 README 致谢)。

Q: Web 版桌宠不显示怎么办?

A: 确认访问的是重启后的 dsh web 服务,而不是浏览器里残留的旧连接;浏览器强制刷新(Ctrl+F5)一下;同时检查广告拦截器是否屏蔽了 /pet.html iframe。

Q: 怎么卸载?

A: 直接运行 install.ps1 -Uninstall,脚本会自动还原 cordis.patch.yml 和 profile 配置;如果是手动安装,也可以从 cordis.patch.yml 删除 balance-widget 行,然后重启 dsh web。

上手难度

入门 — 一行命令安装即可使用;可调参数都在桌宠右键菜单里,不需要改任何配置文件。

已知问题与限制

  • 关闭 DSH Desktop 主窗口后桌宠窗口不会同步关闭,需手动运行 apply-main-patch.ps1 修补 main.js(CHANGELOG.md:14)
  • 浏览器(Web 版)的自动播放策略要求用户首次必须点击一次桌宠才能播放声音(pet.html:531-549)
  • 仅在 DSH Web 客户端注册(dsh-client-runtime + client.platform = "web"),纯命令行 / IDE 形态的 DSH client 不会挂载桌宠
  • pet.html 是 1.5 MB 构建产物(动画 + 音频 base64 内联),初次加载需要数秒;右键菜单"刷新"项会带 ?timestamp 强制重新加载
  • 长按摸头在鼠标松手瞬间若 click 事件触发会把摸头覆盖成戳一戳,已在 pet.html 加 longPressFired 标志跳过;移动超过 5 px 也会取消长按(pet.html:968-1000)
  • pnpm 安装时偶发 exists and is not a symlink 错误,提供了 fix-fallback-layer.ps1 移出回退层(CHANGELOG.md:27-30)
  • 桌面端 install.ps1 / apply-main-patch.ps1 是 PowerShell 脚本,仅支持 Windows;macOS / Linux 桌面用户需手动编辑 cordis.patch.yml 添加 balance-widget 行

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/aceice01/dsh-whale-pet)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录