前言¶
用 DSH 跑 Agent 时,一个长任务经常跑几十分钟,中间既没有休息节奏,也没有“今天到底专注了多久”的记录。把计时器放在浏览器的另一个标签里,和 Agent 的工作区是割裂的;想看历史专注分布,还得自己存表做图。
下面介绍 DSH Pomodoro,一个把计时工作台放进 DSH 侧栏、并可选配桌面悬浮窗的插件,由 EchoTint 维护,分类属于客户端。它不替代日历或任务管理工具,只是把番茄钟和专注统计收窄到 Agent 操作界面旁边。
这是什么¶
一句话定位:在 DSH 左侧栏提供一个番茄钟工作台,并可选启动 Electron 桌面悬浮窗,用于番茄倒计时、正计时、心流计时、任务管理、专注统计与备份。
解决的是三个具体问题:计时和 Agent 窗口都在一个界面里,不用切窗口;专注时长自动累计成时间线、小时分布和热力图,不需要手工记录;任务、复盘与林地奖励有地方存,且支持 WebDAV / S3 备份。
资料未给出任何用户规模或性能数据,本插件在社区目录中的星标为 0,属于早期版本。当前发布版本是 v0.1.0,兼容 DSH 0.2.2-rc.1。
核心功能¶
以下能力均来自插件 README。
1、计时模式。倒计时包含专注、短休息和长休息三种阶段;正计时与心流模式可以随时结束并记录。倒计时提前结束时,记录的是实际专注时长,而不是原本设定的时长。
2、任务管理。任务支持优先级、预估番茄数和子步骤;每次专注记录可以补写能量等级与复盘笔记。
3、专注统计。包含时间线、小时分布、近 7 日趋势、年度热力图与每日目标。
4、环境音。由 Web Audio 合成,提供雨声、篝火、海浪和双耳节拍,不需要额外音频文件。
5、种树奖励。专注达标后可在林地种树,林地共 8 种植物,按进度逐步解锁。
6、桌面悬浮窗。有三种形态:小卡 220×84、圆环 108×108、纯时间 128×56;支持拖动、置顶、不透明度调节和日夜主题。悬停显示操作,右键切换阶段与计时方向。
7、备份。WebDAV 和 S3 兼容存储用于手动或自动备份,同时支持 JSON 导出与导入。需要注意:备份不会自动做多端合并,多台机器之间的数据需要自行协调。
安装与启用¶
插件没有发布到 npm,包名是 @echotint/dsh-pomodoro。在 DSH 插件管理中安装下面的 GitHub Release 包并启用:
https://github.com/EchoTint/dsh-pomodoro/releases/download/v0.1.0/dsh-pomodoro.tgz
另一种方式是把 https://github.com/EchoTint/dsh-pomodoro 作为 GitHub 仓库安装源。仓库内已经包含可直接加载的 JavaScript、dsh.bundle 清单和 Cordis patch,不需要构建步骤。
启用后,左侧栏出现「番茄钟」入口,计时、统计、任务和设置都在这个入口里管理。桌面悬浮窗需要额外准备 Electron,见下一节。
如果之前在用本地开发版 @local/pomodoro,切换时先停用旧版再启用本包,避免两个实例同时写入同一份数据。业务数据沿用 $DSH_HOME/pomodoro;自定义设置可以在旧版导出或记录下来,再在新版核对。两个包的标准 Config 条目不同,profile 中显式设置不会自动复制过去。
Electron 桌面悬浮窗¶
插件不捆绑也不自动下载 Electron。需要先从 Electron 官方发布页获取适合当前系统和架构的完整发行目录,解压后保留配套资源。Windows 上已验证的版本是 Electron 43.3.0;其他版本以及 macOS / Linux 的桌面行为尚未实测。
在启动 DSH 之前设置可执行文件路径,例如 PowerShell:
$env:DSH_POMODORO_ELECTRON = 'C:\Tools\Electron\electron.exe'
# 从继承该环境变量的进程启动 DSH。
没有设置该环境变量时,插件按下面的默认位置查找。$DSH_HOME 默认是用户目录下的 .dsh。
| 系统 | 默认路径 |
|---|---|
| Windows | $DSH_HOME/electron/electron.exe |
| macOS | $DSH_HOME/electron/Electron.app/Contents/MacOS/Electron |
| Linux | $DSH_HOME/electron/electron |
没有 Electron 时仍然可以用侧栏计时;悬浮窗启动失败时,设置页会显示错误。Linux 还需要可用的图形会话以及 Electron 的系统依赖,插件文档没有列出具体包名,需要按 Electron 官方文档自行确认。
设置、凭据与数据存放¶
计时参数、音效、悬浮窗外观以及非敏感的备份目标,都通过 DSH 标准 Config 和 ctx.configEditor.edit() 保存。普通配置提交会由 Loader 重启插件,插件在提交前先保存运行状态。旧版文件中的设置可以迁移到当前条目,显式 profile 值优先。
数据落盘位置如下:
- 任务、专注记录、复盘与林地:
$DSH_HOME/pomodoro/data.json - 计时与窗口运行状态:
$DSH_HOME/pomodoro/state.json
旧数据的格式版本与软件版本是独立的,发布 v0.1.0 不会降低数据格式版本。
WebDAV 密码和 S3 secretKey 通过 ctx.credentials 存入 pomodoro/webdav、pomodoro/s3。写入流程是先写旧明文再读回验证,全部成功后才清除旧明文,失败可以重试。空密码输入会保留已有凭据;每次上传重新读取凭据,导出文件不包含密码。实际落盘保护取决于宿主的凭据 provider,插件自身不做额外的加密保证。
界面上,普通控件使用 DSH 主题 token,界面与桌面文案跟随 DSH 语言;森林插画与阶段强调色保留艺术配色。本机 HTTP 接口验证 loopback、Host 和浏览器 Origin,明确不供公网使用。
插件声明的必需宿主 peer 是 @deepseek-ai/schemastery@3.19.0 和 @deepseek-ai/dsh-credentials@0.2.2-rc.1。React 由 DSH Client 提供,Electron helper 是独立的 CommonJS 应用。不要把宿主包复制进插件目录。许可证是 MIT。
典型用法¶
装好之后,日常使用不需要命令行,直接在侧栏操作。
1、开始一个专注番茄。打开侧栏「番茄钟」,选择专注阶段开始倒计时;需要时用任务面板记下优先级和预估番茄数。
2、查看与补写记录。番茄提前结束会按实际时长记录。结束后补写能量等级和复盘笔记,比事后凭记忆补更可靠。
3、定期看统计趋势。近 7 日趋势用来判断节奏是否稳定,年度热力图用来判断长期投入,二者都不需要额外配置。
4、设置桌面悬浮窗。按前面的方式设置 Electron 路径,把悬浮窗形态调成圆环或纯时间,放在屏幕边缘。悬停看操作,右键切换阶段或计时方向。
5、备份。在设置里添加 WebDAV 或 S3 目标,选择手动或自动备份;迁移机器时用 JSON 导出与导入。因为备份不做多端合并,多端场景建议让一端为主。
开发与验证¶
仓库自带测试与打包检查。Node.js 24 上可以直接跑纯逻辑和打包检查,不需要安装依赖:
node --test core.test.mjs packaging.test.mjs
node scripts/runtime-check.mjs
node scripts/runtime-check.mjs --pack --pnpm /absolute/path/to/pnpm.mjs
打包检查会禁用生命周期脚本,在临时目录生成并解包 .tgz,验证资源、导入和源码一致性,随后在没有 node_modules 的目录运行测试。产物不包含个人数据或凭据。
想在已安装的 Windows DSH Desktop 里用真实宿主 peer 跑完整测试,把路径替换为本机实际安装位置:
$env:ELECTRON_RUN_AS_NODE = '1'
$env:DSH_TEST_RUNTIME_ROOT = 'C:\path\to\resources\app.asar\dsh'
$test = Start-Process 'C:\path\to\electron.exe' -ArgumentList '--import','./scripts/host-imports.mjs','--test','core.test.mjs','compliance.test.mjs','packaging.test.mjs' -Wait -NoNewWindow -PassThru
exit $test.ExitCode
完整测试覆盖计时、统计、凭据迁移与失败重试、配置编辑、deadline 保留以及 HTTP 边界。凭据服务用 mock 注入,不操作个人凭据。当前已验证的环境是 Windows 上的 Electron 43.3.0 / Node 24.18.1;真实远端 WebDAV / S3 账户尚未实测。GitHub CI 只跑无宿主的测试与打包检查,不代表跨平台桌面验证结论。
适用场景与注意¶
适合这几类用法:长时间跑 Agent 任务、需要固定休息节奏的人;希望专注时长自动变成统计图表的人;想把计时控件放到桌面边缘、而不是浏览器标签里的人;需要把专注数据备份到自建 WebDAV 或 S3 的人。
需要留意几点:
- 插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。许可证是 MIT,仓库地址为
https://github.com/EchoTint/dsh-pomodoro。 - 桌面悬浮窗依赖本机自行准备的完整 Electron 发行目录,插件不下载、不捆绑,Windows 之外的行为尚未实测。
- 备份不做多端合并,多台机器共用同一份数据时需要自己约定主端。
- 凭据写入依赖宿主凭据 provider 的落盘保护,README 没有声明额外加密。
- 社区插件目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,本插件也不是官方应用商店上架的组件。
结尾¶
DSH Pomodoro 的价值在于范围收窄:不做通用日程工具,只把番茄钟、专注统计、任务子步骤、林地反馈和 WebDAV / S3 备份放进一个侧栏工作台,需要时再挂上一个桌面悬浮窗。当前是 v0.1.0 的早期版本,Windows 桌面路径和远端备份的验证已经给出了明确边界,macOS / Linux 用户可以对照默认路径自行试装。
目录页:https://www.skillhub.cn/plugins/EchoTint/dsh-pomodoro
GitHub:https://github.com/EchoTint/dsh-pomodoro