npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-pomodoro

v0.5.3

Published

A DeepSeek Harness Web Pomodoro plugin with configurable focus and break intervals, sidebar access, and a draggable floating panel

Readme

兼容性提示: DeepSeek Harness 目前迭代迅速,本插件仅跟进 rc 版本:开发与验证均以 rc 基线为准,不承诺支持 alpha 等中间预发布。每个发布版本适配的 DSH 版本都在 Releases 说明中注明;升级 DSH 后,请先对照 Release 说明确认插件兼容性。

界面预览

支持明暗主题、迷你模式和 DSH 插件配置。

迷你模式

设置页面

功能亮点

  • 融入 DSH: 从侧栏打开番茄钟,在插件配置页面统一管理设置。
  • 完整计时控制: 支持开始、暂停、重置、跳过、环形进度、阶段提示和已完成专注计数。
  • 跨会话恢复: 刷新页面,或关闭标签页、重启浏览器后重新打开 DSH,都会按原截止时间恢复;离开期间已到期时只结算当前阶段一次。
  • 低干扰迷你模式: 收起后只保留阶段、倒计时和开始/暂停,仍可拖动、展开或关闭。
  • 可配置循环: 专注与休息时长可调,并可分别控制是否自动开始休息或下一轮专注。
  • 阶段结束提醒: 无论面板是否打开都会显示 DSH 内提醒,还可选择提示音和后台系统通知。
  • DSH 语言支持: 跟随 DSH 全局语言提供中文和英文;切换语言会立即更新已打开的插件界面,不会重置计时或未保存的设置草稿。
  • 界面适配: 自动适配 DSH 明暗主题、键盘操作和“减少动态效果”偏好。

环境要求

| 组件 | 要求 | |---|---| | DeepSeek Harness | 已验证版本见各插件 Release 说明 | | Node.js | ^22.19.0>=24.0.0 | | DSH profile | web;headless profile 不提供界面 | | pnpm | 可从命令行使用 |

快速安装

将插件安装到 web profile:

dsh plugin --profile web add dsh-pomodoro

安装后启动或重启 DSH Web:

dsh web

侧栏底部出现 🍅 按钮即表示插件已加载。

在 DSH 界面内安装

不想离开 Web 界面?两个社区伴侣插件都可以代劳:

  • dsh-market:先执行 dsh plugin --profile web add dshmarket 并重启 dsh web,然后打开“设置 → 插件市场”,搜索 dsh-pomodoro 一键安装,刷新页面即可使用。
  • dsh-find-plugin:先执行 dsh plugin --profile web add dsh-find-plugin 并重启 dsh web,然后直接对话“帮我安装 dsh-pomodoro 插件到 dsh”,agent 会搜索并完成安装,结束后刷新浏览器即可。

基本使用

点击侧栏 🍅 按钮打开或关闭面板,拖动标题栏可以调整面板位置。标题栏中的“迷你”会收起次要信息,“展开”可恢复完整面板。

| 控件 | 行为 | |---|---| | 开始 / 暂停 | 启动或暂停当前阶段 | | 重置 | 将当前阶段恢复到完整时长并暂停 | | 跳过 | 切换到下一阶段并保持暂停 | | 迷你 / 展开 | 在低遮挡布局与完整控制之间切换 |

设置与提醒

在 DSH 的“设置 → 插件 → 插件配置 → 番茄钟”中展开卡片即可修改:

| 设置 | 默认值 | 作用 | |---|---:|---| | 专注时长 | 25 分钟 | 每轮专注阶段的完整时长,可设置为 1–240 分钟的整数 | | 休息时长 | 5 分钟 | 每轮休息阶段的完整时长,可设置为 1–240 分钟的整数 | | 自动开始休息 | 开启 | 专注自然结束后自动启动休息 | | 自动开始下一轮专注 | 关闭 | 休息自然结束后自动启动下一轮 | | 阶段结束时播放提示音 | 关闭 | 阶段自然结束时播放三次提示音,可直接试听 | | 后台时发送系统通知 | 关闭 | DSH 页面位于后台时发送浏览器通知 |

当前阶段尚未开始时,新时长会立即生效;计时已经开始后,从下一阶段生效。

完成提醒

  • DSH 内提醒: 始终开启。专注或休息自然结束时会显示,即使番茄钟面板已经关闭也能看到;若下一阶段自动开始,提醒中会一并说明。
  • 提示音: 默认关闭。开启并保存后,每次阶段自然结束会播放三次提示音;“试听”无需先保存。
  • 系统通知: 默认关闭。首次开启时请按浏览器提示允许通知,然后点击“保存”。通知只在 DSH 页面位于后台或失去焦点时发送。

所有 DSH 页面都关闭时,浏览器不会在截止时刻播放提示音或发送通知;下次打开 DSH 时会恢复状态,并对已到期的当前阶段结算和提醒一次。

系统通知需要通过 localhost127.0.0.1 或 HTTPS 访问,并保持 DSH 页面打开。提示音或系统通知不可用时,DSH 内提醒仍然有效。

更新与移除

# 更新插件
dsh plugin --profile web update dsh-pomodoro

# 移除插件
dsh plugin --profile web remove dsh-pomodoro

执行后重启 dsh web

故障排查

| 症状 | 处理 | |---|---| | 安装或更新时报 'pnpm' 不是内部或外部命令 | dsh plugin 依赖 PATH 上的 pnpm:执行 npm install -g pnpm 后重试 | | dsh web 启动失败,提示端口 3080 被占用 | 上一个实例仍在运行或已残留:用 netstat -ano \| findstr :3080 找到 PID,taskkill /PID <pid> /F 结束后重启 | | 侧栏没有 🍅 按钮 | 确认使用 web profile 且已执行 dsh plugin --profile web add dsh-pomodoro,然后重启 dsh web | | 系统通知不出现 | 检查浏览器站点通知权限并保持 DSH 页面打开,详见完成提醒 |

相关链接

License

MIT。React/ReactDOM 与 CC0 完成提示音等第三方素材的许可信息见 THIRD_PARTY_NOTICES.md

开发与维护

本地开发

git clone https://github.com/causebefore/dsh-pomodoro.git
Set-Location dsh-pomodoro
dsh plugin --profile web add .
npm run check
npm pack --dry-run

项目没有生成步骤,lib/client.js 就是直接发布的浏览器 bundle。日常开发在 dev 分支进行,main 只接收已经完成发布检查的版本。

项目结构

| 路径 | 职责 | |---|---| | lib/index.js | Node/Cordis 入口、官方设置分节与只读配置降级通道(新宿主 GET 路由 / 老宿主 loopback RPC) | | lib/client.js | 浏览器计时引擎、React UI、slot 注册、locale 文案和设置同步 | | assets/sounds/deep-ding.mp3 | CC0 低沉提示音源文件;运行时字节嵌入客户端 bundle | | docs/images/ | 中英文 README 截图与 GitHub Social Preview 图片 | | cordis.patch.yml | 向 DSH Web 组合插入插件服务 | | package.json | exports、peer 范围、bundle 声明和 npm 发布清单 | | .github/workflows/publish.yml | GitHub Release 到 npm 的可信发布流程 |

发布流程

  1. dev 完成开发和验证,并更新 package.json 版本。
  2. 通过发布 PR 将 dev 合入 main
  3. 从对应的 main 提交创建名称匹配 vX.Y.Z 的稳定 GitHub Release。
  4. 发布工作流会验证版本、tag 和 main 归属,运行语法与打包检查,再通过 npm Trusted Publishing 发布。