dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
A floating peak/off-peak tide gauge for the DeepSeek Harness web UI. It docks beside the composer and answers three questions at a glance: which pricing phase is active right now, how long is left in it, and how much this session has cost.
The card follows the DeepSeek Harness interface language (English, Chinese, Russian), renders the official peak/off-peak windows in your own time zone, and formats money, tokens and clock times with Intl for the active locale.
This is a fork of dsh-tidewatch by KhalilYamber (MIT), reworked for
international use: a real i18n layer instead of hard-coded Chinese copy, a redesigned card, and a local-time window
table. The billing math and the session-projection structure come from the original project.
countdown to the next switch.
marked; the tier itself is always decided in UTC (the official definition).
collapses into a single all-day row and the countdown jumps to the next working peak.
in.
parts.
is remembered.
offers Russian as a selectable language.
--dsw-* theme tokens (light and dark) and prefers the official StateDot, Tag,Tooltip and useDismissOnOutsidePointer primitives, falling back to built-in implementations when a shell does not expose them.
aria-expanded /aria-pressed states and a progressbar role on the tide line.
dsh plugin command (a web profile).The badge appears in the web UI, so install it into the web profile.# Option 1: the latest main (recommended; follows the repository)
dsh plugin --profile web add github:proDreams/dsh-tidewatch
# Option 2: a pinned release tag (reproducible installs)
dsh plugin --profile web add github:proDreams/dsh-tidewatch#v2.1.1
# Option 3: the tarball attached to a GitHub Release (pinned and offline-friendly)
dsh plugin --profile web add https://github.com/proDreams/dsh-tidewatch/releases/download/v2.1.1/dsh-tidewatch-2.1.1.tgz
# Local directory (development)
dsh plugin --profile web add link:/path/to/dsh-tidewatchRestart dsh web after installing; the tide badge appears to the right of the composer.
The npm package `dsh-tidewatch` is not ours. npm hosts only an old copy published by the original author (1.0.6,
2026-08-22) whose prices and rules are outdated, and this fork deliberately stays off npm. Do not install it or judge
current billing from it — use one of the options above.
dsh plugin --profile web update dsh-tidewatch # or re-run the add above
dsh plugin --profile web list dsh-tidewatch # installed version
dsh plugin --profile web remove dsh-tidewatch # uninstallSee CHANGELOG.md for the release history.
2.0.0 adds the i18n layer, the local-time window table and the redesigned card. Billing itself is unchanged.
Two earlier fixes are worth knowing about if you used the original plugin before 1.1.2:
service continues after 2026-09-14 with its billing method unchanged (further notice to follow if that changes). The earlier build had followed a news-page reading that routed deepseek-v4-pro to the Flash price from 2026-09-14 04:00 UTC, which understated pro calls by roughly 4.4× (cache miss), 7.3× (cache hit) and 3.3× (output). The repricing boundary V4_PRO_RETIRE_BOUNDARY is a sentinel again, so pro always bills on its own rates; the routing branch is kept and only needs the date filled in when an official one appears.
costUsage projectionmoved to stateVersion 4. Persisted sessions replay once after the upgrade, so calls made between 2026-08-16 and 2026-09-10 are restored to the first peak schedule (they had been billed at the newer, lower rates). Live billing was never affected.
above the composer instead, and it never covers the input area or the built-in stats bar.
switch.
so it does not cover the composer on a small screen.
The card reports the model calls written into the session event stream, and it also rolls up the session's descendant (subagent) sessions, so a team run shows the cost of the whole task. The token totals and the per-model breakdown include them too; the subagent share is shown under the total as incl. subagents N · $X.
It does not include calls that never enter a session's event stream: experimental Auto review (the Auto permission preset reviews every supported tool call with the same model), session title generation, context compaction, web-search wrappers, and other chats. Those are billed to the account — see Platform → Usage (or a usage-tracking plugin) for the account-level figure.
DeepSeek introduced peak/off-peak time-of-day pricing on 2026-08-17:
Window (UTC) · Beijing time · Tier 01:00 – 04:00 · 09:00 – 12:00 · peak 04:00 – 06:00 · 12:00 – 14:00 · off-peak 06:00 – 10:00 · 14:00 – 18:00 · peak 10:00 – next 01:00 · 18:00 – next 09:00 · off-peak
Off-peak prices are half of the peak prices. The card decides the tier from the UTC windows (the official definition) and renders the table in the viewer's own time zone.
Weekends and Chinese holidays: Saturday and Sunday (UTC calendar days) and Chinese statutory public holidays (a built-in table of Beijing calendar dates, 2026) bill at off-peak prices all day with no peak/off-peak switch; the next switch lands at the first peak window of the next working day. Peak windows start at 01:00 and 06:00 UTC, so the UTC and Beijing dates agree inside a window, and the countdown spans long breaks (Spring Festival, National Day).
(cache-read + cache-write) × cacheHit; "output" already includes reasoning tokens.
cache-miss / output):
Era · Range (UTC) · deepseek-flash tiers Base price · before 2026-08-16 16:00 · 0.0028 / 0.14 / 0.28 First peak schedule · 2026-08-16 16:00 – 2026-09-10 04:00 · peak 0.014 / 0.44 / 1.32, off-peak is half V4.1 Flash repricing · from 2026-09-10 04:00 · peak 0.006 / 0.3 / 1.2, off-peak is half
repricing.
USD directly.
The card is a normal DeepSeek Harness citizen: it registers the tidewatch locale namespace and reads its copy through the framework translator, so switching the interface language in Settings → Language switches the card immediately.
Language · Status English · shipped (en) — the fallback language of the lookup chain Chinese (Simplified) · shipped (zh) Russian · shipped (ru) and offered to the language catalog by the plugin
zh and en, so the plugin adds Russian to the language list itself. Other plugins fallback to English for that language.
hard-coded language.
{placeholder} template owned by each language, and the