🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面宠物 60fps r0setan79/dsh-pet-60fps

DeepSeek Harness
r0setan7914 天前有提交已提供中文文档扫描:含敏感能力

让桌面宠物动作丝滑流畅,换动作不再硬切

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add r0setan79/dsh-pet-60fps
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · security
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-commands@deepseek-ai/dsh-credentials@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-pet 60fps 改版 🐾 一只住在 DeepSeek Harness 里的桌面宠物,全部 106 段动作重制成 60fps,换动作不再硬切。 非官方改版 / unofficial fork:基于 PC2005-cloud/dsh-pet v0.3.7(MIT)重制素材帧率并调整动画调度。本仓库只做素材与调度层改动,插件功能与原版一致。 这个版本改了什么 相对上游 dsh-pet@0.3.7,改动集中在两处:素材帧率 与 动画调度。 1. 106 段素材全部运动插帧到 60fps | 项目 | 上游 0.3.7 | 本改版 | | 帧率 | 24 fps | 60 fps | | 单段循环 | 约 240 帧 | 598 帧 / 9.967 s | | 分辨率 | 640×360 | 640×360(未变) | | 编码 | VP9 + alpha | VP9 + alpha(alpha_mode=1 保持不变) | | 素材数 | 106 | 106(一一对应,无增删) | 24fps 到 60fps 之间缺的是中间帧——抬手、转头、呼吸的过渡过程和插值帧,现在都补上了。插帧只做运动补偿,不改画风、不改时长、不加速。
展开完整文档(README 剩余 1 节)
dsh-pet 60fps 改版 🐾

一只住在 DeepSeek Harness 里的桌面宠物,全部 106 段动作重制成 60fps,换动作不再硬切。

非官方改版 / unofficial fork:基于 PC2005-cloud/dsh-pet v0.3.7(MIT)重制素材帧率并调整动画调度。本仓库只做素材与调度层改动,插件功能与原版一致。

这个版本改了什么

相对上游 dsh-pet@0.3.7,改动集中在两处:素材帧率 与 动画调度。

1. 106 段素材全部运动插帧到 60fps

| 项目 | 上游 0.3.7 | 本改版 |
| 帧率 | 24 fps | 60 fps |
| 单段循环 | 约 240 帧 | 598 帧 / 9.967 s |
| 分辨率 | 640×360 | 640×360(未变) |
| 编码 | VP9 + alpha | VP9 + alpha(alpha_mode=1 保持不变) |
| 素材数 | 106 | 106(一一对应,无增删) |

24fps 到 60fps 之间缺的是中间帧——抬手、转头、呼吸的过渡过程和插值帧,现在都补上了。插帧只做运动补偿,不改画风、不改时长、不加速。

2. 换层交叉淡入从 0.18 s 提到 0.35 s

runtime/electron-helper/index.html:51 的 transition: opacity 由 0.18s 改为 0.35s,段与段之间的过渡更柔和,不再有那种「啪」一下换图的感觉。(更长的淡入会把旧姿势从新图的透明区透出来,0.35s 是实测的可用上限。)

3. 段间停顿改成随机待机,不再定格

sprite.js 里的 IDLE_GAP_MS = 2000:一段动作播完的间隙不再定在最后一帧当「静止画」,而是循环播一段随机的待机动作,整只宠物任何时候都在动。

4. 提前预解码下一段,消掉切换瞬间的卡帧

sprite.js 新增 preloadInto() + switchTo() 里的缓存命中快路径(el.dataset.animUrl === url && el.readyState >= 2):one-shot 开播后约 270 ms 就把下一段要用的素材预解码进空闲的 ,切过去时不再等首帧。

5. 随机链防重复(8 段窗口)

构造器新增 this.recent = [] / recentMax = 8,notePlayed() 在每次切换时记账,pickFresh() 优先抽不在最近窗口里的动作;分类动作另有最多 6 次拒绝采样。不会再连着三次抽到同一个动作。

6. 拖拽 / 点击仍是同帧硬切

换层分两类:段间切换走 150 ms 短交叉淡入,拖拽、点击这类交互走同帧硬切(switchTo(next, nextOnce, hardCut) 第三参数),保证手感跟手,同时避免两个图层同时可见。

目录结构与改动位置

dsh-pet-60fps/
├─ assets/
│ ├─ webm/ ← 106 段素材,全部换成 60fps 版(1.7 MB × 106) │ ├─ config.jsonc ← 动画/权重配置(未改) │ ├─ fonts/ memes/ pic/ ← 原版素材(未改) │ └─ logo.png ├─ runtime/electron-helper/ ← 桌面窗口渲染层(改动的核心) │ ├─ index.html ← 交叉淡入时长 0.18s → 0.35s │ ├─ sprite.js ← 预解码 / 防重复窗口 / 停顿时随机待机 │ ├─ main.js shared-core.js events.js ... ├─ lib/ ← 构建产物(宿主半侧 + 浏览器半侧 + 独立模式 CLI) ├─ src/ ← 源码 ├─ cordis.patch.yml ← 插件挂载声明 ├─ package.json ← dsh-pet 0.3.7 清单(未改版本号) └─ LICENSE ← MIT,原作者 PC2005-cloud

安装

前置:Node.js ≥ 22.12,以及一个能跑 dsh-pet 的 DSH 版本(原版声明 0.2.0-rc.1 / 0.2.0-rc.2 兼容)。

方式 A:覆盖进已有 DSH 插件目录(最省事)

1. 先备份原来的插件 Copy-Item "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-pet" "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-pet.bak" -Recurse

2. 用本仓库内容覆盖(把仓库解压后的内容整个拷进原目录,保持 package.json 在根) robocopy "<解压目录>" "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-pet" /MIR /XD .git

3. 重启 DSH Desktop

注意:/MIR 会删掉目标里多出来的文件,所以第 1 步的备份别省。

方式 B:独立模式(不装 DSH,直接跑桌面宠物)

npm install --omit=dev # 只装 @electron/get 这类运行依赖
node lib/standalone.js --check # 体检:打印配置来源、宠物清单、Electron 状态
node lib/standalone.js # 启动,默认端口 3080,被占用时自动顺延
首次运行会把 Electron 43.3.0 下载到 %USERPROFILE%\.dsh\electron。想复用已有 Electron,设环境变量 DSH_PET_ELECTRON_PATH 指向 electron.exe。

独立模式下,余额、碎碎念、对话、系统通知这些依赖 DSH 服务的功能不可用。这是上游的设计,不是本改版的问题。

方式 C:当本地依赖装进 profile

// ~/.dsh/profiles/desktop/package.json
{
"dependencies": { "dsh-pet": "file:E:/dsh-pet-60fps" },
"dsh": { "profile": { "bundles": ["...", "dsh-pet"] } }
}

改完 pnpm install,重启 DSH。

相关配置

动画池与权重在 ~/.dsh/dsh-pet/main-config.jsonc(独立模式是 $DSH_HOME/dsh-pet/main-config.jsonc)的 animations / animationWeights。改完不用杀进程,POST http://127.0.0.1:3080/dsh-pet-7340/reload 会重新同步。

display 字段只允许 none / desktop / both。已经有独立桌宠在跑时,DSH 侧那份必须保持 none,否则会同时出现两只。

已知限制

- 仓库约 190 MB,几乎全是 60fps 素材(106 × ~1.7 MB)。这是插帧后码率上升的必然结果,不是仓库里塞了无关文件。
- 60fps 只在渲染层真的按 60Hz 刷新时有意义;远程桌面 / 省电模式下可能被降到 30fps 显示。
- 素材是 VP9 + alpha 的 WebM。Safari 对 VP9 alpha 支持不完整,上游也是同样限制。
- 本改版只改素材与 runtime/electron-helper 里的调度逻辑;package.json 版本号仍是 0.3.7,方便和上游对照。

许可与致谢

- 原项目:PC2005-cloud/dsh-pet,MIT License,Copyright (c) 2026 PC2005-cloud。
- 本仓库沿用同一份 MIT 许可,见 LICENSE。素材与代码版权归原作者;本仓库的改动是帧率重制与调度层补丁。
- 插帧后的素材仍受原项目许可约束,转载/二次分发请一并保留 LICENSE 与出处。
预览分享卡片长什么样 ↓r0setan79/dsh-pet-60fps
分享 · DeepSeek Harness Hub
r0setan79/dsh-pet-60fps

让桌面宠物动作丝滑流畅,换动作不再硬切

回到顶部