Back to home

kol-mm

dsh-work-rest-timer

No description

Stars
0
Language
JavaScript
Created
Aug 16, 2026
Updated
Aug 16, 2026

Introduction

工作 / 休息计时器(Work-Rest Timer)

一个悬浮的番茄钟式提醒工具,运行在 DeepSeek Harness(DSH)的浏览器客户端里。到时间会用中文语音提醒你休息或开始工作。

License: MIT CI

语言 / Language中文 · English

截图

工作 / 休息计时器界面(工作 25:00 / 休息 05:00)

简介

长时间盯着屏幕工作,很容易忘记休息。这个插件是一个番茄钟(Pomodoro)式的「工作 / 休息」循环提醒器:

  • 专注工作 N 分钟后,语音提醒你「该休息一下啦」;
  • 休息 M 分钟后,语音提醒你「开始工作吧」;
  • 工作与休息循环交替(可关闭自动循环)。

它以一张悬浮小卡片的形式固定在页面右下角,随时显示当前阶段和剩余时间,不打断你的工作流。

功能特性

  • ⏱️ 倒计时显示:大号 MM:SS 倒计时 + 彩色进度条(工作 = 绿色,休息 = 橙色)。
  • 🔊 语音提醒:到时间自动中文播报,并伴随短促提示音。
  • ⚙️ 可配置时长:工作时长、休息时长均可自定义(1–600 分钟)。
  • 🔁 自动循环:工作 ↔ 休息自动切换(可关闭)。
  • ▶️ 控制按钮:开始 / 暂停、重置、跳过。
  • 📌 悬浮小卡片:固定在右下角,可收起成一个小圆点,不打扰使用。

界面说明

区域说明
顶部标签显示当前阶段(「工作中」绿色 /「休息中」橙色)
倒计时大号 MM:SS,每秒刷新
进度条显示当前阶段已用 / 剩余比例
控制按钮开始 / 暂停、重置、跳过
设置(⚙)工作时长、休息时长、语音提醒、自动循环
收起(–)收成右下角小圆点,点圆点重新展开

快速开始

本插件是 DSH 的动态 Cordis 插件(仅 Client 端),运行方式:

  1. 打开 DSH,进入会话;
  2. 复制 work-rest-timer.client.jsreturn { ... } 的整块代码;
  3. 将其作为 code.client 传入 cordis_define
  4. 执行 cordis_run,批准后插件即在浏览器里激活,右下角出现计时器卡片。

插件是进程内的临时扩展:停止 / 更新 / 删除插件后卡片会随之消失;代码本身已完整保存在本仓库,可随时重新运行。

配置项

配置项默认值可选范围说明
工作时长25 分钟1–600 分钟专注(工作)阶段时长
休息时长5 分钟1–600 分钟休息阶段时长
语音提醒开启开 / 关到时间是否语音播报 + 提示音
自动循环开启开 / 关阶段结束后是否自动切换到下一阶段

工作原理

  • 运行环境:DSH 浏览器客户端,插件代码通过 shell.overlay 插槽注入悬浮层,不替换任何原有界面。
  • 计时:使用 DSH 提供的 timer 服务(ctx.interval)每秒递减一次,倒计时归零时切换阶段。
  • 语音:使用浏览器原生 speechSynthesis,语言设为 zh-CN,播报中文提示语。
  • 提示音:使用 Web Audio AudioContext 播放短促提示音,增强提醒效果。
  • 生命周期:所有副作用(样式、插槽注册、计时器)都随插件 Fiber 一起清理,停止插件即完全卸载。

环境要求

  • DeepSeek Harness(DSH)浏览器客户端;
  • 浏览器需支持 speechSynthesis(语音播报)与 AudioContext(提示音,可选);
  • 中文语音包:若需中文播报,请在系统里安装中文语音(Windows:设置 → 时间和语言 → 语音 → 添加语音)。

文件结构

work-rest-timer/
├── .github/
│   └── workflows/
│       ├── ci.yml              # GitHub Actions 自动校验
│       └── release.yml         # 打 tag 自动发布 Release
├── docs/
│   └── screenshots/
│       └── screenshot.png      # 界面截图
├── scripts/
│   └── validate.js             # 插件源码语法/结构校验脚本
├── README.md                   # 中文说明
├── README.en.md                # English README
├── LICENSE                     # MIT 许可证
├── .gitignore
└── work-rest-timer.client.js   # 插件 Client 端源码

常见问题(FAQ)

Q:到时间没声音? A:先确认「设置 → 语音提醒」已开启;再检查浏览器是否允许自动播放音频。通常点过一次「开始」按钮后,浏览器会放行语音与提示音。

Q:语音不是中文 / 念得很奇怪? A:系统缺少中文语音包时会回退到默认语音。请在系统里安装中文语音(如 Microsoft Huihui / Xiaoxiao)。

Q:可以只提醒一次、不自动循环吗? A:可以,把「设置 → 自动循环」关闭即可;阶段结束后会暂停并停在该阶段。

Q:卡片挡到内容了? A:点右上角「–」可把卡片收成右下角的小圆点,随时点开。

许可证

MIT © kol-mm