dsh-client-ui-cat
一只在 DeepSeek Harness 界面里游荡的小猫,沿文字边缘行走、打盹、瞬移、摔下台阶,还会拉粑粑等你清理。
安装
dsh plugin --profile web add dsh-client-ui-cat
沙箱测试
这个插件还没测过。提交测试 →
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
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:22,最后更新 2026-11-02