npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

deepseek-desk-pet

v0.3.0

Published

Always-on-top DeepSeek Harness desk pet with a native menu and DIY skins. Shows what your agent is doing: working, waiting, finished, failed. Five skins, or make your own from one image. No dependencies.

Readme

DSH Desk Pet


安装

已经有 DSH 的话,一条命令:

dsh plugin --profile web add deepseek-desk-pet
dsh web

装完宠物就浮在桌面上了,DSH 页面本身不会被塞任何东西。

从旧版本升级得带 @latest 这个我自己踩过:

dsh plugin --profile web add deepseek-desk-pet@latest

不带的话写进去的是 ^0.x 范围,而 caret 作用在 0.x 上会锁住次版本号,^0.1.0 永远不接受 0.2.0。裸命令给你报一句 Already up to date,旧版本原地不动,我当时以为是自己发版发错了。

不想装 DSH、只想看宠物:克隆下来跑 ./bin/dsh-desk-pet

想跟 main 分支而不是发布版:

dsh plugin --profile web add github:anneheartrecord/dsh-desk-pet#main

包名叫 deepseek-desk-pet,仓库叫 dsh-desk-pet。不是我手抖,是 npm 认为 dsh-desk-pet 和一个跟我毫无关系的 dsh-deskpet 太像,直接拒了。它比较的时候 会把连字符去掉,两个名字归一化之后一模一样。

零依赖。 装它不用先装别的东西,不用编译,也不需要 ffmpeg。跑的是系统自带的 python。

使用

| | | |---|---| | | 按住身体任意处。放哪下次就从哪开始。 | | 点一下 | 展开会话清单:有哪些 DSH 会话、哪个还活着、各自在干什么。再点一下收起。 | | 免打扰 | 让它安静,直到你自己关掉。agent 照常干活,宠物不再反应。摸它还是会弹一下。 | | 右键 | 菜单:免打扰、会话清单、皮肤、宠物出现在哪、项目主页、检查更新、退出。 | | 停掉 | ./bin/dsh-desk-pet --stop,或者直接停 dsh web。 |

它是后台进程,启动之后就脱离终端了,所以开它的那个窗口可以直接关。

状态

跟着本地 DSH 自动变,没有需要配的东西。

stateDiagram-v2
    [*] --> 空闲
    空闲 --> 干活: DSH 开始跑
    干活 --> 等你: 卡在确认或授权
    等你 --> 干活: 你回应了
    干活 --> 报错: 这一轮失败
    干活 --> 开心: 这一轮跑完
    开心 --> 空闲: 3.2 秒后自己回落
    报错 --> 干活: 下一轮开始
    空闲 --> 打盹: agent 与鼠标同时安静 90 秒
    打盹 --> 空闲: 任何动静,或者戳它一下

| 状态 | 什么时候 | | --- | --- | | 空闲 | 没事干,会呼吸、偶尔眨眼 | | 干活 | DSH 正在跑 | | 等你 | 卡在确认、授权、要你输入 | | 报错 | 跑挂了 | | 开心 | 刚跑完一轮,3.2 秒后自己回到空闲 | | 睡着 | agent 闲着你的鼠标也不动了才打盹,一有动静或者你戳它就醒 |

最后一条我特意用了两个时钟。agent 没事干,和桌前没人,不是一回事。

皮肤

在右键菜单的皮肤子菜单里挑,或者用 --skin <id> 指定启动时用哪套。每套六个状态齐全,每个状态三帧。

| 皮肤 | 动起来 | |---|---| | 深索鲸(默认) | | | 蓝鲸 | | | 线核 | | | 鹦鹉螺 | | | 水母 | |

空闲是 2.4 秒静止,然后一次很短的眨眼。三帧均分我试过,那样看起来是在抽搐不是在呼吸。

每套皮肤的六个状态

顺序:空闲 · 干活 · 等你 · 报错 · 开心 · 睡着

用一张图做你自己的皮肤

把一张图交给你的 agent,让它做一套桌宠皮肤。插件里带了个 skill,负责把这张图扩写成一套皮肤要的十八个姿势,六个状态每个三帧。生图是你自己的工具在跑,烧的是你自己的额度,我这边不往任何地方发东西。做好的皮肤落在 ~/.dsh-desk-pet/skins/,在安装包外面,所以升级插件不会把它删掉。

十八张图烧的是真金白银,所以 skill 中途会停两次让你确认:第一张画出来先看角色对不对,第二张画出来再确认还是同一个角色。半路失败会告诉你缺哪几个,已经生出来的那些留着。

做好之后可以拿出来给人看。一条命令把六个状态拼成一张图:

./bin/dsh-desk-pet --skin-sheet <你的皮肤id>

欢迎投进 皮肤画廊,只交那一张预览图,帧素材留你自己机器上。

参数

./bin/dsh-desk-pet --scale 0.5      # 更小(默认 0.7)
./bin/dsh-desk-pet --skin jellyfish # 指定启动时的皮肤
./bin/dsh-desk-pet --reset          # 忘掉存下来的位置、大小、皮肤
./bin/dsh-desk-pet --stop           # 停掉正在跑的那只
./bin/dsh-desk-pet --foreground     # 前台跑,日志打到当前终端
./bin/dsh-desk-pet --probe          # 自检,不开窗
./bin/dsh-desk-pet --inventory      # 每套皮肤每个状态有几帧

已知限制

  • 宠物四周有一圈透明边距,点在那上面不会穿透到后面的窗口。
  • 这一版没有设置窗口,也没有贴边的 mini 模式。
  • 生成皮肤的时候这边不显示进度,那十八张图期间你只能看自己 agent 的输出。
  • 只支持 macOS。Windows 和 Linux 我没有机器测,短期也不打算做。

它内部怎么跑的、以及我当时选错过哪几个地方,写在 docs/INTERNALS.zh-CN.md

后面想做什么、什么不打算做,写在 docs/ROADMAP.md

许可

MIT。