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
- GitHub: github.com/PC2005-cloud/dsh-pet
- Homepage: https://www.npmjs.com/package/dsh-pet
- Releases · Issues · Hacker News mentions
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 与