dsh-pet
by zhanbohua
DeepSeek Harness 社区桌宠插件:Web 视口里常驻一只 DeepSeek 鲸鱼,原地游动、跟随会话生命周期并可打开面板
A community DeepSeek Pet plugin for DeepSeek Harness. It keeps a DeepSeek whale visible in the Web viewport, swims in place, follows the current session lifecycle, and opens a…
安装
dsh plugin --profile web add github:zhanbohua/dsh-petGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
面向 DeepSeek Harness 的社区 DeepSeek Pet 插件。它让 DeepSeek 小鲸鱼固定显示在 Web 视口中原地游泳,跟随当前会话生命周期,并展开紧凑的 API 统计面板。


提供的能力
- 固定在视口中的 overlay 和原地游泳鲸鱼;使用帧大小的 atlas 视口逐帧切换,并加入 1px 垂直起伏,不会水平移动或旋转。
- 当前会话的待机、运行、等待、失败和完成状态,并提供英文与简体中文词典。
- 点击打开面板,显示当前聊天标题、最近一次 provider/model 身份,以及
sessionStats、tokenUsage和contextPressureprojection 提供的 API 统计。 - 主指针拖动、抓取点跟随、8px 视口边距、浏览器本地位置持久化和视口约束。
- 展开面板会选择空间更大的一侧,与所有视口边缘碰撞;视口高度不足时只在卡片内部滚动。
- 根级 overlay 在没有当前会话时仍保持显示;会话数据通过桥接进入全局宠物,不会为每个会话重复渲染一只鲸鱼。
- Host 命令
/pet和/pet-game:可以从 DSH 正常命令输入中切换全局宠物和小游戏。 - 宠物主题的贪吃蛇小游戏:小鲸鱼作为蛇头,得分方块使用多彩玻璃高亮;支持方向键/WASD、空格、连续按两次空格、Escape 和重新开始。每局打开后先倒计时 3 秒再自动开始,并保存浏览器本地个人最佳分数,且只在结算时写入。10 分以内优先把得分方块放在中心 8×8 区域,之后在棋盘内广泛随机并降低最外圈偏置。游戏以贴着宠物的非模态毛玻璃悬浮卡片呈现,移动间隔从 240ms 起步,分数越高越平滑地加速,并与视口边缘碰撞。
- 使用 Codex v2 8×11 sprite atlas,并将 WebP 资源内嵌到 client bundle。
集成状态
本仓库是 Web 客户端包 @deepseek-ai/dsh-client-ui-pet 的源码发布。该包向 DSH Web composition 提供浏览器 entry;它目前还不是独立的 dsh.bundle。
当前构建和测试依赖匹配的 DeepSeek Harness checkout,因为本包使用 DSH workspace 依赖和 TypeScript project references。在该 checkout 中,将本目录放到 packages/client/ui-pet,保留下面的 Web patch 行,并从 monorepo 根目录运行聚焦检查:
- id: ui-pet
name: '@deepseek-ai/dsh-client-ui-pet'
rsync -a --exclude .git --exclude lib --exclude node_modules /path/to/dsh-pet/ packages/client/ui-pet/
pnpm install
pnpm exec vitest run packages/client/ui-pet/tests
pnpm exec tsc -p packages/client/ui-pet/tsconfig.json --noEmit
pnpm --filter @deepseek-ai/dsh-client-ui-pet bundle
直接执行 dsh plugin --profile <name> add github:Vulcan626/dsh-pet 激活被有意暂缓。本包没有声明 dsh.bundle,当前 workspace:^ 引用也不是 Git 安装所需的自包含依赖。官方 DSH 插件发布指南 说明了公开 Git 包在支持这种安装方式前需要自包含的 prepare 构建或预构建产物。
运行时和统计
宠物通过 runtime 标准 hooks 读取选中的会话,并把可视 overlay 保持在 root scope。存在对应 projection 时优先使用 durable whole-log 计数和 provider 计费桶;没有 projection 的 fixture 或部署会把可见 conversation window 折叠成展示回退,不发起 RPC,也不创建第二份用量账本。
缓存命中率为 cacheReadTokens / (uncachedInputTokens + cacheReadTokens + cacheWriteTokens)。上下文占用使用 projectedTokens,缺失时回退到 pressureTokens。插件不会发送模型请求,也不会增加模型可见内容。
命令与小游戏
/pet 切换浏览器级 overlay;/pet-game 切换贴着宠物的贪吃蛇悬浮卡片,开启时会自动唤醒宠物。统计面板中的「开始小游戏」按钮也可以打开它。每局打开后先倒计时 3 秒再自动开始;空格暂停/继续,连续按两次空格重开。游戏从 240ms 移动间隔开始,并随分数按温和指数曲线提升;10 分以内的得分方块偏向中心区域,之后广泛随机并降低边缘集中。多彩玻璃得分方块和游戏卡片会跟随宠物并与视口边缘碰撞,不会覆盖整个工作区。正在进行的棋盘只保存在当前浏览器内存,页面隐藏时会暂停;个人最佳会跨刷新保留,只在最后结算时写入,不会在标签页之间同步,也不会进入模型上下文。
开发说明
源码由宿主插件和 src/client/ 下的浏览器 entry 组成。聚焦 React 和纯规则测试覆盖状态推导、统计折叠、用量计算、sprite 选择、拖动、视口约束、面板边缘碰撞、命令控制、倒计时、连续空格重开、个人最佳存储、彩色得分方块、分数分段落点、结算时更新和 Snake 移动。生成的 lib/、node_modules/、临时文件、环境文件和 macOS 元数据均被排除在仓库之外。
官方生态建议
上游贡献指南 当前建议社区通过共享插件、指南、博客和答疑参与生态建设,同时官方仓库暂不接受外部 pull request。发布相关包时添加 dsh-plugin topic,方便其他 DSH 用户发现。
Release note 和 TODO
- CHANGELOG.md 记录当前公开源码版本。
- TODO.md 列出后续打包、安装、无障碍和统计能力里程碑。
许可证
MIT,见 LICENSE。
原始 README: https://github.com/ZhanboHua/dsh-pet/blob/main/README.zh.md ↗
同类插件
查看全部 →
petdex
面向 Codex、Claude Code、DeepSeek Harness、Hermes、OpenCode、Gemini CLI 等的动画桌宠公共图鉴

dsh-ads
2005 年中文站点风格的整活广告插件:侧栏广告/信息流/角落弹窗 + 假关闭叉,素材全虚构。

whale-girl
桌面宠物(QQ 宠物形态):右下角悬浮、可拖拽/投喂/玩耍。

dsh-kun-like-pet
Kun Like 桌宠 —— DeepSeek Harness 桌面宠物插件:右下角小坤宠随 Agent 工作状态切换 9 种动作,任务完成播放「你干嘛~哎哟」

dsh-toy
DSH 的玩具控制协议

deepseek-pet
在你的deepseek-harness上养一只吃白饭的大蓝鲸