Skip to main content
D

dsh-quota-pets

darkdarkddarkwine/dsh-quota-pets

Animated desktop pets, one mascot per coding-plan provider (GLM, MiniMax, Kimi, DeepSeek, MiMo). Poses follow the running session; moods follow quota usage read from dsh-quota-hub.

Install

dsh plugin --profile web add github:darkdarkddarkwine/dsh-quota-pets

README

dsh-quota-pets

Quota Pets — a chibi desktop-pet companion for DeepSeek Harness, one mascot per LLM coding plan:

PetProviderTheme color
🦊 Broad-Eared Fox GirlGLM (z.ai / bigmodel)Purple #8B7CF6
🎙️ Conch Reporter GirlMiniMaxPink #FF7DA0
🎵 Star-Moon Flute GirlKimi (Moonshot)Gold #F5C445
🐋 Whale GirlDeepSeekBlue #4D6BFE
🧡 Bunny-Hood GirlXiaomi MiMoOrange #FF6900

All five mascots are fully animated (idle / working / done / error / sleeping, WebP, ≤12 fps, tuned to fit tight byte budgets — see the asset contract).

Quota data is consumed entirely from dsh-quota-hub (/dsh-quota-hub/status.json) — this plugin never touches your API keys. Without quota-hub installed, the pet still runs (question-mark state).

简体中文说明点这里

Behavior

Follows the active model — only one pet is visible at a time: the one matching the model of the current session. Switching models fades the old pet out and the new one in. A brand-new conversation shows no pet until the first query fixes the model (nothing matches → nothing shown).

StateBehavior
IdleGentle floating; click to hop + refresh now
Session runningWorking pose (each pet's own: whale girl eating, fox girl flipping pages, reporter girl with her clapperboard, flute girl playing, bunny-hood girl with her plush) + glow ⚡
Run finishedOne-shot celebration (~3s) ✅, then back to idle
Run erroredDrooping pose, badge ❌
Idle 10 minSleeping 💤 (whale curl, girl naps on her rabbit…)

Quota pressure is rendered as an overlay (badge + bubble + filter), never as art: hover for the worst window usage + reset countdown; ≥70% warn / ≥90% critical coloring; no key or disabled provider → ghost mode; query failed → question mark ❓ with the error in the bubble.

Right-click menu: temporary avatar preview / size (64/88/112px) / reset position / developer state cycler. Position and size are shared across all pets and remembered in localStorage. Full state machine and design reference in docs/pet-capabilities.md (Chinese).

Custom avatars

Assets live in assets/<petId>/<state>.webp (animated) plus <state>-static.webp or .png (static fallback for reduced-motion), hot-swapped within seconds — naming rules in assets/README.txt, validation via scripts/validate-assets.py, full spec in the asset contract.

Install

dsh plugin --profile <name> add github:DarkDarkdDarkWine/dsh-quota-pets

Pairs best with dsh-quota-hub.

Design credits

All five mascots are chibi renditions of community anthropomorphic designs — none of them is an official mascot of the respective company. Reference sources recorded during production:

  • DeepSeek whale girl — based on the fisharchive.cc chibi redesign (character redesigns marked CC BY-NC-SA 4.0 on the site).
  • GLM broad-eared fox girl — community fox-girl references from aggregator galleries and the ai-chan-sheets project (character by ZipZipPipe; repo CC BY-NC-SA).
  • Kimi star-moon flute girl — Kimi character by ZipZipPipe (asymmetric outfit per the original post).
  • MiniMax conch reporter girl — MiniMax character by ZipZipPipe, with auxiliary structure sheets from ai-chan-sheets.
  • MiMo bunny-hood girl — MiMo character by 甶丶 (submission marked CC BY-NC; mirrored in ai-girls).

Where a source does not state a license, we record the reference without claiming any rights beyond it.

License

  • Code (lib/, scripts/, test/): MIT.
  • Art (everything under assets/): CC BY-NC-SA 4.0 — the pets are adaptations of community designs released under NonCommercial (and partly ShareAlike) terms, so the images are not MIT and may not be used commercially. Credits are in assets/LICENSE.

Related plugins