@skillre/dsh-plugin-pomodoro:DSH Web UI 输入框旁的番茄专注计时

前言

在 DeepSeek Harness(DSH)里长时间写提示、跑 Session,很容易一屏到底却缺少节奏感。系统级番茄钟或浏览器扩展可以计时,但和对话界面分离,当日统计也要自己记。社区插件 @skillre/dsh-plugin-pomodoro 把经典番茄工作法嵌进 DSH Web UI:在输入框(composer)下方常驻一枚胶囊,带倒计时、阶段切换和当天专注轮数,偏好存在浏览器本地,不碰 Session 日志,也不向模型暴露状态。

这是什么

@skillre/dsh-plugin-pomodoro 由 skillre 维护,分类为客户端插件,当前包版本 0.1.0,README 标注状态为 experimental。它面向已在 DSH 里使用 Web 界面的开发者:在对话输入区域下方提供专注 / 短休息 / 长休息循环,并记录当天完成的专注轮数与专注时长。

插件行在 cordis.patch.yml 里没有 config 字段;可调项全部是用户偏好,通过设置页修改并写入浏览器 localStorage,而不是改宿主配置文件。

核心功能

输入框下方的常驻胶囊

插件注册 conversation.composer.dock(session scope),在有活动 Session 的对话页,输入框下方显示胶囊 UI,包含:

  • 当前阶段与倒计时
  • 本轮进度
  • 三个操作:开始/暂停、重来、跳到下一阶段

阶段按番茄工作法循环:专注 → 短休息 → … → 完成 N 轮专注后进入长休息 → 再回到专注。

每日统计

记录当天完成的专注轮数与专注时长;按浏览器本地时区划分「今天」,跨过本地零点自动归零。跨零点时正在进行的阶段不中断,完成时才计入新的一天。

设置页偏好

在 设置 里注册独立一节(settings.section,root scope),可调整下表项。越界输入会被收敛到范围内,损坏或旧版本数据会退化为可用配置。

偏好 默认值 范围 含义
专注时长 25 分钟 1–180 一轮专注的长度
短休息 5 分钟 1–180 普通专注轮次之后的休息
长休息 15 分钟 1–180 完成一个循环后的休息
长休息前的专注轮数 4 1–12 一个循环包含几轮专注
自动开始休息 开 开/关 专注结束后直接进入休息
自动开始专注 关 开/关 休息结束后直接进入下一轮专注

非目标(首版刻意不做)

  • 系统通知、声音或浏览器 Notification(不申请额外权限)
  • 写入 Session 日志、注册模型可见的 Tool(纯 UI 状态,模型看不到番茄钟)
  • 跨设备云同步
  • DSH 页面关闭后继续走时(见下文限制)

安装与启用

发布后,在指定 profile 下安装:

dsh plugin --profile <profile> add @skillre/dsh-plugin-pomodoro

package.json 要求 Node ^22.19.0 || >=24.0.0,DSH peer 范围为 >=0.2.0-rc.2 <0.3.0。README 记载在 DSH 0.2.0-rc.2 上完成过打包 tarball 装入 desktop profile 等验证(2026-09-30);dump-config、bounded-startup 与真实浏览器视觉验证尚未完成,安装前宜自行核对源码与 MIT 许可证。

本地开发需走打包 tarball,不要用 dsh plugin ... add . 指向源码目录(会导致依赖解析到插件自身 node_modules,打包安装时易在启动阶段失败):

npm install
npm run check
npm pack
dsh plugin --profile <dev-profile> add ./skillre-dsh-plugin-pomodoro-<version>.tgz
dsh --profile <dev-profile> --dump-config
dsh --profile <dev-profile>

更新与回滚见仓库内 UNINSTALL.md。

典型用法

  1. 安装并启动对应 profile 的 DSH Web UI,进入有活动 Session 的对话页(空白首页无 Session 时不显示 composer 旁胶囊;设置页不受影响)。
  2. 在输入框下方胶囊上点击开始,按默认 25 分钟专注;需要时在设置里改时长、循环轮数或「自动开始休息 / 专注」。
  3. 用暂停、重来或「下一阶段」手动控制节奏;当天完成的专注轮数与时长在胶囊侧展示,本地零点后会归零计数。

偏好与计时状态保存在 localStorage 键 skillre-pomodoro/state(payload 版本当前为 2),仅含插件自身 JSON,不含 Session 内容。存储不可用或写满时静默降级为内存运行,计时仍可操作。

适用场景与注意

适合谁: 已在 DSH Web UI 里写 Session、希望计时与输入区同屏、且接受数据只留在本机浏览器的用户。

权限与副作用(README 摘要): 无网络、无凭据、Host 半边不做文件 I/O;UI 使用 skp-pomodoro- 类名前缀与 --dsw-alias-* 主题变量,不替换宿主 DOM。运行中每秒刷新一次;空闲时睡到下一个本地零点。插件随 DSH 客户端加载,安装前请阅读仓库源码与许可证,确认符合你的环境策略。

已知限制:

  • 关闭整个浏览器页面期间计时不在前台推进;重开时按绝对时间戳结算到期阶段,不会补记休眠期间的多轮番茄。
  • 每个标签页各自持有一份状态,经 localStorage 收敛,无跨标签实时广播;A 标签开始,B 标签需等刷新才同步。
  • 一次结算只处理一个到期阶段;长时间休眠后不会一次性补记多轮。
  • 无通知与声音。

DSH 生态强调「一切皆插件」;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

链接

  • 目录页:https://www.skillhub.cn/plugins/skillre/dsh-plugin-pomodoro
  • 源码与说明:https://github.com/skillre/dsh-plugin-pomodoro

若你需要的正是「对话界面内、本地偏好、不干扰模型上下文」的番茄钟,可按上述命令装入 profile,在 Session 对话里直接使用设置页与 composer 胶囊即可。

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

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

小夜