Skip to content
dsh.fish
Bundle

yuhao-pet

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

Source
dlpufan
stars
2 stars
License
MIT
Updated
Updated 12 days ago

Readme

# yuhao-pet · 宇昊桌面宠物

[简体中文](README.md) · [English](README.en.md)

![宇昊立绘](assets/full.webp)

一只叫 **宇昊** 的狐狸兽人少年,常驻你的 DeepSeek Harness Web 桌面右下角,陪你写代码、陪你攒积分。

> 立绘与角色设定来自 [FurryBar 角色百科](https://furrybar.wiki/)(画师 香瓜)。

## 功能

- 🖱️ 可拖拽、可隐藏,常驻桌面右下角
- 🍔 投喂 / 🎾 玩耍 / 🛁 洗澡 / 💊 吃药 / 📖 学习 / 💼 打工 / 💤 睡觉
- 📊 五项状态(饱食 / 清洁 / 心情 / 健康 / 精力)随时间衰减,会生病、会睡觉
- ⭐ 等级 + 经验 + 积分商店(食物 / 玩具 / 药品 / 学习 / 家具 / 特殊)
- 🎒 买到的道具会放进背包,在对应动作里选择使用
- 💰 你消耗 token 自动攒积分,积分可以用来购买道具
- 💬 主动搭话 + AI 对话(DeepSeek,可在设置里配 API Key)
- 🎵 配合[赛博朋克主题插件](https://github.com/dlpufan/dsh-theme-cyberpunk):切歌时会评论新歌,说「切歌」还能帮你切歌
- 📜 对话历史记录(本地持久化,标注每条回复的触发来源)
- 🦊 **动态立绘**:Spine 逐帧呼吸动画,耳朵 / 头 / 尾巴 / 身体自然摆动
- 😊 **表情系统**:7 种表情随状态自动切换,也能被对话中的情绪词临时触发(见「表情 / 状态立绘」)
- 👋 **互动**:羽毛 / 手指 / 手掌 / 番茄 四种工具,点击身体不同部位(头 / 脸 / 耳朵 / 手 / 肚子 / 腿 / 脚 / 尾巴…)触发不同反应
- 👕 **换装**:穿衣 / 脱衣一键切换,立绘实时变化
- 🧸 **旧版 Q 版立绘**:设置里可切换回 Q 版
- 📐 **立绘大小**:大 / 中 / 小三档可调
- 🤧 **小动作**:会随机打喷嚏、左右张望眨眼,会偷一些小东西
- 🙈 **隐藏**:设置里可隐藏,装了赛博朋克插件会收进右上角 HUD,否则收在右下角

## 安装

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

重启并刷新:

```sh
dsh web
```

## 使用

- **左键点击**宠物:属性面板
- **右键点击**:菜单(对话 / 商店 / 设置 / 各动作)
- **按住拖动**:移动位置
- **互动**:菜单「互动」选工具(羽毛 / 手指 / 手掌 / 番茄),再点击宠物身体部位
- **AI 对话**:菜单「⚙️ 设置」填 DeepSeek API Key,然后在「对话」里聊,或点气泡下「回复」

## 表情 / 状态立绘

宇昊有 7 种表情,每张都是会呼吸的动态立绘(Spine 逐帧),会随状态自动切换;对话里说的话也会临时触发表情(约 12 秒后回到状态表情)。

| 表情 | 触发 | 立绘 |
|---|---|---|
| 正常 normal | 默认状态 | ![正常](assets/preview-normal.png) |
| 开心 happy | 心情 > 75;说「开心 / 喜欢 / 可爱 / 抱」 | ![开心](assets/preview-happy.png) |
| 伤心 sad | 心情 < 30;说「伤心 / 难过 / 哭」 | ![伤心](assets/preview-sad.png) |
| 生气 angry | 饱食 < 30;说「生气 / 讨厌 / 烦」 | ![生气](assets/preview-angry.png) |
| 害怕 scared | 健康 < 30;说「害怕 / 吓 / 恐怖」 | ![害怕](assets/preview-scared.png) |
| 鄙夷 disdainful | 清洁 < 30;说「嫌弃 / 恶心 / 脏」 | ![鄙夷](assets/preview-disdainful.png) |
| 害羞 shy | 说「害羞 / 脸红 / 表白」 | ![害羞](assets/preview-shy.png) |

## 卸载

```sh
dsh plugin --profile web remove yuhao-pet
```

> 宠物状态保留在 `<dshHome>/data/yuhao-pet/state.json`,重装可继续;想彻底清除可手动删除该目录。

## 目录结构

```
yuhao-pet/
├── package.json        # dsh.bundle + dsh.client
├── cordis.patch.yml    # 自插入 patch
├── index.mjs           # Node 半边:状态账本 + 路由 + AI 代理
├── client.js           # 浏览器半边:渲染 + 交互
└── assets/             # anim-*.png 逐帧精灵图 / preview-*.png 预览 / 头像 / 元数据
```

## 许可

[MIT](./LICENSE)

Install

dsh plugin --profile web add github:dlpufan/yuhao-pet#f6991f72ccbe737d32f863a99f5e8e1cf02e0a83

Profile: web

Source