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

dsh-client-ui-cat

v0.1.20

Published

A little tabby cat that wanders around the DeepSeek Harness UI — walking, hopping, napping and getting petted. (dsh 客户端插件:一只在 DeepSeek Harness 界面里游荡的小猫)

Readme

dsh-client-ui-cat · 在 DeepSeek Harness 里游荡的小橘猫

一只会在 DeepSeek Harness Web 界面里到处逛的小猫:沿着文字和组件的上边缘行走、跳上台阶、嗅探、冲刺、从边缘掉下去摔伤再爬起来、大部分时间趴着睡觉,还会让你撸。

小猫预览

功能特性

  • 🐾 沿着页面元素(段落、标题、卡片、按钮……)的上边缘行走
  • 🪜 跳上台阶、奔跑、嗅嗅、舔毛,大部分时间在睡觉(每次 12–24 秒,休息时约 75% 概率直接睡)
  • ✨ 偶尔会瞬移到页面随机位置(伴随明亮的旋转烟雾特效),不会一直待在页面底部
  • 🔄 走到边缘尽头准备转身时,有时会先倒退走几步再转身
  • 💩 偶尔会在原地拉一坨粑粑——粑粑会一直留在那里,直到你点击它(或刷新页面)
  • 🏔️ 走到边缘尽头会掉下去——头晕、冒星星、头上起包,然后自己恢复
  • ❤️ 点击撸猫:粉色小心心 + 呼噜声;摔伤后点一下还能立刻恢复
  • 🎨 右键切换 6 种皮肤(橘猫 / 白猫 / 奶牛猫 / 黑猫 / 灰猫 / 暹罗猫)
  • 💾 记住上次的颜色:刷新页面或重启插件后自动恢复(存于 localStorage["dsh-cat-skin"])
  • 🚶 滚动页面或调整窗口大小时会自动发现新的可走边缘
  • ♿ 尊重系统的「减少动态效果」设置

安装

已发布到 npm:dsh-client-ui-cat。一条命令安装并激活——包声明了 dsh.bundle,dsh plugin 会自动注册 loader 条目:

dsh plugin --profile web add dsh-client-ui-cat

重启 harness 并刷新页面——小猫会出现在页面底部,开始四处探险。

手动安装(用本仓库源码)

把 cat-plugin/ 目录复制到 profile 的 web/node_modules 下,命名为 dsh-client-ui-cat,再在 profile 的 cordis.patch.yml 里加一条 loader 条目(文件不存在就新建):

- insert:
    - id: ui-cat
      name: 'dsh-client-ui-cat'

使用方法

| 操作 | 效果 | | --- | --- | | 左键点击 | 撸猫(爱心 + 呼噜声);摔伤后点击可立即恢复 | | 按住拖动 | 把猫拎起来,松开放下 | | 右键点击 | 切换下一种皮肤(橘猫 / 白猫 / 奶牛猫 / 黑猫 / 灰猫 / 暹罗猫) | | 点击粑粑 | 清除它(否则会一直留到页面刷新) | | 右键点击粑粑 | 清除页面上的所有粑粑 |

开发

浏览器端 bundle(lib/client.js)由 surgery.cjs 从三份源文件拼装而成:

svg.css       →  猫的样式与关键帧动画(内联为 CAT_CSS)
markup.txt    →  根节点 innerHTML 模板
skins.txt     →  生成的皮肤数据 + renderSkin()

工作流:

# 1. 修改 assets/cats/ 下的皮肤 SVG 后,重新生成 skins.txt
node gen-skins.cjs

# 2. 修改 svg.css / markup.txt 后,把它们拼进 lib/client.js
node surgery.cjs

注意:surgery.cjs 是原地拼接进 lib/client.js 的——对已经包含 skins 块的 bundle 再跑一遍会重复插入。请保持三份源文件与 client.js 同步,或从干净的副本重新拼接。

发布

本包是纯源码、无构建步骤:lib/client.js 是可直接加载的 ES module,CSS 已内联,因此任意分发渠道都可用:

# 发布到 npm(files 白名单:lib/、cat.svg、README)
npm publish

# 或分发 tarball
npm pack          # → dsh-client-ui-cat-0.1.0.tgz
dsh plugin --profile web add ./dsh-client-ui-cat-0.1.0.tgz

# 或直接从 git 安装(本包无需构建)
dsh plugin --profile web add github:you/dsh-client-ui-cat

npm pack 会先跑 prepack → npm run check(对两个 lib 文件做语法检查)再打包。

项目结构

cat-plugin/
├── lib/
│   ├── index.js        # 宿主端(空实现)
│   └── client.js       # 浏览器端——小猫的完整运行时
├── assets/cats/        # 6 种行走皮肤 + 剪影
├── svg.css             # 猫的样式与动画
├── markup.txt          # innerHTML 模板片段
├── skins.txt           # 生成的皮肤数据(gen-skins.cjs 的输出)
├── gen-skins.cjs       # 皮肤生成器
├── surgery.cjs         # bundle 拼装脚本
├── cordis.patch.yml    # profile loader patch 示例
└── package.json
cat.svg                 # 默认行走皮肤(cat-orange.svg,即 README 预览图)
cat-preview.html        # 独立预览页(直接加载 lib/client.js)

License

MIT