DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

dsh-pomodoro-timer

d

dsh-pomodoro-timer

Identified

A pomodoro timer docked below the composer in DeepSeek Harness, with focus/short/long cycles, a resumable countdown, chime, optional system notifications and bilingual settings.

番茄时钟 dsh-pomodoro-card

DeepSeek Harness 插件:在会话输入框下方的环境栏(conversation.composer.dock)里常驻一个番茄钟, 用圆环倒计时显示当前阶段,提供专注 / 短休息 / 长休息三段循环。

预览

番茄时钟:输入框下方环境栏中的倒计时圆环、阶段与循环进度

截图里输入框下方那一条就是计时卡:左侧圆环显示剩余时间与开始/暂停状态,中间是阶段名和 本轮循环进度,右侧是重置、跳过、设置三个按钮。

点击右侧的 ⚙ 会打开设置面板,面板浮在计时卡上方,不占用对话区域:

设置面板:专注 / 休息时长、长休息间隔、自动开始、提示音、系统通知状态与测试按钮

功能

  • 三段循环:专注 → 短休息 → 专注 …,每完成 4 个专注进入一次长休息(次数可调)。
  • 倒计时圆环:点击圆环开始 / 暂停 / 继续;圆环随剩余时间收缩,颜色随阶段变化 (专注番茄红、短休息绿、长休息蓝)。
  • 阶段操作:重置本阶段(回到完整时长)、跳过本阶段(不计入完成数)、打开设置。
  • 进度提示:阶段名 + 当前循环内的圆点进度(● ● ○ ○)。
  • 今日统计:按本地日期统计当日完成的专注数,跨天自动归零。
  • 可调设置:专注 / 短休息 / 长休息时长(分钟)、长休息间隔(个番茄)、 自动开始下一阶段、完成提示音、系统通知;支持一键恢复默认。
  • 刷新不丢:用绝对结束时间写入 localStorage,刷新或重开页面后继续倒计时; 同一 Harness 窗口内的多个会话共享同一个计时器。
  • 完成提醒:阶段结束时,输入框下方的计时卡会弹出一条提醒(说明下一阶段、时长, 以及是自动开始还是等待手动开始),10 秒后自动收起,也可以点 × 立即关闭。
  • 提示音:阶段完成时用 Web Audio 播放三音提示;浏览器要求先在页面上有一次点击 / 按键 才能出声,插件会在开始计时后持续保持音频解锁,刷新后第一次点击页面也会自动恢复。 开启系统通知后(设置面板会显示授权状态,可点「发一条测试通知」立即验证),阶段完成还会发一条桌面通知。桌面通知本身不响铃(声音由提示音负责),12 秒后自动关闭。 测试通知发送成功后面板里会出现绿色提示;如果通知只出现在通知中心而没有横幅, 通常是 macOS 把该应用的提醒样式设成了「无」(见下方设置项说明)。
  • 跟随语言:内置中 / 英文案,跟随 Harness 的语言设置即时切换(默认回退英文)。

目录结构

pomodoro-timer/
├── package.json        # bundle 清单:dsh.bundle / dsh.client 声明
├── cordis.patch.yml    # 把插件挂进 profile 的插入补丁
├── index.js            # Host 半边(空实现,计时器完全在 Client 侧)
├── client.js           # Client 模块:计时状态机 + 输入框下方 dock 组件
├── locale/
│   ├── en.json         # 插件市场上的英文标题 / 描述
│   └── zh.json         # 插件市场上的中文标题 / 描述
├── icon.svg            # 插件图标(插件包)
├── icon.png            # 市场条目图标(GitHub 托管的 PNG)
├── preview.png         # README 里的主截图
├── setting.png         # README 里的设置面板截图
├── test/
│   └── run-tests.mjs   # 无浏览器 / 无 React 依赖的行为测试
├── LICENSE             # MIT
├── MARKETPLACE.md      # 上架到 DSH 插件市场的步骤
└── README.md

安装

插件通过 Harness 的插件管理器以本地 bundle 安装(在 profile 的 node_modules 中以 symlink 链接本目录):

  • 在本会话中,让代理执行: plugin_manager(action: "install_bundle", target: "<本目录的绝对路径>")
  • 或在 Harness 的插件管理界面里选择「从本地目录安装」,指向本目录。

安装完成后输入框下方会出现番茄钟;如果没出现,刷新一次 Web 界面。

上架到插件市场(让其他人也能在 Discover 里搜到)的步骤见 MARKETPLACE.md。

使用

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

设置项:

  • 专注时长 / 短休息 / 长休息:1–120 / 1–60 / 1–120 分钟。
  • 长休息间隔:每完成几个专注进入长休息,1–8 个。
  • 自动开始下一阶段:关闭后,每个阶段结束会停在待开始状态,需手动点圆环。
  • 完成提示音:用 Web Audio 合成三音提示,不依赖音频文件。
  • 系统通知:先在 macOS「系统设置 → 通知 → DeepSeek Harness」允许并把提醒样式设为「横幅」或「提醒」(若选「无」,通知只会静默进入通知中心),再打开本开关(默认关,首次开启会申请授权)。设置面板会显示「系统通知已就绪 / 尚未授权 / 已被拒绝」,点「发一条测试通知」可立刻验证,发送成功后会出现绿色确认。专注模式 / 勿扰也会压掉横幅;应用内提醒条不受影响。

其他行为:

  • 跳过专注不会增加「今日完成」和循环圆点。
  • 专注完成时计数 +1,并按长休息间隔决定下一阶段;休息结束回到专注。
  • 默认「自动开始下一阶段」是开着的:专注结束会立刻切到休息并开始倒计时,休息结束再切回专注。 想每段结束都停下来,关掉该开关即可,提醒里会显示「已暂停,点开始继续」。
  • 完成提醒不会写入 localStorage,刷新页面后不会重复弹出。

数据

  • 存储键:dsh:pomodoro:timer:v1(localStorage)。
  • 内容:当前阶段、运行状态、绝对结束时间、暂停剩余时长、已完成专注数、今日统计、设置。
  • 清除该键即可恢复默认状态;设置面板中的「恢复默认」只重置设置项。

开发

  • 纯 Client 模块,无需构建:client.js 里嵌入 React(require('react'))、字典和样式, 以 window.__ModuleLoader__.load({ id, factory }) 注册,然后在 conversation.composer.dock 槽位注册组件。
  • 修改后无需重装(profile 里是指向本目录的 symlink),刷新 Web 界面即可; 若改了 package.json 里的 name / dsh 清单,需要重新安装一次。
  • 计时器逻辑在 store 中以 250ms 的 ticker 驱动,只在显示秒数变化 / 阶段切换时通知订阅者, 每次动作和阶段切换时落盘,不会每秒写 localStorage。
  • 主题使用 Harness 的 --dsw-alias-* 设计令牌;番茄红 / 绿 / 蓝只作为计时器本身的识别色。

测试

npm test        # 等价于 node test/run-tests.mjs

测试不需要浏览器或 React:test/run-tests.mjs 用 node:vm 伪造 window(内存 localStorage、可手动推进的假时钟、捕获的定时器、假的 document)加载真实 client.js,注入一个极小的 React hook 垫片,覆盖开始/暂停/重置/跳过、阶段切换、 长休息轮转、跨天统计、刷新恢复、设置夹取与落盘、以及组件的渲染与交互。

Comments

Loading…

Similar plugins

dsh-pomodoro-timer

by cuznmop

Pomodoro timer for the DeepSeek Harness Web UI: a sidebar page with focus/short-break/long-break cycles plus a countdown pill beside the composer. · DSH Web 番茄钟:侧栏整页(专注/短休息/长休息)+ 输入框旁倒计时胶囊。

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 16, 2026

dsh plugin --profile web add dsh-pomodoro-timer

by atzx

Pomodoro focus timer plugin for DeepSeek Harness (DSH): a floating overlay timer with a Plugins-page configuration page, break cycles and desktop notifications. Browser-only DSH client plugin.

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Oct 19, 2026

dsh plugin --profile web add dsh-plugin-pomodoro

by causebefore

DeepSeek Harness Web 番茄钟插件:可配置专注与休息时长,提供侧栏入口和可拖动浮动面板

UI & ExperienceTerminal & ClientsManifest valid

★ 4

↓ 481/wk

MIT

JavaScript

Oct 1, 2026

dsh plugin --profile web add dsh-pomodoro

by lemonhall

DSH 右侧栏番茄闹钟:专注/休息循环,计时只存 endsAt、切 tab 不中断(pomodoro_panel)。

Manifest valid

★ 0

JavaScript

Oct 3, 2026

dsh plugin --profile web add dsh-pomodoro-dock

by Ruiming-cn

DSH (DeepSeek Harness) plugin — Windows toast + chime the moment the agent needs you: turn done, blocked, error, approval, question, plan review.

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Aug 25, 2026

dsh plugin --profile web add dsh-turn-notify

by yanliao66

Cross-session memory pins for DeepSeek Harness (DSH): pin a note once and every later session carries it — composer chip, board panel, memory_pins agent tool, system-prompt injection.

Manifest valid

★ 0

MIT

JavaScript

Oct 31, 2026

dsh plugin --profile web add dsh-pins