dsh-peak-avoidance
Auto-switch to an alternate model before DeepSeek peak hours and back to the official model afterwards — avoiding official peak-hour pricing.
   
Maintainer: 柚木夏实 · Code written by AI (DeepSeek Harness)
Disclaimer
> This plugin was developed entirely by DSH (AI). The author has no programming experience, and the code has not been professionally reviewed. > Users must test it themselves and judge its safety, stability, and correctness before use. > The installation instructions in this repository may contain AI hallucinations (inaccurate or nonexistent steps, package names, or paths) — verify everything before executing. > The author accepts no liability for any consequences of using this plugin.
Features
- Scheduled switching: enter avoidance at
window start − leadMinutes(default 30), restore atwindow end. - Both routes:
agentDefaultModel(default route) +apiProxy.sessions.selectModel(live sessions, takes effect next turn). - Multiple windows, cross-midnight supported (e.g.
22:00-02:00). - Reasoning effort per model (
high, …), dropdown populated from the live model catalog. - Provider/model dropdowns fetched live from the
llmservice. - Switch toast: frame-wide banner on enter/exit (toggleable; polling stops when off).
- Manual control: card buttons plus model tools
peak_avoidance_status/peak_avoidance_control. - Safe: sessions manually reverted during peak are never forced back; originals are restored on stop (
restoreOnStop).
Install
Option 1 — npm (recommended for DSH users):
npm install dsh-peak-avoidance> The @deepseek-ai runtime deps are peerDependencies, provided by DSH itself — nothing extra to install. Installing outside DSH requires providing the peers (@deepseek-ai/dsh-settings, @deepseek-ai/dsh-tools, @deepseek-ai/cordis) yourself.
Option 2 — from source: clone this repo and place lib/ + package.json into a DSH-resolvable directory (e.g. $DSH_HOME/profiles/node_modules/dsh-peak-avoidance/).
Both options then require appending to $DSH_HOME/cordis.patch.yml:
- insert:
- id: peak-avoidance
name: 'dsh-peak-avoidance'and restarting DSH.
Usage
- Settings → Plugins → Configurable → Peak Avoidance card: status, config, manual enter/restore.
- Config lives in DSH settings (
peak-avoidancesection ofsettings.yaml); changes apply immediately. - Required:
peakModel(avoidance target) andnormalModel(official model; copy the current default on first run).
Privacy & security
- No API keys are read, stored, or emitted; only model selections and its own config.
- The client bridge accepts loopback requests only.
- All catalog/model/effort data comes live from the DSH
llmservice — no deployment-specific hardcoding.
Development
- No build step:
lib/index.js(host, Cordis plugin module) +lib/client.js(browser, module-loader format). - Deps:
@deepseek-ai/dsh-settings,@deepseek-ai/dsh-tools,@deepseek-ai/schemastery.
License
MIT