springbrand-lab/dsh-skin-universe--packages-dsh-pet ↗★ 3
@linxin666/dsh-pet
DSH 主题联动桌宠插件:支持抚摸、喂食、拖动及模型状态联动,提供亲密度反馈。
AI 分析
核心用途是为 DSH 界面增添趣味互动桌宠。适合喜欢桌面宠物、希望在枯燥的编码或工作过程中有虚拟伙伴陪伴互动的用户。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:springbrand-lab/dsh-skin-universe#519c9946d9ce2cb820ce305eb5de899393ae7828&path:packages/dsh-pet說明文件
閱讀完整 README ↗dsh-pet — 主题联动桌宠插件
五套主题各有一只专属伙伴,陪你在 DeepSeek Harness 里工作。
桌宠会跟随当前皮肤切换外观,并保留摸头、喂食、改名、拖动、隐藏、召唤和亲密度反馈。未启用五套主题之一时不再显示旧鲸鱼娘素材。
复刻自 Codex 桌面版的宠物功能,以 DSH 官方插件形态实现(cordis bundle:host 半区 + client 半区单包)。
功能
| 功能 | 说明 |
|---|---|
| 主题联动 | 初恋、蛛网都市、宝可梦、木叶、鬼灭各自显示专属伙伴 |
| 摸头互动 | 点击主题伙伴 → 气泡反馈 + 亲密度 +1(10s 冷却) |
| 喂食 | 悬浮面板「喂食」→ 消耗 1 条小鱼干 + 亲密度 +5(30s 冷却) |
| 饲料经济 | 小鱼干库存(上限 20):工作每 3 回合 +1 条、每 30 分钟 +1 条 |
| 亲密度 | 每完成一个回合 +1;4 个等级:幼鲸 → 伙伴 → 挚友 → 深海羁绊(100 点封顶) |
| 自定义命名 | 悬浮面板「改名」→ 1–20 字符,持久化,召唤按钮/面板同步显示 |
| 拖动 | 按住主题伙伴拖动重新摆放,位置持久化 |
| 隐藏/召唤 | 悬浮面板「隐藏」;隐藏后输入选择行出现「召唤{名字}」按钮 |
| 状态气泡 | 工作时显示模型当前状态短语 |
旧版动画素材
仓库仍保留原上游的 8 列 × 9 行鲸鱼娘图集作为兼容素材,但五套主题不会再展示它:
| idle 待机 | waiting 等待 | running 干活 | jumping 庆祝 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| waving 挥手 | review 复盘 | failed 失败 | 左右移动 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
架构
dsh-pet/
|-- src/
| |-- index.ts # host 半区:插件入口(cordis apply,注册路由)
| |-- service.ts # PetService:宠物状态机 + 亲密度 + 配置(HTTP API 服务面)
| |-- state.ts # 宠物状态机:activity/status phase → 9 状态动画
| |-- affinity.ts # 亲密度账本(纯函数 + 冷却)
| |-- treats.ts # 小鱼干库存账本
| |-- persist.ts # 持久化($DSH_HOME/pet.json,原子写入)
| |-- routes.ts # /api/pet/* JSON API + /pet/whale/* 素材静态路由
| `-- client/ # 浏览器半区
| |-- index.ts # slots 注册 + 轮询(800ms)+ 交互接线(fetch)
| |-- PetDockEntry.tsx # conversation.input.selector.context 挂载点
| |-- WhalePet.tsx # 浮层组件(portal + rAF 帧动画 + 拖动)
| |-- spritesheet.ts # 图集几何 + 每状态动画轨道(帧/时长)
| `-- pet.module.css
|-- assets/whale/ # 上游兼容素材(默认隐藏)
|-- assets/theme-companions/ # 五套主题的专属伙伴
`-- cordis.patch.yml # bundle patch:插入 pet 插件行
数据流
activity/status session 事件(原 working-activity 插件发布) --> PetService(host)
| /api/pet/* JSON
conversation.input.selector.context 槽位 `。
## 素材与动画轨道校准
鲸鱼娘图集由 hatch-pet 流水线按 9 状态 × 8 列生成:`assets/whale/spritesheet.webp`(1536×1872,8 列 × 9 行 192×208 单元)+ `assets/whale/pet.json`。每行实际帧数与节奏在 `src/client/spritesheet.ts` 的 `TRACKS` 中定义。若素材重做导致帧数变化,只需更新该表(行序契约:0 idle / 1 running-right / 2 running-left / 3 waving / 4 jumping / 5 failed / 6 waiting / 7 running / 8 review)。
## License
[BSD-3-Clause](https://github.com/springbrand-lab/dsh-skin-universe/blob/519c9946d9ce2cb820ce305eb5de899393ae7828/packages/dsh-pet/LICENSE)







