📈 GH Trending Explorer 🎲 Surprise me

← all repos

PC2005-cloud / dsh-pet

git clone https://github.com/PC2005-cloud/dsh-pet.git v0.3.7 · 6d ago 🔥 on GitHub Trending today

DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI 视频自造专属宠物

+505
stars, 24h · #29
+1.7k
stars, 7 days · #47
+2.3k
stars, 30 days · #143
3.1k
★ total · +122% this week
198
forks · 8 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageTypeScript
LicenseMIT
Created2026-08-14 (2mo ago)
Last pushtoday
Watchers4
OwnerUser

Seen on GitHub Trending

  • 2026-10-20 — #11 daily in typescript · +505 ★
  • 2026-10-20 — #22 monthly in typescript · +2,315 ★
  • 2026-10-20 — #13 weekly in typescript · +1,677 ★

GitHub topics

Links

README excerpt
# dsh-pet 🐾
一只住在 DeepSeek Harness 里的桌面宠物:待机呼吸、随机动作(打瞌睡、玩魔方、吃火锅……)、左右转向、屏幕漫游、点击 Q 弹、拖拽甩抛反弹、右键菜单点播——一百余个透明动画随时无缝衔接;还能跟随 DSH 会话事件切换工作状态动画、按档位播放余额动画 + 头顶气泡、碎碎念与对话聊天、窗口失焦时弹系统通知。可多开同屏,能脱离浏览器住上**桌面**(透明置顶小窗),也能自己添加**全新宠物种类**(pet pack)。
这不是一个普通插件,而是**完整的三件套项目**:
 [code] 
任何人 clone 本仓库,都可以**从零生成自己的桌面宠物**——换角色、换动作、换风格,全流程可复现。
---
## 快速开始(安装插件)
装法取决于你在用哪个 DSH:
### 🪟 桌面应用(Electron 版)
直接在应用内「插件管理」页的安装框里填 `dsh-pet`,不用开终端;需要在终端里操作插件时,用桌面应用自带的那份 CLI。
### 🌐 `dsh web`
> 以下命令都在你的**命令行终端**(PowerShell / CMD 等)中运行。前提是 DSH 环境已就绪:
 [code] 
装完**重开桌面应用**(`dsh web` 用户则重启 `dsh web`)才生效——运行中的进程持有内存里的旧插件。宠物出现在界面右上角(默认配置角落,可在设置页修改)。
> **兼容性**:本插件当前在 dsh **`0.2.1-rc.2`** 下开发并测试(`dsh --version` 可查看你的版本)。建议使用相同版本;其他版本如遇问题欢迎反馈。
### 从源码安装(clone 本仓库后)
`lib/` 构建产物不入库,clone 后需要先构建再安装:
 [code] 
> 注:`npm run build`(即 `scripts/prepare.js`)才产出**完整可安装**的 lib——除 tsdown 构建外还构建桌面共享核心(`shared-core.js`)、生成类型声明并收敛发布 `files` 清单;裸 `tsdown` 构建会缺桌面运行时与类型。发布与打包(`npm publish` / `npm pack`)时由 `prepack` 自动调用它,克隆仓库后需手动跑一次。
### 安装后你会看到什么
默认配置是 `display: "both"`(浏览器与桌面都显示),所以重开 DSH 之后会依次出现两处,不必手动开:
1. **浏览器端先出现。** 宠物落在界面右上角(默认角落,设置页可改),此时桌面上还是空的。
2. **宿主自动补桌面运行时。** 本机没有 Electron 时,插件会自己下载一份(落在 `~/.dsh/electron`,同一版本只下一次;默认走 npmmirror 镜像)。进度直接打在 DSH 的控制台里,形如:
 [code] 
 这一步在**后台**进行,浏览器里的宠物照常可用;要等多久取决于网速(几十秒到几分钟),期间不用管它。
3. **桌面端随后出现。** 解压完自动拉起桌面 Helper,同一只宠物以透明窗形式落到桌面上——**此时屏幕上一共两只**:浏览器里一只、桌面上那只,共用同一份配置与同一套动画。
4. **想只留一只。** 两条路都行,改完即时生效:
 - **设置页**:选中该宠物 →「显示位置」下拉框 → 仅浏览器 / 仅桌面 / 两者都显示 / 都不显示;
 - **宠物右键**:菜单里的「显示位置」子菜单 → 仅网页 / 仅桌面 / 两者 / 都不(不用回设置页)。
> 已经装过 Electron(或设了 `DSH_PET_ELECTRON_PATH` 指向现成可执行文件)时,第 2 步会跳过,桌面端几乎立刻出现。下载失败**只影响桌面模式**:控制台会给出提示,浏览器里的宠物不受影响;网络受限时可以设 `DSH_PET_ELECTRON_MIRROR` 换镜像、`DSH_PET_ELECTRON_VERSION` 指定版本,重启后再试。
## 💬 反馈与发版节奏
欢迎提 issue 与 PR——bug、体验问题、优化想法都行。但动手前请先翻一眼 提交记录,确认不是已经修掉的同款问题(有些问题可能已经在 `main` 上修好了,只是还没发版)。
- **小修不单独发版**:不影响使用的小 bug 与优化会**累计**到下一个版本一起发,避免版本更迭过于频繁。所以「`main` 上已经修了」不等于「你装的这版已经包含」——`latest` 没更新时,以 `main` 的提交记录为准。
- **想立刻用上未发布的修复**:按上面的「从源码安装」把插件指向本地仓库即可;注意**宿主半侧**的代码改动要**重开 DSH** 才生效(浏览器半侧刷新页面即可)。
- **报 bug 时请带上**:插件版本、`dsh` 版本、操作系统、复现步骤(有日志或截图更好)。
## 插件功能
- **纯粹的桌宠**:不做天气、监控等无关功能,不碰 DSH 内核;可选能力只有下面这些(余额 / 碎碎念 / 对话 / 工作状态 / 系统通知)
- **动画链**:每个动画(含待机)播完即按权重选下一个(默认 idle 10 / turn 5 / move 5 + 分类权重,`config.jsonc` 可调),首尾相接
- **事件动画**:余额 / 碎碎念 / 工作状态按档位触发专属动画;档位支持候选数组——触发时档内随机、循环播放自动轮换,避免连播同一段
- **多开**:同时显示多个宠物,各自独立大小与位置(设置页「桌宠配置」添加/删除)
- **屏幕漫游**:朝朝向方向行走,先探测空间、不走出屏幕(多屏按各屏边界判定;设置页「锁定在当前屏幕」开启后只在当前所在那块屏内走)
- **点击 / 拖拽 / 甩抛**:点击有回应动画并 Q 弹挤压;拖拽过阻尼弹簧跟手,甩出即抛物线飞行、屏幕边缘反弹、落地摩擦停稳并 Q 弹一下;温柔放下原地停住;两端同一套纯函数物理与挤压曲线(`dsh-pet/src/shared/physics.ts`)
- **右键菜单**:「动作 → 分类 → 具体动画」任意点播(移动类动画点播会真实行走一段);工具项——浏览器端:碎碎念 / 对话 / 回到初始位置;桌面端:+ 打开网站、查看余额(余额启用时显示)、重载配置(改完配置文件直接右键重载全部桌面宠物,不必回设置页点保存)
- **「打开网站」按宿主自动分派**:宠物宿主是 **DSH 桌面应用**时,该项自动变成「打开 DeepSeek Harness」——用应用自注册的 `dsh://open` 协议把桌面应用主窗口唤到前台(已运行则前置、未运行则拉起);宿主是 `dsh web` / 独立模式时,仍是系统默认浏览器打开站点
- **朝向与落地**:全部动画可镜像(可朝左 / 朝右);脚底线统一,宠物始终站在地面上
- **流畅切换**:双缓冲交叉淡入,切换无空白帧
- **余额展示**:按已用百分比分档播余额动画 + 头顶联想气泡(10 秒自动消失);DeepSeek 显示账户余额,OpenCode Zen Go 与