Pomodoro focus-and-break timer for DSH Web with configurable cycles, a draggable mini panel, and in-app, sound, and browser notifications.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-pomodoro
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:causebefore/dsh-pomodoro
GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
兼容性提示: 当前兼容基线为 DeepSeek Harness
0.1.0-rc.6。Harness 仍处于开发者预览阶段,升级 DSH 后请重新确认插件兼容性。
界面预览
支持明暗主题、迷你模式和 DSH 插件配置。
迷你模式
设置页面
功能亮点
- 融入 DSH: 从侧栏打开番茄钟,在插件配置页面统一管理设置。
- 完整计时控制: 支持开始、暂停、重置、跳过、环形进度、阶段提示和已完成专注计数。
- 低干扰迷你模式: 收起后只保留阶段、倒计时和开始/暂停,仍可拖动、展开或关闭。
- 可配置循环: 专注与休息时长可调,并可分别控制是否自动开始休息或下一轮专注。
- 阶段结束提醒: 无论面板是否打开都会显示 DSH 内提醒,还可选择提示音和后台系统通知。
- 界面适配: 自动适配 DSH 明暗主题、键盘操作和“减少动态效果”偏好。
环境要求
| 组件 | 要求 |
|---|---|
| DeepSeek Harness | 兼容基线 0.1.0-rc.6 |
| Node.js | ^22.19.0 或 >=24.0.0 |
| DSH profile | web;headless profile 不提供界面 |
| pnpm | 可从命令行使用 |
快速安装
将插件安装到 web profile:
dsh plugin --profile web add dsh-pomodoro
安装后启动或重启 DSH Web:
dsh web
侧栏底部出现 🍅 按钮即表示插件已加载。
基本使用
点击侧栏 🍅 按钮打开或关闭面板,拖动标题栏可以调整面板位置。标题栏中的“迷你”会收起次要信息,“展开”可恢复完整面板。
| 控件 | 行为 |
|---|---|
| 开始 / 暂停 | 启动或暂停当前阶段 |
| 重置 | 将当前阶段恢复到完整时长并暂停 |
| 跳过 | 切换到下一阶段并保持暂停 |
| 迷你 / 展开 | 在低遮挡布局与完整控制之间切换 |
设置与提醒
在 DSH 的“设置 → 插件 → 插件配置 → 番茄钟”中展开卡片即可修改:
| 设置 | 默认值 | 作用 |
|---|---|---|
| 专注时长 | 25 分钟 | 每轮专注阶段的完整时长,可设置为 1–240 分钟的整数 |
| 休息时长 | 5 分钟 | 每轮休息阶段的完整时长,可设置为 1–240 分钟的整数 |
| 自动开始休息 | 开启 | 专注自然结束后自动启动休息 |
| 自动开始下一轮专注 | 关闭 | 休息自然结束后自动启动下一轮 |
| 阶段结束时播放提示音 | 关闭 | 阶段自然结束时播放三次提示音,可直接试听 |
| 后台时发送系统通知 | 关闭 | DSH 页面位于后台时发送浏览器通知 |
当前阶段尚未开始时,新时长会立即生效;计时已经开始后,从下一阶段生效。
完成提醒
- DSH 内提醒: 始终开启。专注或休息自然结束时会显示,即使番茄钟面板已经关闭也能看到;若下一阶段自动开始,提醒中会一并说明。
- 提示音: 默认关闭。开启并保存后,每次阶段自然结束会播放三次提示音;“试听”无需先保存。
- 系统通知: 默认关闭。首次开启时请按浏览器提示允许通知,然后点击“保存”。通知只在 DSH 页面位于后台或失去焦点时发送。
系统通知需要通过 localhost、127.0.0.1 或 HTTPS 访问,并保持 DSH 页面打开。提示音或系统通知不可用时,DSH 内提醒仍然有效。
更新与移除
# 更新插件
dsh plugin --profile web update dsh-pomodoro
# 移除插件
dsh plugin --profile web remove dsh-pomodoro
执行后重启 dsh web。
相关链接
License
MIT。React/ReactDOM 与 CC0 完成提示音等第三方素材的许可信息见 THIRD_PARTY_NOTICES.md。
开发与维护
本地开发
git clone https://github.com/causebefore/dsh-pomodoro.git
Set-Location dsh-pomodoro
dsh plugin --profile web add .
npm run check
npm pack --dry-run
项目没有生成步骤,lib/client.js 就是直接发布的浏览器 bundle。日常开发在 dev 分支进行,main 只接收已经完成发布检查的版本。
项目结构
| 路径 | 职责 |
|---|---|
lib/index.js |
Node/Cordis 入口、配置 schema 和 loopback RPC |
lib/client.js |
浏览器计时引擎、React UI、slot 注册和设置同步 |
assets/sounds/deep-ding.mp3 |
CC0 低沉提示音源文件;运行时字节嵌入客户端 bundle |
docs/images/social-preview.jpg |
GitHub 仓库链接的 Social Preview 图片 |
cordis.patch.yml |
向 DSH Web 组合插入插件服务 |
package.json |
exports、peer 范围、bundle 声明和 npm 发布清单 |
.github/workflows/publish.yml |
GitHub Release 到 npm 的可信发布流程 |
发布流程
- 在
dev完成开发和验证,并更新package.json版本。 - 通过发布 PR 将
dev合入main。 - 从对应的
main提交创建名称匹配vX.Y.Z的稳定 GitHub Release。 - 发布工作流会验证版本、tag 和
main归属,运行语法与打包检查,再通过 npm Trusted Publishing 发布。
Links
More in this category
zhu1090093659/dsh-web-ui★ 1766
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
ccch1mneyyy/dsh-TUI★ 829
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/DSH-better-sidebar★ 705
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
huiliyi37/dsh-tianshu-tui★ 131
A terminal UI (TUI) for DeepSeek Harness.
omdsh-dev/dsh-at-file★ 117
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
Nagi-ovo/dsh-visualize★ 79
In-conversation generative UI: the model renders interactive HTML cards into the chat stream, with streaming preview and sandboxed rendering.