DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

youhuangqing /

youhuangqing/dsh-pet-plus

Verified

DSH 桌宠插件 dsh-pet 的二创版:新增亲密度养成、番茄钟、语音朗读、音效、增强菜单、每日统计;可与原版并存

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@96acbf23

dsh-pet-plus

DSH(DeepSeek Harness)桌面宠物插件 —— 基于 dsh-pet 0.3.6 的二次创作。

保留上游全部基础功能(动画、漫游、拖拽抛掷物理、余额、碎碎念、对话与记忆、系统通知、工作状态联动、 多开与布局、透明置顶桌面小窗),并新增六组功能。与上游可以并存(改名隔离,见下)。

二创来源与权利声明

  • 上游:dsh-pet 0.3.6,作者 PC2005-cloud,MIT 许可 (https://github.com/PC2005-cloud/dsh-pet)。
  • 本二创:dsh-pet-plus,作者 youhuangqing,就本仓库新增与修改的部分同样以 MIT 释出。 上游 LICENSE 原文完整保留,两者许可互相独立、互不影响。
  • 素材例外:动画 / 提示词 / 源视频沿用上游声明 —— 允许开源使用,禁止商用。
  • 详见 THIRD_PARTY_NOTICES.md。

〇、路径约定

下文用 <DSH安装目录> 表示你的 DeepSeek Harness 安装位置(不是固定值,取决于你安装时选的路径)。 dsh.cmd 与 pnpm 都在它下面。不确定就查:

Get-Command dsh | Select-Object -ExpandProperty Source   # dsh 已在 PATH 时

拿到的路径形如 <DSH安装目录>\resources\runtime\cli\bin\dsh.cmd,往上退三级就是 <DSH安装目录>。


一、环境要求

项 要求
DSH 桌面版 0.2.0-rc.1 / 0.2.0-rc.2(0.1.7-rc.2 不兼容)
系统 Windows 优先(桌面小窗与语音朗读依赖 Windows 自带能力);其它平台可用浏览器内的那只宠物
网络 仅在首次会下载 Electron 运行时(约 200MB,用于桌面小窗)。之后离线可用
语音朗读 走 Windows 系统语音(离线),或用 Edge 联网音色(可选)

不需要额外安装 Node.js —— 构建产物已随包提供。


二、安装

假设你的档案名是 desktop(DSH 桌面版默认)。

方式 1:一行命令(推荐,直接从 Release 装)

dsh plugin --profile desktop add https://github.com/youhuangqing/dsh-pet-plus/releases/download/v0.1.0/dsh-pet-plus-0.1.0.tgz

dsh 不在 PATH 时用全路径:& '<DSH安装目录>\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add <上面的网址或本地 tgz 路径>。

方式 2:从本地 tgz 装

& '<DSH安装目录>\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add file:C:\path\to\dsh-pet-plus-0.1.0.tgz

装完重启 DeepSeek Harness 即可(插件在启动时加载)。

若该包日后发布到 npm,也可以按包名安装:dsh plugin --profile desktop add dsh-pet-plus。

为什么装完要重启

DSH 在启动时组合插件树,运行中不热加载第三方插件。

安装后怎么确认装上了

浏览器开发者控制台(Ctrl+Shift+I)里搜 dsh-pet-plus,应能看到功能就绪日志; 或访问 http://127.0.0.1:19387/dsh-pet-plus-7340/state,返回的 sections 里应含 social / pomodoro / stats / sfx / tts。


三、功能一览

功能 怎么用
亲密度 + 喂食养成 点击宠物摸头;右键「互动」→ 摸摸头 / 喂小鱼干;/social 看状态
番茄钟 右键「专注」→ 开始 25 / 10 / 45 分钟;菜单标题实时显示倒计时
语音朗读 自动朗读宠物说的话;右键「偏好 → 语音朗读」开关;/tts status 看提供方
音效 自动(点击 / 落地 / 余额 / 番茄钟结束 / 升级 / 喂食);右键「偏好 → 音效」开关
增强菜单 右键新增「互动 / 专注 / 统计 / 偏好」四组,浏览器里那只与桌面上那只完全一致
每日统计与记账 右键「统计」;/stats;/dsh-pet-plus-7340/stats?days=7

上游原有功能(余额、碎碎念、对话、系统通知、工作状态联动、多开布局、设置页)全部保留。


四、配置

首次运行后配置文件在:

C:\Users\<你>\.dsh\dsh-pet-plus\main-config.jsonc

改完即时生效(每个请求重读),不用重启、不用重装。包内 assets/config.jsonc 是带完整注释的默认值, 想看所有可配项就看它。

语音音色(最常问的一个)

在 main-config.jsonc 里写 tts 段,然后让它说句话(或 /tts 你好呀)即可听效果:

{
  "tts": {
    "enabled": true,
    "provider": "edge",          // "auto"(Windows→系统语音)| "sapi" | "edge" | "stub"
    "voice": "zh-CN-XiaoyiNeural", // ← 音色名写这里
    "rate": 0,                   // 语速 -10~10
    "volume": 100
  }
}

音色名怎么选:

  • provider: "sapi"(离线,系统自带):音色名要写已安装的 Windows 语音名。列出本机已装的:

    Add-Type -AssemblyName System.Speech
    (New-Object System.Speech.Synthesis.SpeechSynthesizer).GetInstalledVoices() |
      ForEach-Object { $_.VoiceInfo.Name + '  [' + $_.VoiceInfo.Culture.Name + ']' }
    

    Windows 中文版通常只有 Microsoft Huihui Desktop(成年女声)。想要少女音/萝莉音,需要另外装 Windows 语音包,或者用下面的 Edge。

  • provider: "edge"(联网,微软 Edge「大声朗读」接口,音色明显更好且免 key):候选音色名包括 zh-CN-XiaoyiNeural(少女)、zh-CN-XiaoshuangNeural(童声/萝莉)、zh-CN-XiaoxiaoNeural(默认女声)、 zh-CN-XiaomengNeural、zh-CN-XiaohanNeural。 ⚠️ 这是未公开接口,随微软改动可能失效。为此做了三重保护:默认不用它、返回字节必须是合法 MP3 才采纳、 失败自动回落系统语音。所以最坏结果只是"Edge 没生效、退回系统语音",不会更坏。 /tts status 会显示实际生效的提供方;应用日志里会写明是否发生过回落。

  • provider: "stub":只产出静音,用来验证链路(排查用,不出声)。

改设置页里那一行的名字

src/client/settings.ts 里 zh 字典的 nav 字段(以及 en 的),改完重新构建:

& '<DSH安装目录>\resources\runtime\pnpm\bin\pnpm.mjs' run build

(仓库里 lib/ 是构建产物、不入库,所以要自己构建一次;详见第九节。)


五、命令

命令 说明
/pet 选择当前桌宠(支持选择框或手输 id/名字)
/chat 与桌宠对话
/balance 查询余额
/social 亲密度 / 小鱼干状态
/pomodoro 番茄钟(start / stop / status …)
/stats 每日统计
/tts 语音朗读(status / 直接给一句试听文本)

与上游 dsh-pet 并存时,/pet /chat /balance 三个短名归先加载的原版, 本插件会自动改用 /pet-plus /chat-plus /balance-plus(注册失败只告警,不会让插件加载失败)。 卸掉原版后短名自动归本插件,无需改配置。


六、卸载

& '<DSH安装目录>\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop remove dsh-pet-plus

然后重启。用户数据(~/.dsh/dsh-pet-plus/)不会自动删除,需要时手动删。


七、与上游并存

本插件把所有注册进 DSH 全局命名空间的标识都加了 -plus:包名、cordis 行 id、路由前缀 (/dsh-pet-plus-7340)、桥协议 scheme、用户数据目录(~/.dsh/dsh-pet-plus/)、Electron 应用名、 环境变量前缀、客户端插件名与插槽 id、locale 命名空间(pet-plus.config)、斜杠命令。

两套可以同时装、互不影响(会看到两只宠物、设置页两个分区)。想只用一套就卸掉另一个。

⚠️ Electron 运行时目录(~/.dsh/electron/)是两套共用的,这是刻意的 —— 避免重复下载 200MB。


八、已知限制

项 说明
悬停快捷条 未实现(计划里有)。它要改桌面端「整窗点击穿透」的判定,改错会让鼠标移过去就穿透、按钮点不到,在缺少真机验证条件下风险过高。
Edge 联网音色 协议为未公开接口,未经运行时验证(有三重保护,最坏退回系统语音)。
token 用量统计 会话事件是否携带 usage 未核实,故留空而非填猜测值。

九、开发

仓库不含 lib/(构建产物),clone 后先装依赖再构建:

# 1) 装依赖(需要网络;peer 依赖 @deepseek-ai/* 是公共 npm 包)
& '<DSH安装目录>\resources\runtime\pnpm\bin\pnpm.mjs' install

# 2) 构建与自测
$env:ELECTRON_RUN_AS_NODE = '1'
$env:PATH = '<DSH安装目录>\resources\runtime\bin;' + $env:PATH
$exe  = '<DSH安装目录>\DeepSeek Harness.exe'
$pnpm = '<DSH安装目录>\resources\runtime\pnpm\bin\pnpm.mjs'

& $exe --expose-internals $pnpm run typecheck     # 类型检查
& $exe --expose-internals $pnpm run build         # tsdown + 重建 shared-core.js
& $exe --expose-internals $pnpm test              # 上游测试套件(553 个用例)
& $exe --expose-internals $pnpm run test:single   # 受限环境用这个(不 spawn 子进程)

# 3) 独立模式(不需要 DSH、不用重启应用)
$env:DSH_HOME = '<工作区内的临时目录>'
& node.cmd lib/standalone.js --port 3099

$exe --expose-internals $pnpm 是「用 DSH 自带的 Node 跑 pnpm」的写法。 你也可以直接用系统里的 pnpm(如果有):pnpm install && pnpm run build。

runtime/electron-helper/*.js 不在 tsc 范围内,改动后要单独做语法检查:node --check <文件>。

打分发用的包:pnpm pack → 产出 dsh-pet-plus-<版本>.tgz,把它作为 Release 附件发布。


十、许可与署名

代码 MIT(见 LICENSE)。素材来自上游 dsh-pet:代码 MIT;动画 / 提示词 / 源视频允许开源使用,禁止商用。 详细说明见 THIRD_PARTY_NOTICES.md。

—/ 5

No ratings yet

Verified DSH bundle

Commit 96acbf23a4e6

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout