How witherwithwinter/deepseek-balance-whale-widget-bowl works
DSH Whale Widget is a DSH Web plugin that displays account balance and usage in a persistent, customizable whale widget. Users interact with the widget and its menus; the browser requests data and settings from the host-side plugin, which combines balance APIs and session usage into displays, records, alerts, and per-turn notices. The README documents substantial bubble, resource, pricing, and Codex capabilities. The sampled source is partial, so links between those subsystems are shown only where documented or evidenced; implementation details of unsampled features are not inferred.
Main entry points: index.js Plugin routes · whale-widget.js Whale widget · assets Bundled media
Components 20
Widget interface
- Whale widget
assets/whale-widget.js - Menus and editors
assets/whale-widget.js - Bubble renderer
assets/whale-widget.js
Usage accounting
- Turn aggregation
lib/index.js - Usage ledger
lib/index.js - Usage archive
lib/index.js - Usage alerts and quota
lib/index.js - Usage pricing
lib/index.js
API and session data
- Provider models
lib/index.js - Balance providers
- Codex session logs
Customization and media
- Bubble configuration
lib/index.js - Widget settings
lib/index.js - Roles and audio
lib/index.js - Bundled media
assets
DSH runtime
- DSH Web UI
- Plugin routes
lib/index.js - DSH credentials
- DSH session events
Other components
- User
Connections 21
- User → Whale widget: interacts
- Whale widget → Plugin routes: requests data
- Menus and editors → Plugin routes: saves settings
- Whale widget → Bubble renderer: renders bubbles
- Plugin routes → Turn aggregation: handles events
- DSH session events → Turn aggregation: dispatches events
- Turn aggregation → Usage pricing: prices usage
- Turn aggregation → Usage ledger: records turns
- Plugin routes → Usage ledger: reads and writes
- Plugin routes → Usage archive: archives history
- Plugin routes → Provider models: manages models
- Provider models → DSH credentials: resolves keys
- Provider models → Balance providers: queries providers
- Plugin routes → Codex session logs: reads local usage
- Plugin routes → Usage alerts and quota: evaluates thresholds
- Usage alerts and quota → Whale widget: supplies notices
- Plugin routes → Bubble configuration: reads and writes
- Plugin routes → Widget settings: reads and writes
- Plugin routes → Roles and audio: serves resources
- Roles and audio → Bundled media: loads presets
- DSH Web UI → Whale widget: hosts