插件目录 / Developer / dsh-peak-cost-mode
dsh-peak-cost-mode
已验证 · 实测可装 moon09300731
功能简介
DeepSeek peak-pricing cost guard for DSH: automatic caveman-style compressed output during peak hours (Beijing 09:00-12:00 / 14:00-18:00, x2) + header badge & transition toasts. DeepSeek 峰谷计价省钱插件
可用 — 实测通过,早期项目
DeepSeek peak-pricing cost guard for DSH: automatic caveman-style compressed output during peak hours (Beijing 09:00-12:00 / 14:00-18:00, x2) + header badge & transition toasts. DeepSeek 峰谷计价省钱插件 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-peak-cost-mode
DeepSeek peak-pricing cost guard for DeepSeek Harness (DSH): during DeepSeek peak-pricing hours (Mon–Fri Beijing time 09:00–12:00 and 14:00–18:00, price ×2; weekends are always valley) the agent automatically switches to ultra-compressed caveman-style output to cut output tokens, and a header badge + toast keep you posted on every peak/valley transition.
Features
- Automatic peak detection — Beijing time (UTC+8, no DST) is checked every 30 s against the DeepSeek V4 peak-pricing schedule:
Window (Beijing) Tier Price Mon–Fri 09:00–12:00 Peak ×2 Mon–Fri 12:00–14:00 Valley ×1 Mon–Fri 14:00–18:00 Peak ×2 Mon–Fri 18:00–next 09:00 Valley ×1 Sat & Sun (all day) Valley (weekend) ×1 - Peak-hour cost saving — while in a peak window, a "Peak Cost Mode" prompt section is injected, instructing the model to reply in ultra-compressed caveman style (drop filler/pleasantries/hedging, keep all technical content verbatim: code, commands, API names, file paths, exact error strings, numbers; safety warnings and irreversible-action confirmations are never compressed).
- Transition reminders — toasts on every tier switch:
- valley → peak: 「梁文锋来了,少说话多做事。」(Liang Wenfeng is here — talk less, do more.)
- peak → valley: 「梁文谷来了,一切正常。」(back to normal)
- Persistent status badge — right side of the session header (left of the session-log button): red
高峰 ×2 · 省流中during peak, green🟢 低谷 · 主动省流中while voluntary saving, green低谷 ×1otherwise, with full details (windows / multiplier / Beijing time / next switch) on hover. Clicking the badge opens the savings report. - Voluntary saving in valley hours (0.3.0) — click the green badge during a valley window to open the report, then hit 「🟢 我要省钱!」 (I want to save!) in the bottom-right corner: the same caveman prompt section is injected and metering continues, with waves tagged
source: voluntarykept separate from official-peak waves (source: peak). The badge stays green (with 🟢 to distinguish “voluntary saving”), and the report splits today/total into “peak saved / voluntary saved”. The switch is persistent across restarts and peak windows: entering a peak auto-merges into peak metering, leaving a peak auto-resumes voluntary saving, and you can stop it anytime via 「✋ 停止省流」 in the report. - Savings metering (0.3.0) — during any saving mode the plugin intercepts every streaming model call (
llm/stream) and records real token usage per model (input miss / cache hit / output, disjoint counts from the DeepSeek adapter). It then estimates how much the cave-man compression saved you and converts it to RMB at the DeepSeek peak output price:saved tokens ≈ actual output tokens × r/(1−r)where r = compression ratio, default 0.6 (conservative; configurable 0–0.9).saved RMB = saved tokens × model peak output price / 1M(peak price = valley ×2; e.g. V4-Flash output ¥9.0/M, V4-Pro output ¥27.0/M).- Output side only — the compression never changes input tokens or cache hits (the platform's prompt-reuse cache rate is independent of the plugin), so only the output side counts as money saved. The input-side
cache delta(baseline vs. actual hit rate) is exposed in/statsas reference info only, never added to the savings. - The report shows the honest counterfactual: estimated output without the plugin → actual output → tokens and RMB saved, plus a per-model breakdown. Totals are persisted per wave to
${DSH_HOME:-~/.dsh}/dsh-peak-cost-mode/stats.json(v3) and survive restarts. - Good to know: the “saved” figure is an estimate (a counterfactual — the exact uncompressed output is unknowable). It is clearly labelled as such in the UI.
- Where savings are shown — the header badge (live counter), an ambient readout above the composer (
conversation.composer.dock), toasts on peak/voluntary transitions, and a savings report panel (click the badge): current wave / today / total in tokens + RMB, per-model breakdown (counterfactual output → actual output → saved), peak-vs-voluntary split, and reset (POST /api/peak-cost/reset).
Install
dsh plugin --profile web add dsh-peak-cost-mode
# or from GitHub
dsh plugin --profile web add github:moon09300731/dsh-peak-cost-mode
Then restart dsh web and hard-refresh the browser page.
Configuration
Optional JSON file at ${DSH_HOME:-~/.dsh}/dsh-peak-cost-mode/config.json:
{
"saveRatio": 0.6,
"baseCacheHitRate": 0.5,
"multiplier": 2,
"peakWindows": [
{ "start": 9, "end": 12 },
{ "start": 14, "end": 18 }
],
"weekendValley": true,
"prices": {
"deepseek-v4-flash": { "hit": 0.05, "miss": 1.5, "output": 4.5 },
"deepseek-v4-pro": { "hit": 0.15, "miss": 4.5, "output": 13.5 }
}
}
saveRatio— assumed output-compression ratio of the cave-man mode (default 0.6; bounds 0–0.9).baseCacheHitRate— assumed input cache-hit rate for the “without plugin” counterfactual input invoice when no valley-time measurement exists (default 0.5).peakWindows— array of Beijing-hour peak windows, each{start, end}(default[{9,12},{14,18}]).weekendValley—true(default) means Sat/Sun are always valley/off-peak; setfalseto restore the old weekend-peak behavior.multiplier— peak multiplier used for the RMB conversion (default 2).prices— per-model valley prices in ¥ per million tokens; exact model keys override the built-in flash/pro defaults. Prices go stale — verify against the official DeepSeek pricing page; displayed savings are estimates, not an invoice.
How it works
- Host (
src/index.mjs): a 10 s timer computes the Beijing wall-clock time and drives a three-state machine (peak/voluntary/none). Any saving state registers asystemPromptsection (peak-cost-mode, order 60) that makes model steps reply in compressed caveman style; leaving the state disposes the section. It subscribes to thellm/streamwaterfall, wrapping each call to captureusage(input/cacheRead/output tokens) + model id on clean completion, and books it into the open saving wave (taggedsource: peakorsource: voluntary). ExposesGET /api/peak-cost/state,GET /api/peak-cost/stats,POST /api/peak-cost/voluntary?active=true|false(persistent voluntary switch) andPOST /api/peak-cost/reset. - Client (
client.js): polls/api/peak-cost/stateevery 10 s (mirroring a snapshot tolocalStoragekeydsh.peakCost.v1) and renders the badge, toasts, the composer readout and the report panel (with the「我要省钱!」/「停止省流」buttons in the bottom-right corner).
Note: the prompt section is registered in the host scope, so during any saving mode it applies to all sessions of the deployment (that is the cost-saving point). If you want per-session compression only, use the dynamic-plugin variant instead.
Development
npm test # node --check src/index.mjs && node --check client.js && unit tests
node scripts/verify.mjs # independent recompute of /api/peak-cost/stats (all-PASS = correct accounting)
License
MIT © moon09300731
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-peak-cost-mode」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:moon09300731/dsh-peak-cost-mode Headless(CLI)profile:
dsh plugin --profile headless add github:moon09300731/dsh-peak-cost-mode 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。