A small tray / menu bar app that tells you when the DeepSeek API is on peak pricing (2x) and when it is off-peak (1x), so you don't accidentally run expensive inference during peak hours.
The whale icon in the tray is tinted by the current state: red-orange while peak, green while off-peak. Left-click it for a timeline of today's peak/off-peak hours, right-click for the menu. A notification fires whenever the tariff switches.
Peak hours: 09:00–12:00 and 14:00–18:00 Beijing time (UTC+8), i.e. 01:00–04:00 and 06:00–10:00 UTC, Monday to Friday only. Weekends (Saturday/Sunday, Beijing time) have no peak hours — the whole day is billed at the off-peak rate. Off-peak rates are 50% lower than peak rates (peak ≈ 2x off-peak).
Pricing: on Aug 16, 2026 DeepSeek updated API pricing and introduced peak / off-peak rates — see the announcement. Since Aug 23, 2026 (00:00 Beijing time) the peak/off-peak split applies only on weekdays; weekends are billed entirely at the off-peak rate. On Aug 21, 2026 the multimodal
deepseek-v4-flash-vision-exp(text + images) was released at V4-Flash pricing — see the release. Always check the official pricing page before making cost decisions.
| Tray popup (24-hour clock) | Tray popup (12-hour clock) |
|---|---|
![]() |
![]() |
| Tray popup (24-hour clock) | Tray popup (12-hour clock) |
|---|---|
![]() |
![]() |
- Whale tray/menu-bar icon tinted by state (peak red-orange / off-peak green)
- Timeline popup with today's peak/off-peak hours (click the tray icon) — Windows only, not yet on macOS
- Tooltip with current status, Beijing & local time, next switch countdown, rates
- Details dialog with the full schedule in local time
- Editable prices (flash / pro / vision, off-peak and peak) via Edit prices..., persisted per user, resettable to defaults
- 12/24-hour clock option in the menu (24-hour by default)
- Notifications on tariff switch (+ manual "Show notification")
- Autostart option, single instance
- Windows 10/11 and macOS support
Download from Releases:
- Windows:
deepseek-peak-tray-indicator.exe— single file, just run it. - macOS:
DeepSeekPeakTrayIndicator-macos.dmg(or the.zip/.app).
By default the app writes nothing outside itself: no logs, no temp files. If you change the prices or the view toggles (12-hour clock / local time), your choices are stored in the Windows registry (HKCU\Software\DeepSeekPeakTrayIndicator) or, on macOS, in the app's preferences (defaults domain com.deepseek.peaktrayindicator) — no config files to edit.
Requires Python 3.10+. macOS does not ship a python command — use python3.
Install Python on macOS (safely):
# Recommended: Homebrew (installs to /opt/homebrew, never touches the system Python)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install pythonor download the installer from python.org. Either way you get python3/pip3; nothing else on the system is modified.
Set up the project in a virtual environment (so no pip install ever touches your global Python):
cd deepseek-peak-tray-indicator
python3 -m venv .venv
source .venv/bin/activate
# macOS
pip install -e ".[macos]"
# Windows
pip install -e ".[windows]"Now run the app with deepseek-peak-tray-indicator, or without installing: python3 src/app.py. To undo everything, just delete the .venv folder. Never use sudo pip install.
| Action | Windows | macOS |
|---|---|---|
| Run | double-click the exe | open the .app |
| Timeline | left-click the tray icon (Windows only) | menu → Peak Schedule (text summary) |
| Menu | right-click the tray icon | click the whale |
| Status in terminal | deepseek-peak-tray-indicator --status |
same |
Menu items: Show Details, Show notification, Edit prices..., Run at startup, 12-hour clock, Local time, About (opens the repository), Exit. Local time (checked by default) switches all displayed times between your local timezone and Beijing time. Edit prices... opens a dialog where you can change the per-model rates (off-peak / peak); the changes persist between runs and a Reset button in the dialog restores the defaults.
build_windows.bator directly:
pyinstaller --noconfirm --clean deepseek-peak-tray-indicator_windows.specOutput: dist/deepseek-peak-tray-indicator.exe — a single self-contained file.
Extracted the project from an archive and get "Permission denied" when running the scripts? Zip files strip the execute bit — run once:
chmod +x build_macos.sh setup_macos.shEasiest — isolated environment (recommended):
./setup_macos.shThis installs Python 3.10+ via Homebrew (if needed), creates a project .venv,
installs the dependencies and then runs the build. Everything lives inside
.venv — your system Python is never touched. To reset the environment,
delete the .venv folder and run the script again.
Plain build (deps already available, e.g. venv activated):
source .venv/bin/activate
./build_macos.shOutputs (in dist/):
DeepSeekPeakTrayIndicator.appDeepSeekPeakTrayIndicator-macos.zip— viaditto, no.DS_Store/__MACOSX/ absolute pathsDeepSeekPeakTrayIndicator-macos.dmg— viahdiutil
The .app icon is generated automatically when iconutil is available.
Icons are generated from deepseek-customized.svg by tools/generate_icons.py
(requires pip install svg.path pillow). The results are committed, so this
step is optional.
This project is an independent utility and is not affiliated with, endorsed by, or sponsored by DeepSeek. "DeepSeek" and the whale logo are trademarks of their respective owners, used here only to identify the service this app monitors. The whale artwork (deepseek-customized.svg) is a customized derivative kept in the repository as the source for the generated icons.




