dsh-pomodoro-timer:在 Harness 输入框下方常驻番茄钟

前言

在 DeepSeek Harness 里长时间写提示、跑代理时,计时往往靠系统时钟或单独开一个小工具,和当前会话不在同一界面。DeepSeek Harness 支持通过客户端插件在 Web 界面里挂组件;下面介绍 Kseleven 维护的 dsh-pomodoro-timer(包名 dsh-pomodoro-card),它把番茄钟放在会话输入框下方的环境栏(conversation.composer.dock),专注、短休息、长休息三段循环与倒计时同屏可见,刷新页面后仍可继续。

这是什么

dsh-pomodoro-timer 是 DeepSeek Harness 的客户端插件:在输入框下方环境栏常驻一个番茄钟,用圆环显示剩余时间与当前阶段,并提供专注 / 短休息 / 长休息循环。维护者为 Kseleven,在插件社区目录中归类为「客户端」;仓库简介为 a pomodoro timer plugin in deepseek-harness。Host 侧 index.js 为空实现,计时与 UI 完全在 Client 模块 client.js 中完成。

  • 目录页:https://www.skillhub.cn/plugins/Kseleven/dsh-pomodoro-timer
  • 源码:https://github.com/Kseleven/dsh-pomodoro-timer
  • 许可证:MIT(资料中 package.json 与 README 一致)

核心功能

以下能力均来自仓库 README 与 package.json 声明,未在资料中出现的数字或行为不写。

三段循环与界面

  • 专注 → 短休息 → 专注 …,每完成可调次数的专注后进入长休息(默认每 4 个专注一次长休息,间隔 1–8 个可调)。
  • 圆环倒计时:点击开始 / 暂停 / 继续;圆环随剩余时间收缩,阶段颜色分别为专注番茄红、短休息绿、长休息蓝。
  • 阶段名与循环内圆点进度(例如 ● ● ○ ○);重置本阶段、跳过本阶段(跳过不计入完成数)、设置面板(⚙,可用 Esc 收起)。

统计与持久化

  • 按本地日期统计当日完成的专注数,跨天自动归零。
  • 状态写入 localStorage,键名为 dsh:pomodoro:timer:v1;用绝对结束时间记录,刷新或重开页面后继续倒计时;同一 Harness 窗口内多个会话共享同一计时器。

提醒与设置

  • 阶段结束:输入框下方计时卡弹出提醒(说明下一阶段、时长及自动开始或待手动开始),约 10 秒后自动收起,可点 × 关闭;完成提醒不写入 localStorage,刷新后不会重复弹出。
  • 完成提示音:Web Audio 三音提示;浏览器需先有页面点击 / 按键才能出声,插件在开始计时后会保持音频解锁。
  • 可选系统通知(默认关);设置面板显示授权状态,可「发一条测试通知」验证;桌面通知约 12 秒后自动关闭,声音由提示音负责。
  • 可调:专注 / 短休息 / 长休息时长(分钟范围见 README)、长休息间隔、自动开始下一阶段、完成提示音、系统通知;支持一键恢复默认(仅重置设置项,不清除运行状态键需自行删 localStorage 键)。
  • 文案跟随 Harness 语言设置,内置中 / 英文,默认回退英文。

技术侧

  • 纯 Client 模块,无需构建;注册在 conversation.composer.dock 槽位。
  • 计时逻辑以 250ms ticker 驱动,仅在显示秒数变化或阶段切换时通知订阅者,动作与阶段切换时落盘,不会每秒写 localStorage。
  • 主题使用 Harness 的 --dsw-alias-* 设计令牌。

安装与启用

插件通过 Harness 插件管理器以本地 bundle 安装(在 profile 的 node_modules 中以 symlink 指向插件目录)。资料未提供 dsh plugin add github:... 一类命令,请勿凭插件名拼接。

在本会话中,可让代理执行(将路径换成本地克隆或下载后的插件目录绝对路径):

plugin_manager(action: "install_bundle", target: "<本目录的绝对路径>")

或在 Harness 插件管理界面选择「从本地目录安装」,指向包含 package.json 与 cordis.patch.yml 的目录。

安装完成后输入框下方应出现番茄钟;若未出现,刷新一次 Web 界面。若修改了 package.json 里的 name 或 dsh 清单,需重新安装一次;仅改 client.js 等代码时,刷新即可(profile 内为 symlink)。上架到插件市场供 Discover 搜索的步骤见仓库内 MARKETPLACE.md。

典型用法

操作 行为
点击圆环 开始倒计时 / 暂停 / 继续
↺ 重置当前阶段到完整时长(不改变已完成数)
⏭ 跳过当前阶段,不计入完成数
⚙ 展开 / 收起设置

设置项要点(细节以 README 为准):

  • 专注时长 1–120 分钟,短休息 1–60 分钟,长休息 1–120 分钟。
  • 关闭「自动开始下一阶段」时,每段结束停在待开始状态,需再点圆环;提醒中会提示「已暂停,点开始继续」。
  • 专注完成时「今日完成」与循环圆点 +1;跳过专注不增加统计。
  • macOS 上使用系统通知时,需在系统设置中为 DeepSeek Harness 允许通知并将提醒样式设为「横幅」或「提醒」,否则可能只进通知中心。

清除 localStorage 键 dsh:pomodoro:timer:v1 可恢复默认运行状态;设置面板「恢复默认」只重置设置项。

开发自测(在插件目录内):

npm test

等价于 node test/run-tests.mjs,无需浏览器或 React 运行时。

适用场景与注意

适合谁

  • 在 Harness Web 界面里长时间对话、写提示或盯代理执行,希望计时器与输入区同屏、不另开应用的用户。
  • 需要番茄工作法三段循环、今日专注计数,且希望刷新页面后倒计时仍能接续的场景。

注意

  • 插件在 DeepSeek Harness 客户端(Web)进程中运行,读写本机 localStorage;安装前请自行查看源码与 MIT 许可证,确认符合你的环境与合规要求。
  • 社区目录(skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系;星标与 discover 数据以各站点展示为准(资料中 GitHub 星标为 0)。
  • 提示音与系统通知受浏览器与操作系统策略限制;首次使用提示音需在页面上有一次交互。

结尾

dsh-pomodoro-timer 把番茄钟嵌进 Harness 输入框下方的 dock,用圆环、阶段进度和本地持久化解决「计时与对话分离、刷新丢状态」两类常见不便。若要查看条目说明或跟进 issue,可访问 插件目录页 与 GitHub 仓库。

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

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

小夜