How cirno-mira/deepseek-peak-clock works
DeepSeekPeakClock is a PyQt5 desktop clock and alert tool for DeepSeek peak/off-peak pricing. The user launches the app; it loads rules from network, cache, or defaults, computes Beijing-time status and upcoming transitions, and presents clocks, timeline, prices, and reminders. The graph includes the documented holiday/pricing refresh and fallback capabilities. Source excerpts show core rule, feed, and UI behavior; some window wiring is documented in the README rather than shown in full source excerpts.
Main entry points: rules.py Active rules · window.py Main window · feed.py Fetch and parse · widgets.py Tray and timeline
Components 14
Desktop experience
- App entry
main.py - Main window
ui/window.py - Refresh thread
ui/fetch.py - Tray and timeline
ui/widgets.py - Visual theme
theme.py
Pricing and schedule
- Schedule engine
core/engine.py - Active rules
core/rules.py - Defaults and config
core/config.py - Rules cache
core/rules.py - Runtime paths
core/paths.py
Data sources
- Fetch and parse
core/feed.py - Official pricing page
- Holiday services
Other components
- Desktop user
Connections 17
- Desktop user → App entry: launches
README.md - App entry → Main window: opens
main.py - Main window → Refresh thread: starts refresh
README.md - Refresh thread → Fetch and parse: calls fetch
ui/fetch.py - Fetch and parse → Official pricing page: fetches pricing
README.md - Fetch and parse → Holiday services: fetches holidays
README.md - Fetch and parse → Active rules: returns payload
- Main window → Active rules: applies updates
ui/window.py - Active rules → Rules cache: reads and writes
core/rules.py - Active rules → Defaults and config: loads defaults
core/rules.py - Active rules → Runtime paths: resolves cache path
core/rules.py - Schedule engine → Active rules: reads active rules
core/engine.py - Tray and timeline → Schedule engine: checks schedule
ui/widgets.py - Tray and timeline → Active rules: reads peak windows
ui/widgets.py - Main window → Schedule engine: computes display state
README.md - Main window → Tray and timeline: uses UI components
README.md - Main window → Visual theme: applies styling
README.md