dsh-time-timer:Harness Web 界面里的同步时钟与 15 分钟计时器

前言

在 DeepSeek Harness(DSH)里长时间对话或等待 Agent 执行时,开发者往往要切到系统托盘、手机或浏览器其他标签看时间;若需要短倒计时(例如提醒休息、限时会话),又要再开一个独立计时工具。DSH 生态强调「一切皆插件」:界面能力可以通过 bundle 扩展,而不必改宿主核心。下面介绍社区插件 Time & Timer / 时间与计时器(仓库 Depar7ure/dsh-time-timer),由维护者 Depar7ure 发布,在 Harness Web 客户端内嵌可视化时钟,并附带农历、中国法定节假日与最多 15 分钟的计时器;SkillHub 目录将其归类为「联网工具」(可选 NTP 同步)。目录页与 GitHub 为独立信息来源,与 DeepSeek / 幻方无官方从属关系。

这是什么

dsh-time-timer(npm 包名 dsh-time-timer,当前版本 0.0.1,许可证 MIT)是面向 DeepSeek Harness Web GUI 的 Client + Host bundle:默认用浏览器系统时间,每秒刷新 24 小时制 HH:MM:SS;可选通过 Host 向 ntp.aliyun.com 校时。首页空白会话显示大号数字时钟卡片,对话进行中在标题栏显示紧凑时间条;两种形态均提供计时器入口。插件显示名:Time & Timer / 时间与计时器。

两种时钟形态

模式 出现时机 位置与尺寸
StartMode 首页 / 空白会话(Hero 页) 对话区域左上角,256 × 64 px 横向数字时钟卡片
DefaultMode 任意对话进行时 标题栏左侧工具区(标题旁 actions 组)最右端,JetBrains Mono 14px

StartMode 顶部为公历年 YY/MM/DD(如 26/10/18)及节假日 / 休息日徽标(如 国庆节·休、春节·班);中部以 HH:MM:SS 为视觉焦点(HH:MM 30px、秒 18px);底部可显示农历(如 丙午年.九月初九),默认关闭。DefaultMode 时间条带加深底色与 1px 内描边,时间与蓝色计时按钮集中在标题栏。计时按钮在 StartMode 为 64 × 24 矩形,在 DefaultMode 为 24 × 24 正方形,图标强调色 #27F5F5。

空白会话时 DefaultMode 槽位不会出现;StartMode 通过 conversation.header.leading 渲染,DefaultMode 通过 conversation.session.header.actions 渲染。

时间来源与 Host 路由

  1. 默认:采信浏览器 Date(系统时间)。
  2. 可选:在设置中开启「第三方时间服务器」后,Host 通过 UDP 查询 ntp.aliyun.com,Client 按偏移量校正;每 5 分钟重新同步,失败回退系统时间并在设置页显示错误。

浏览器无法直接发 NTP(UDP/123),因此 Host 注册了固定用途的路由:

GET /api/time-n-timer/ntp

该路由只查询 ntp.aliyun.com,不是通用 NTP 代理。NTP 依赖 Host 与网络可达;离线环境自动回退系统时间。

计时器

  • 倒计时上限 15 分钟,预设:15s / 30s / 1min / 3min / 5min / 10min / 15min;另有正向计时(最多 15:00)。
  • 点击计时按钮打开对话框,可选模式与时长,支持开始 / 暂停 / 继续 / 重置。
  • 到点自动弹出「时间到」并播放三声提示音;进行中按钮带状态点,StartMode 顶部徽标在计时中显示剩余时间。
  • 状态保存在当前页面内存,刷新页面后重置。

农历与节假日数据

  • 农历:内置 1900–2100 标准农历表(含闰月)。
  • 节假日:内置 2025、2026 年国务院办公厅放假安排(含调休上班日);无数据年份按周末规则回退(普通周六日显示「周末·休」,调休上班日显示「班」)。2026 年数据依据国办发明电〔2025〕7 号。

插件设置

在 Harness 设置 → 通用 中新增「时间与计时器」相关项:

  1. 显示农历日期(默认关闭)
  2. 第三方时间服务器(默认关闭;开启后显示同步状态、偏移量与错误)

持久化键名:dsh.time-n-timer.settings.v1(浏览器 localStorage)。

安装与启用

官方 README 提供两种方式;没有 dsh plugin add github:... 一类的一行远程安装命令,需本地 bundle 或 Agent 安装。

方式一:克隆后本地安装

git clone https://github.com/Depar7ure/dsh-time-timer.git

在 Harness Plugin Manager → 安装本地插件(Install bundle) 中选择克隆目录,安装后刷新页面。

方式二:Harness Agent

将上述目录的绝对路径交给 Agent,说明「安装这个 bundle」;Harness 通过 install_bundle 完成安装,之后刷新页面。

要求:Web 客户端(dsh.client.platform: web);Host 使用 node:dgram,需 Node.js ≥ 18。插件以当前 DSH 进程权限运行,安装前请自行查看源码与 MIT 许可证。

典型用法

  1. 安装并刷新后,打开空白会话,在左上角查看 StartMode 时钟与节假日徽标。
  2. 需要农历时:设置 → 通用 开启「显示农历日期」。
  3. 需要与阿里云 NTP 对齐时:开启「第三方时间服务器」,在设置中查看同步状态与偏移量。
  4. 进入任意对话后,在标题栏右侧使用紧凑时钟与计时按钮;点击按钮选择倒计时或正向计时并开始。

本地开发自检(维护者脚本):

node scripts/check.mjs
node --check index.js

适用场景与注意

适合在 Harness Web 里常驻看时间、对照国内调休安排,或做 15 分钟以内的短计时,而无需离开对话界面。样式使用 Harness 主题 token(--dsw-alias-*),浅色 / 深色主题可用;宿主大版本升级后槽位尺寸可能需要重新核对。节假日目前明确覆盖 2025–2026,其他年份仅周末判定。社区目录:SkillHub - dsh-time-timer;源码与变更记录见 GitHub 仓库。

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

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

Xiaoye