How pc2005-cloud/dsh-pet works
dsh-pet is a DeepSeek Harness desktop-pet plugin with browser overlay and optional Electron windows. The user configures pet instances, then the client renders animations and interactions; host services provide configuration, balance, chat, whisper, work-status, and notification data. The README documents major capabilities beyond the sampled excerpts, including animation packs, multi-display movement, and session-linked states. Dashed edges mark desktop renderer wiring not directly shown in the excerpts; other links cite source or README evidence.
Main entry points: index.ts Host routes · pet.ts Pet overlay · app.ts Plugin assembly · chat.ts Chat service
Components 28
Client experience
- Plugin assembly
dsh-pet/src/client/app.ts - Pet overlay
dsh-pet/src/client/pet.ts - Pet settings
dsh-pet/src/client/settings.ts - Bubble display
dsh-pet/src/client/bubble.ts - System notifications
dsh-pet/src/client/notify.ts
Shared behavior
- Config model
dsh-pet/src/shared/config.ts - Pet physics
dsh-pet/src/shared/physics.ts - Action menu
dsh-pet/src/shared/menu.ts - Balance logic
dsh-pet/src/shared/balance.ts - Chat logic
dsh-pet/src/shared/chat.ts - Whisper logic
dsh-pet/src/shared/whisper.ts - Score effects
dsh-pet/src/shared/score-popup.ts
Host services
- Host routes
dsh-pet/src/host/index.ts - Config merge
dsh-pet/src/host/config.ts - Balance providers
dsh-pet/src/host/balance.ts - Chat service
dsh-pet/src/host/chat.ts - Model reasoning
dsh-pet/src/host/llm-reasoning.ts - Meme assets
dsh-pet/src/host/memes.ts - Whisper service
dsh-pet/src/host/whisper.ts - Work status
dsh-pet/src/host/work-status.ts - Event notifications
dsh-pet/src/host/notify-events.ts - Electron manager
dsh-pet/src/host/helper-process.ts
Desktop runtime
- Electron main
dsh-pet/runtime/electron-helper/main.js - Pet renderer
dsh-pet/runtime/electron-helper/renderer.js - Sprite runtime
dsh-pet/runtime/electron-helper/sprite.js - Window events
dsh-pet/runtime/electron-helper/events.js
Other components
- User
- DSH host
Connections 32
- User → Plugin assembly: uses plugin
- DSH host → Plugin assembly: loads plugin
dsh-pet/src/client/app.ts - Plugin assembly → Pet overlay: assembles
dsh-pet/src/client/app.ts - Plugin assembly → Pet settings: registers
dsh-pet/src/client/app.ts - Plugin assembly → System notifications: starts
dsh-pet/src/client/app.ts - User → Pet settings: configures pets
- Pet settings → Host routes: saves config
dsh-pet/src/client/settings.ts - Pet overlay → Host routes: fetches pet data
dsh-pet/src/client/pet.ts - Pet overlay → Bubble display: shows bubbles
dsh-pet/src/client/pet.ts - Pet overlay → Config model: reads config
dsh-pet/src/client/pet.ts - Pet overlay → Pet physics: uses physics
dsh-pet/src/client/pet.ts - Pet overlay → Action menu: mounts menu
dsh-pet/src/client/pet.ts - Pet overlay → Balance logic: gets balance view
dsh-pet/src/client/pet.ts - Pet overlay → Whisper logic: gets whisper state
dsh-pet/src/client/pet.ts - Pet overlay → Chat logic: supports chat
dsh-pet/src/client/pet.ts - Pet overlay → Score effects: uses effects
dsh-pet/src/client/pet.ts - System notifications → Host routes: polls notices
- Host routes → Config merge: reads config
dsh-pet/src/host/index.ts - Host routes → Balance providers: serves balance
dsh-pet/src/host/index.ts - Host routes → Chat service: serves chat
dsh-pet/src/host/index.ts - Host routes → Whisper service: serves whispers
dsh-pet/src/host/index.ts - Host routes → Work status: tracks sessions
dsh-pet/src/host/index.ts - Host routes → Event notifications: routes events
dsh-pet/src/host/index.ts - Host routes → Electron manager: manages desktop
dsh-pet/src/host/index.ts - Chat service → Model reasoning: checks model
dsh-pet/src/host/chat.ts - Chat service → Meme assets: uses images
dsh-pet/src/host/chat.ts - Whisper service → Model reasoning: checks model
dsh-pet/src/host/whisper.ts - Electron manager → Electron main: launches helper
- Electron main → Pet renderer: loads window
dsh-pet/runtime/electron-helper/main.js - Pet renderer → Sprite runtime: renders pet
- Pet renderer → Window events: handles input
- Electron main → Host routes: bridges requests
dsh-pet/runtime/electron-helper/main.js