DeepSeek Harness plugin

yuhao-pet

DSH Web GUI 桌面宠物「宇昊」:可拖拽/投喂/玩耍/洗澡/打针吃药/学习/打工/积分商店,token 消耗自动攒积分。

Jump to install

Source facts

Repository
dlpufan/yuhao-pet
Latest update
Aug 16, 2026
Category
Just for Fun
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/dlpufan/yuhao-pet
Plugin: yuhao-pet
Author: dlpufan

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.en.mdSource · read only
README language

yuhao-pet · Yuhao Desktop Pet

简体中文 · English

![Yuhao](assets/full.webp)

A fox kemono boy named Yuhao (宇昊) lives in the bottom-right corner of your DeepSeek Harness web desktop, keeping you company while you code and earn points.

> Artwork and character settings come from the FurryBar character wiki (artist: 香瓜).

Features

  • 🖱️ Draggable and hideable; lives in the bottom-right corner of your desktop
  • 🍔 Feed / 🎾 Play / 🛁 Bathe / 💊 Medicine / 📖 Study / 💼 Work / 💤 Sleep (drinks are part of food)
  • 📊 Five stats (hunger / cleanliness / mood / health / energy) decay over time — it can get sick and falls asleep
  • ⭐ Level + XP + a points shop (food / toys / medicine / study / furniture / special)
  • 🎒 Purchased items go into your bag, then use them from the matching action
  • 💰 Earn points automatically from the tokens you spend (≈ 500 tokens = 1 point)
  • 💬 Proactive chatter + AI conversation (DeepSeek; set the API key in Settings)
  • 🎵 Works with the cyberpunk theme plugin: comments when the track changes, and switches songs when you ask
  • 📜 Conversation history (persisted locally, each reply tagged with its trigger)
  • 🦊 Animated portrait: Spine frame-by-frame breathing — ears / head / tail / body sway naturally
  • 😊 Expressions: 7 faces switch with the pet's state, and also react to emotional words you type (see "Expressions / Portraits")
  • 👋 Interactions: feather / finger / palm / tomato — click different body parts (head / face / ears / hands / belly / legs / feet / tail…) for different reactions
  • 👕 Outfits: toggle dressed / undressed, the portrait changes in real time
  • 🧸 Q-version portrait: switch back to the chibi version in Settings
  • 📐 Portrait size: large / medium / small
  • 🤧 Idle gestures: sneezes and blinks-and-looks-around at random, shakes its head and blushes when touched somewhere sensitive
  • 🙈 Hide: hide it from Settings — docks into the cyberpunk HUD if installed, or the bottom-right corner otherwise

Install

cd yuhao-pet
dsh plugin --profile web add .

Restart and refresh:

dsh web

Usage

  • Left-click the pet: stats panel
  • Right-click: menu (chat / shop / settings / actions)
  • Hold and drag: move it around
  • Interact: pick a tool from the "互动" menu (feather / finger / palm / tomato), then click a body part
  • AI chat: set the DeepSeek API key in Settings (⚙️), then chat in "对话" or click "回复" under a bubble

Expressions / Portraits

Yuhao has 7 expressions, each an animated (Spine frame-by-frame) breathing portrait. They switch with the pet's state, and emotional words in chat temporarily trigger them (about 12 seconds, then back to the state-based face).

ExpressionTriggerPortrait
normal 正常default state![normal](assets/preview-normal.png)
happy 开心mood > 75; say "happy / love / cute / hug"![happy](assets/preview-happy.png)
sad 伤心mood < 30; say "sad / cry / upset"![sad](assets/preview-sad.png)
angry 生气hunger < 30; say "angry / hate / annoying"![angry](assets/preview-angry.png)
scared 害怕health < 30; say "scared / scary / afraid"![scared](assets/preview-scared.png)
disdainful 鄙夷cleanliness < 30; say "disgusting / dirty"![disdainful](assets/preview-disdainful.png)
shy 害羞say "shy / blush"![shy](assets/preview-shy.png)

Uninstall

dsh plugin --profile web remove yuhao-pet

> Pet state is kept in <dshHome>/data/yuhao-pet/state.json, so reinstalling continues where you left off; delete that directory to fully reset.

Directory structure

yuhao-pet/
├── package.json        # dsh.bundle + dsh.client
├── cordis.patch.yml    # self-inserting patch
├── index.mjs           # Node half: state ledger + routes + AI proxy
├── client.js           # browser half: rendering + interaction
└── assets/             # anim-*.png frame sheets / preview-*.png previews / avatar / metadata

License

[MIT](./LICENSE)