Skip to content

c-ling/dsh-plugin-pet

30Last commit Aug 15, 2026

dsh-plugin-pet DSH plugin

This plugin adds a desktop pet to the bottom-right corner of the DeepSeek Harness Web GUI. The pet's mood changes based on the current agent state (thinking, working, error, waiting, etc.), and it supports built-in SVG characters, custom image uploads, and Codex-style spritesheet imports. Configurations are persisted across sessions.

How to install the dsh-plugin-pet DSH plugin

dsh plugin --profile web add "github:c-ling/dsh-plugin-pet#v1.0.3

Copying does not run this command. Review the repository and version before installing the dsh-plugin-pet DSH plugin.

dsh-plugin-pet DSH plugin data source

dsh-plugin-pet DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-plugin-pet DSH plugin can do

  • 6 built-in SVG characters (blob, cat, duck, robot, axolotl, ghost) with pure CSS animations
  • Custom image upload (PNG, JPEG, GIF, WebP) with animated GIF support
  • Codex-style spritesheet import (V1 1536×1872, V2 1536×2288) with automatic version detection
  • Generic grid-based spritesheet support with configurable columns, rows, fps, and mood-to-row mapping
  • Real-time mood animation driven by agent session state (idle, thinking, working, happy, sad, waiting, petting)
  • Drag-and-drop repositioning, click to pet, double-click to hide, paw button to show
  • HTTP API for reading, uploading, and deleting images and spritesheets
  • Settings panel accessible via the GUI settings page

Where the dsh-plugin-pet DSH plugin fits

  • Add a playful companion to the DeepSeek Harness Web GUI during development
  • Visually indicate agent status (e.g., thinking, working, error) without reading logs
  • Customize the pet with personal images or Codex-style spritesheets for team branding
  • Use as a decoration in presentations or demos of DeepSeek Harness

Who the dsh-plugin-pet DSH plugin is for

  • Developers using DeepSeek Harness Web GUI who want a fun and informative UI element
  • Users who enjoy desktop pets or virtual companions in their development environment

dsh-plugin-pet DSH plugin limitations

  • Only one global pet per page (root scope overlay, not per session)
  • Pet position is stored in browser localStorage and not synced across devices
  • Activating the plugin requires restarting the `dsh web` host process
  • Codex 'tail empty frames' auto-detection is not implemented; frame count is from spec defaults or manual config

dsh-plugin-pet DSH plugin: from the repository README

Quoted from the c-ling/dsh-plugin-pet README, the upstream source of the dsh-plugin-pet DSH plugin. Copyright remains with the original authors.

DeepSeek Harness Web GUI 的桌面电子宠物插件:由实时 agent 状态驱动心情动画,支持内置形象、自定义图片与 Codex 风格多帧精灵图导入。 [English](README-en.md) [![dsh-plugin topic](https://img.shields.io/badge/topic-dsh--plugin-blue)](https://github.com/topics/dsh-plugin) [![license](https://img.shields.io/badge/license-MIT-green)](LICENSE) 一个为 **DeepSeek Harness Web GUI** 打造的桌面电子宠物插件,灵感来自 Codex companion 与 Claude Code Buddy。宠物常驻页面右下角,实时响应 agent 的状态(思考 / 调用工具 / 报错 / 完成 / 等待你操作),并支持改名、缩放、隐藏与完全换肤: - **6 个内置形象**(blob / cat / duck / robot / axolotl / ghost,内联 SVG,纯 CSS 动画) - **自定义图片上传**(PNG / JPEG / GIF / WebP;动图会原样播放) - **Codex 风格多帧精灵图**——导入 Codex 宠物包(`pet.json` + `spritesheet.webp`,V1 1536×1872 与 V2 1536×2288,见 [Codex pet package spec](https://codexpet.xyz/spec/)), 或配置通用网格(列数 / 行数 / fps / 各心情状态行) 所有状态都保存在 `$DSH_HOME/storages/dsh-plugin-pet/` 下,重启 `dsh web` 后仍然保留。 ## 结构 | 文件 | 作用 | | --- | --- | | `lib/index.js` | 宿主插件:宠物持久化 + 挂在 harness `webServer` 服务上的 HTTP 路由 | | `lib/client.js` | 浏览器 bundle(手写 factory-CJS,无构建步骤):宠物浮层与设置面板 | | `test/` | `node --test` 测试套件,覆盖宿主路由与零依赖图片嗅探器 | 本包是双面插件:宿主半边是普通 Cordis 插件;客户端半边通过 `"dsh": { "client": { "platform": "web", "inject": [], "immediately": true } }` 加 `"./client"` 导出声明,因此 harness 的 cl

Read the full READMERepository license: MIT

dsh-plugin-pet DSH plugin questions

How do I install the dsh-plugin-pet?

Use the `dsh plugin --profile web add "github:c-ling/dsh-plugin-pet#v1.0.3"` command. If you don't have `pnpm` in PATH, you can use `corepack pnpm add "github:c-ling/dsh-plugin-pet#v1.0.3"` after navigating to `~/.dsh/profiles/web`. Then add the plugin loader entry to `cordis.patch.yml` and restart `dsh web`.

Can I use my own images for the pet?

Yes, you can upload custom images in PNG, JPEG, GIF, or WebP format. Animated GIFs will play as-is. The image is stored on the server and displayed in the pet overlay. You can upload it via the settings panel or the HTTP API (`POST /dsh-plugin-pet/image`).

How do I import a Codex pet spritesheet?

Go to Settings → Pet → Spritesheet → Import Codex Pet Pack. First upload the spritesheet file (must be 1536×1872 for V1 or 1536×2288 for V2). Then optionally upload the `pet.json` file which will apply the display name and validate the version. The mood-to-row mapping is predefined.

Does the pet persist after restarting the web GUI?

Yes, all configurations and uploaded images/spritesheets are saved in `$DSH_HOME/storages/dsh-plugin-pet/`. They survive a restart of `dsh web`. However, the pet's position is stored in browser localStorage, so it may not be synced across devices.

What moods does the pet have and how are they triggered?

The pet has moods: idle, thinking, working (with tool name bubble), happy (jumping after completion), sad (on error), waiting (for user input), and petting (when clicked). These are driven by the agent session state in real time.