dsh-pomodoro-clock
IdentifiedPomodoro timer for the right sidebar: a draggable edge handle whose floating card follows it, one-shot or full cycle counting, and four synthesized alerts including a spoken airport-style announcement
dsh-pomodoro-clock
A Pomodoro timer that lives in the DeepSeek Harness right sidebar — a handle on the right edge you can park anywhere, a floating card that follows it, one-shot or cycle counting, and five synthesized chimes (including an airport-style cue that reads its announcement out loud).
- No build step, no runtime dependencies, no audio files: every sound is synthesized in the browser.
- Chinese and English UI, following the Harness language setting.
- Runs entirely client-side; nothing leaves your machine.
Install
From the plugin market (Plugins → Market → dsh-pomodoro-clock → Install), or by hand:
dsh plugin add dsh-pomodoro-clock
Or install the published release tarball directly:
dsh plugin --profile web add "https://github.com/new2023start/dsh-pomodoro-clock/releases/download/v1.0.0/dsh-pomodoro-clock-1.0.0.tgz"
Installing adds seats to your profile; nothing shipped is replaced.
What it adds
| Surface | Seat | What you get |
|---|---|---|
| Right-edge handle + popover | shell.overlay (id dsh-pomodoro) | Collapsed handle hugging the right edge (mm:ss + running dot) that opens a floating timer card; ⌄ collapses it |
| Right sidebar page tab | sidebar.right.pane.tab (key dsh-pomodoro-clock) | The same timer as a docked page tab |
| Tab chip title | sidebar.right.pane.tab.title | A live mm:ss countdown on the tab |
| Right sidebar guide | guide entry pomodoro | A "Pomodoro timer" card in the right-sidebar guide page |
How to open it
- Fastest — the right-edge handle: click it and the card opens in place, above the conversation,
without touching the layout. Drag the handle up or down to park it wherever it suits you: the
position is stored in
localStorage(dsh.pomodoro.anchor) and clamped to the viewport, so it survives a reload and never leaves the screen. The card opens from the handle's own height — below it in the upper half of the window, above it in the lower half — so moving the handle moves the card. - Prefer a docked pane? The Pomodoro timer card in the right-sidebar guide opens the tab.
Both surfaces read the same store, so the countdown keeps running while collapsed, while the popover is closed, and in the tab chip. Opening one never resets the other.
Behaviour
Two modes, both ending in a selectable cue:
- One-shot (default) — a single countdown: set the minutes, start, and when it reaches zero it rings once, stops, and re-arms the same countdown. No break, no next phase, no loop.
- Pomodoro cycle — focus (25 min) / short break (5 min) / long break (15 min) with a configurable number of rounds; Auto-start carries you into the next phase.
Switching modes re-arms the timer and clears the running phase. Progress is stored in localStorage
under dsh.pomodoro.v1; the daily counter resets when the calendar day changes.
Settings
One-shot: the countdown length (1–120 min).
Cycle: focus / short break / long break length, rounds per cycle (1–12), auto-start.
Both: sound (清脆三声 chime · 机场播报 airport · 钟声 bell · 木鱼 woodblock · 静音 silent, with a
▶ preview next to the dropdown) and desktop notification.
Every cue is synthesized with WebAudio: each note is a fundamental plus a quiet overtone, and every
motif repeats so it rings for 3–8 s instead of a single beep. 机场播报 adds a spoken line through
speechSynthesis ("本次专注时间已结束,请稍作休息。" / English, following the UI language) after its
five-note descending cue. No audio files ship with the bundle; on a platform with no voice installed
the cue still plays, just without the announcement.
Development
node test/smoke.cjs
test/smoke.cjs loads the real client.js in a vm sandbox with a stubbed window, fake WebAudio and
speechSynthesis, and a harness-owned clock. It asserts that the bundle registers its seats, renders
every surface, drives the timer to zero, schedules the alarm cue and speaks the announcement, and that
the handle can be dragged and remembers where it was put. No browser, no network.
Notes
- The client side uses only the
--dsw-alias-*theme tokens, so it follows the active theme. - Visible strings are registered in the
dshPomodorolocale namespace (zh+en; the locale fallback chain ends aten, so every other language falls back to English).
License
MIT — see LICENSE.
Versions
| Latest version | Published | Size |
|---|---|---|
| 1.0.0 | — | — |
Comments
Loading…
Similar plugins
by EchoTint
Pomodoro timer for DSH with sidebar configuration, desktop widgets, focus statistics, and WebDAV/S3 backups.
★ 0
MIT
JavaScript
Nov 5, 2026
dsh plugin --profile web add @echotint/dsh-pomodoroby cuznmop
Pomodoro timer for the DeepSeek Harness Web UI: a sidebar page with focus/short-break/long-break cycles plus a countdown pill beside the composer. · DSH Web 番茄钟:侧栏整页(专注/短休息/长休息)+ 输入框旁倒计时胶囊。
★ 0
MIT
JavaScript
Oct 16, 2026
dsh plugin --profile web add dsh-pomodoro-timerby atzx
Pomodoro focus timer plugin for DeepSeek Harness (DSH): a floating overlay timer with a Plugins-page configuration page, break cycles and desktop notifications. Browser-only DSH client plugin.
★ 0
MIT
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-plugin-pomodoroby yongfanbeta
Classic 25/5/15 pomodoro timer for DSH that ties each run to the current session task or a manual project name, with a stats panel, a 365-day heatmap, a draggable floating timer and a corner pill, loc
★ 0
MIT
JavaScript
Oct 20, 2026
dsh plugin --profile web add @yongfanbeta/dsh-pomodoroby lemonhall
DSH 右侧栏番茄闹钟:专注/休息循环,计时只存 endsAt、切 tab 不中断(pomodoro_panel)。
★ 0
JavaScript
Oct 3, 2026
dsh plugin --profile web add dsh-pomodoro-dockby LazyMau
A draggable, resizable floating cheat sheet that collects your typing speed and stalls, heats the key map, reveals keys when you stall, and drills the characters you struggled with. Ships with several
★ 0
JavaScript
Nov 6, 2026
dsh plugin --profile web add @local/shuangpin-reminder