dsh-pomodoro:在 DSH Web 界面里常驻的番茄钟

前言

在 DeepSeek Harness(DSH)里写提示、跑会话时,时间往往被拆成一段段对话,很难在界面里固定放一个倒计时。系统时钟或独立番茄钟 App 可以计时,但要么要切窗口,要么和当前 Web 工作台脱节。dsh-pomodoro 是维护者 atticuswx 发布的客户端类插件:把番茄工作法倒计时嵌进 DSH Web GUI,用可拖动的悬浮窗(以及可选的输入框下方胶囊)在设置页、空会话或任意面板上保持可见,不依赖是否打开会话。计时与偏好全部在浏览器本地(localStorage),无服务端、无网络请求;许可证为 MIT。

这是什么

插件包名 dsh-pomodoro,在 profile 里显示为 pomodoro 一行。它面向已启用 Web 客户端 bundle 的 DSH 构建:安装后 Client 半会注册到 shell.overlay(常驻悬浮窗)和 conversation.composer.dock(可选计时条)。Host 半的 index.js 仅 apply() {},计时逻辑全在 client.js。

核心功能

界面形态

收起时右下角是一颗小胶囊,显示剩余时间与进度符号;单击展开、双击开始/暂停、可拖动。展开后为可拖动悬浮卡片:标题栏拖动、⌄ 收回胶囊;中间是进度环(专注为番茄红、休息为绿)与时间;下方显示当前阶段(专注 / 短休息 / 长休息)及本轮专注轮次的圆点(默认 4 轮专注后进入长休息)。

操作包括:开始/暂停、跳过(进入下一阶段;若正在跑则继续跑,若暂停则停在新阶段起点)、重置(当前阶段回到起点)、设置(⚙)。

设置项

在 ⚙ 面板可改:专注 / 短休息 / 长休息分钟数、长休息前的专注轮数、「自动开始下一阶段」「阶段结束时提示音」「结束提醒动效」「同时显示文字提示卡」「显示悬浮窗」「输入框下方也显示一条」,以及「试播动效」「重置本阶段」「恢复默认」。两个显示开关至少保留一个,避免把计时器完全关掉。输入框下方计时条默认关闭;需要两处或只留一条时可在设置里切换。

窗口位置、展开/收起状态写入 localStorage 键 dsh:pomodoro:window:v1;尺寸变化时会夹回视口,拖出屏幕也不会丢。靠近视口边缘 40px 内松手会贴边吸附(留 12px 边距);中间区域则停在原地。

阶段结束:提示音、通知与动效

阶段自然结束时播放两声轻提示音(升调进入休息、降调回到专注);首次点击开始后会申请浏览器通知权限,之后阶段切换会发通知。跳过、重置不触发结束动效。

默认还有一套适合静音环境的画面动效(可在 ⚙ 选关 / 涟漪 / 边缘光 / 组合,默认组合):边缘光、胶囊或卡片内涟漪、可选文字提示卡(约 4 秒淡出)。动效约 1.6–2.2 秒;系统开启「减少动态效果」时退化为静态提示卡;标签页在后台时,切回前台会补播。设置里「试播动效」可立即预览。

状态持久化

倒计时以单个 endsAt 时间戳驱动:刷新或关闭标签再打开会继续同一阶段;后台标签被节流也不会算错,回到前台立即校准。若离开期间刚好结束一阶段,回来时只结算该阶段并停在新阶段起点,不会连环跳阶段。设置与计时状态在 localStorage 的 dsh:pomodoro:v1;不同标签页各自独立计时。

实现上只从 loader 模块表取 react,颜色走 --dsw-alias-* 主题令牌;文案走 Client locale 的 pomodoro 命名空间(中/英)。

安装与启用

从 GitHub 安装(推荐):

dsh plugin --profile web add github:atticuswx/dsh-pomodoro

装完后刷新页面,右下角会出现胶囊。需要锁定版本时可在地址后加 tag,例如:

dsh plugin --profile web add github:atticuswx/dsh-pomodoro#v0.3.1

包内无构建步骤,client.js 由浏览器直接加载;bundle 会写入 profile 的 package.json 与 cordis.patch.yml,重启后仍在。若改本地代码后界面未更新,刷新页面即可。

也可从本地目录安装(适合自行改代码),或在 DSH 里用 Plugin Manager 指定目录绝对路径安装;具体命令见仓库 README「安装」一节。

典型用法

  1. 执行上述 dsh plugin --profile web add ... 命令并刷新 Web 界面。
  2. 在右下角胶囊上双击开始第一轮专注;需要暂停再双击进度区或主按钮。
  3. 单击胶囊展开卡片,用 ⏭ 跳过、↺ 重置当前阶段;在 ⚙ 里按习惯改时长与是否显示 dock 条、结束动效等。
  4. 拖动标题栏或胶囊到合适位置;贴边松手可吸附。收起后仍可通过胶囊看剩余时间并双击控制。

适用场景与注意

适合长期在 DSH Web GUI 里工作、希望番茄钟与界面同屏、且不把计时数据发到服务器的开发者。插件以当前 DSH 进程及浏览器上下文运行;安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。

需要带 Web client bundle 支持的 DSH 构建;社区目录页 skillhub.cn/plugins/atticuswx/dsh-pomodoro 与 GitHub 为独立信息来源,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-pomodoro 把共享的专注/休息倒计时、周期圆点、跳过与重置、提示音与可选动效收进一个可拖动的常驻悬浮窗,让 DSH Web 工作台自带番茄工作法节奏。目录页:https://www.skillhub.cn/plugins/atticuswx/dsh-pomodoro;源码与完整说明:https://github.com/atticuswx/dsh-pomodoro。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜