前言¶
在 DeepSeek Harness(DSH)里长时间写提示、跑对话时,吃饭、喝水和起身往往被界面占满注意力而推迟。系统日历或手机闹钟能到点响,但和「今天吃什么」、杯数计数、站立倒计时并不在同一块工作区里,切换成本高。下面介绍社区客户端插件 dsh-body-clock(维护者 Qing45):在 Harness Web 界面之上挂一个可拖动的悬浮窗,把随机选餐、喝水与久坐提醒收进三个 tab,到点用约 3 秒的区分音效配合晃动提示;默认以 32px 小圆球收起,尽量不挡主界面。
这是什么¶
dsh-body-clock 是 DSH 的 客户端(Web)插件:Host 侧几乎无状态,界面与逻辑在浏览器端通过 shell.overlay 槽位注册。一句话定位:可自由拖动的悬浮窗,带 吃饭 / 喝水 / 站立 三个顶层 tab——随机决定早中晚吃什么、记录今日杯数与站立次数,并在计划时间用不同 chime 提醒;收起后缩成 32px 正圆球,位置与多数设置写入 localStorage。
插件分类为 客户端;仓库 Qing45/dsh-body-clock 当前星标为 0,许可证 MIT。社区目录页:skillhub.cn/plugins/Qing45/dsh-body-clock(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
悬浮窗与交互习惯¶
- 按住标题栏拖动;位置会记住。
- 每次打开 DSH 或刷新后都以最小悬浮球出现,点一下才展开大窗口;收起状态下到点不会自动展开,而是小圆球本身晃动,并带上类型对应的光圈与图标(悬停可看说明),点开才算「已读」。
- 展开后三个 tab:吃饭、喝水、站立(饭点细分在吃饭 tab 内)。
- 收起为 32px 圆球,可拖动;Tab 聚焦后回车/空格也能展开。
吃饭:随机选餐与饭点提醒¶
- 早/中/晚三类,每类每天 3 次「帮我决定」,跨天重置;随机不重复,抽完一圈再重新开始。
- 候选食物可增删,默认带常见清单;结果以「今日饭票」样式呈现(票面、票号、撕口与印章等视觉,跟随 Harness 主题变量)。
- 标题栏 ⏰ 进入提醒设置:早/中/晚默认 07:30 / 12:00 / 18:30,24 小时制「时」「分」双输入框(0–23 / 0–59);到点约 6 秒晃动并提醒,每天每个饭点一次,另有 30 分钟宽限(例如 12:05 才打开页面仍可能收到午饭提醒)。
- 编辑设置期间暂停提醒;改时间可使该饭点当天再提醒一次;可「重置今天的提醒」或「试一下晃动」。
喝水与站立¶
喝水 tab:记录今日杯数(默认目标 8 杯、每杯 250ml),支持「喝了一杯」「撤销一杯」「稍后 30 分钟」「今天暂停」。设置里可开关、活跃时段(默认 09:00–21:00)、间隔(默认 60 分钟,1–240)、每日目标(1–24)。达标或过了结束时间当天不再提醒;收起态到点小球变 💧 与蓝色光圈。
站立 tab:记录今日次数(默认 6 次),可设活跃时段、间隔(默认 45 分钟)、单次站立时长(默认 3 分钟)。到点可「现在站一下」进入倒计时(结束自动计次),或「完成」「跳过」「稍后 10 分钟」「今天暂停」「重置今天的站立」。
提醒排队与音效¶
三种提醒按计划时间最早者优先;同一时刻顺序为 吃饭 > 喝水 > 站立;一次只晃一个,下一个至少间隔 1 分钟;未读会在对应 tab 留小圆点,小球显示最新类型(🍽️ 红圈 / 💧 蓝圈 / 🧍 绿圈)。
到点连续约 3 秒提示音(每 0.5 秒一轮、共 6 轮),吃饭 / 喝水 / 站立音色不同;默认开启,可在吃饭提醒设置里关闭,并提供「试听」。首次在 DSH 内点击或按键会解锁浏览器音频;系统静音时仅保留晃动。
数据与实现要点¶
浏览器 localStorage 键(节选):dsh-body-clock:data:v2(食物与抽取)、dsh-body-clock:ui:v1(球位置与 tab)、dsh-body-clock:reminders:v1、dsh-body-clock:water:v1、dsh-body-clock:stand:v1。
仓库结构:index.js(Host)、client.js(浏览器端)、cordis.patch.yml(Bundle patch)、locale/*.json、icon.svg。配色与排版沿用 Harness --dsw-alias-* 主题变量。
安装与启用¶
先做下面任选一种安装,再刷新 Harness Web 页面。
dsh plugin add dsh-body-clock # 来自 npm
dsh plugin add github:Qing45/dsh-body-clock # 或直接从仓库
也可在 Harness 插件管理里从社区市场一键安装。本地开发可用目录链接(路径按本机修改):
dsh plugin --profile <profile> add link:/Users/yang/Documents/DSH/吃什么插件/dsh-body-clock
典型用法¶
- 安装并刷新后,界面上出现 32px 悬浮球;拖到不挡输入的位置,点开进入三个 tab。
- 吃饭:在早饭/午饭/晚饭里维护候选列表,需要时用「帮我决定」;在 ⏰ 里核对饭点时间,必要时用「试一下晃动」确认效果。
- 喝水:每喝一轮点「喝了一杯」;间隔与活跃时段在设置里改(想快速验证可把间隔设为 1 分钟,README 中有说明)。
- 站立:到点后进入 tab,选「现在站一下」跑完倒计时,或按实际情况「跳过」「稍后」。
- 若不想被打扰声音,在提醒设置关闭「提醒音效」;小球态到点仍可通过晃动与图标区分类型。
仓库内可用 npm test(等价 node test/run-tests.mjs)跑 89 项无依赖断言,覆盖时间解析、排期、localStorage 与界面行为等(详见 README「测试」一节)。
适用场景与注意¶
适合:整天在 DSH Web 里工作、希望吃饭决策、喝水与起身提醒与主界面同屏、且能接受浏览器 localStorage 存习惯数据的开发者。
注意:
- 插件以当前 DSH 进程与浏览器上下文运行;安装前建议阅读 源码 与 MIT 许可证,确认符合你的安全与合规要求。
- 提醒依赖页面在活跃时段内运行;长时间关页不会补发全部历史提醒(喝水等逻辑在 README 中有「长时间缺席只补一次」等说明)。
- 社区目录与 npm 包名均为社区生态的一部分,安装命令以上文 README 为准,勿凭仓库名自行拼接未文档化的命令。
结尾¶
dsh-body-clock 把随机选餐、喝水计数和站立倒计时收进一个可拖动的 DSH 悬浮窗,默认小球形态、到点区分音效与晃动,并尽量跟随 Harness 主题。需要安装说明与完整行为细节时,可看社区目录页 Qing45/dsh-body-clock 与 GitHub 仓库 https://github.com/Qing45/dsh-body-clock。