🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

防猝死小卫士 Codingendless/dsh-prevent-scd

DeepSeek Harness
Codingendless79 天前有提交已提供中文文档扫描:含敏感能力

连续加班或深夜操作时,护士猫拦屏催你休息

25.1/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/15 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Codingendless/dsh-prevent-scd
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/16) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 读取本地文件
    lib/index.js:110
    if (existsSync(path)) {
  • 读取本地文件
    lib/index.js:111
    const saved = JSON.parse(readFileSync(path, "utf8"));
  • 写入本地文件
    lib/index.js:199
    mkdirSync(dirname(path), { recursive: true });
  • 写入本地文件
    lib/index.js:201
    writeFileSync(tmp, JSON.stringify(this.tracker.exportState(), void 0, 2));
  • 写入本地文件
    lib/index.js:202
    renameSync(tmp, path);
  • 发起网络请求
    lib/client.js:346
    const response = await fetch("/prevent-scd/state.json", { cache: "no-store" });
  • 发起网络请求
    lib/client.js:361
    const response = await fetch("/prevent-scd/ack", {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

一个爱管闲事的休息提醒宠物插件,专为 DeepSeek Harness(DSH)打造。检测深夜或连续数小时的人工操作,用一只可爱的护士猫挡住 Web UI,直到你答应去休息。阈值可配置,零外部资源,MIT 协议。

README

由 DeepSeek 最新模型翻译生成
dsh-prevent-scd — DSH 防猝死小卫士 🐱 English · 中文 dsh-prevent-scd 是给 DeepSeek Harness(DSH)Web UI 做的休息提醒宠物插件,风格俏皮——像 ChatGPT 的宠物一样,它会跳出来捣乱,逼你去休息。 它会盯着 DSH 会话里的人工操作痕迹,一旦出现下面两种情况就唠叨你: - 你已经连续工作了好几个小时(默认 3 小时,可配置),或者 - 已经是深夜(默认 23:00–06:00,可配置),你还在操作。 输入框那一栏住着一只可爱的手绘护士猫(内联 SVG,零外部资源)。你快到上限时它会露出担心的表情,然后用一块蹦跳的牌子挡住整个屏幕——夜里显示「⛔ 睡觉!」,白天显示「⛔ 走走!」——同时拦截回车,直到你选择对应的操作(夜里选「好,我睡」,白天选「我去走走」,安静 2 小时),或者再拖 15 分钟。 亮点 - 宿主半边(Node):监听 session/event 里真实的 user/message(插件注入 / 回放的事件不算),维护连续工作计时。
展开完整文档(README 剩余 1 节)
dsh-prevent-scd — DSH 防猝死小卫士 🐱

English · 中文

dsh-prevent-scd 是给 DeepSeek Harness(DSH)Web UI 做的休息提醒宠物插件,风格俏皮——像 ChatGPT 的宠物一样,它会跳出来捣乱,逼你去休息。

它会盯着 DSH 会话里的人工操作痕迹,一旦出现下面两种情况就唠叨你:

- 你已经连续工作了好几个小时(默认 3 小时,可配置),或者
- 已经是深夜(默认 23:00–06:00,可配置),你还在操作。

输入框那一栏住着一只可爱的手绘护士猫(内联 SVG,零外部资源)。你快到上限时它会露出担心的表情,然后用一块蹦跳的牌子挡住整个屏幕——夜里显示「⛔ 睡觉!」,白天显示「⛔ 走走!」——同时拦截回车,直到你选择对应的操作(夜里选「好,我睡」,白天选「我去走走」,安静 2 小时),或者再拖 15 分钟。

亮点

- 宿主半边(Node):监听 session/event 里真实的 user/message(插件注入 / 回放的事件不算),维护连续工作计时。
- 浏览器半边(Web):常驻状态行 + 伙伴萌系弹窗(你连续工作每满 moeIntervalMinutes,猫就蹦到右下角打个招呼——点一下关掉,绝不挡路)+ 全屏捣乱遮罩,五种 SVG 姿势(打盹 / 担心 / 拦睡觉 / 拦散步 / 松口气告别),CSS 动画(呼吸、摇尾巴、抖动、飘 Zzz)。
- 场景感知文案:深夜 → 去睡觉,白天长时间工作 → 去走走——消息、标题、按钮、牌子全都跟着触发原因走。
- 每个阈值都能配:maxWorkMinutes、idleBreakMinutes(空档超过这个时长就重置计时,默认 30 分钟)、深夜时段、冷却、拖延时长。
- 状态持久化到 $DSH_HOME/prevent-scd/state.json,dsh 重启也不丢。
- 无外部资源,无网络请求,离线可用。18 个单元 / 集成 / 冒烟测试。

快速安装

dsh plugin --profile web add -w "path/to/dsh-prevent-scd"
restart the dsh web service to activate

在配置档的 cordis.patch.yml 里覆盖配置(热重载,不用重启):

- id: prevent-scd
config:
maxWorkMinutes: 120
idleBreakMinutes: 20
lateNightStart: '23:00'
lateNightEnd: '06:00'

HTTP 接口

- GET /prevent-scd/state.json — 状态快照(浏览器每 15 秒轮询一次)
- POST /prevent-scd/ack — { "kind": "rest" | "snooze" } 用户回应

许可证

MIT

中文文档

一个 DSH(DeepSeek Harness)Web 插件:检测「深夜 + 有人工操作」或「连续数小时有人工操作」, 放出宠物跳出来捣乱,提醒你休息——像 ChatGPT 的宠物一样。

- 宿主半边(Node):监听 session/event 的真实用户消息(user/message,source.kind === 'user', 且为 append 进入日志的事件;插件注入/历史回放不算人工操作),维护连续计时;
- 浏览器半边(Web):输入框下方常驻一行状态小字;卫士猫每隔 45 分钟(可配置)在右下角
冒出来卖个萌说句话(点一下就关,不挡工作);休息时间到后宠物占满全屏捣乱
(挡住界面、拦截回车),给你「去休息 / 再干 N 分钟」两个出口。

规则(全部可配置)

| 配置 | 默认 | 说明 |
| maxWorkMinutes | 180 | 连续工作上限(分钟),达到后宠物出来捣乱 |
| warnAtMinutes | 150 | 提前提醒:连续时长到达该值先小声提醒 |
| idleBreakMinutes | 30 | 无操作多久算中断:超过该时长连续计时清零 |
| moeIntervalMinutes | 45 | 陪伴卖萌:卫士猫每连续工作满该分钟数,在右下角冒出来卖萌一次(0 = 关闭) |
| moeDurationSeconds | 6 | 卖萌卡片停留时长(秒),点一下可提前关闭 |
| lateNightStart | 23:00 | 深夜窗口开始(HH:MM,支持跨零点) |
| lateNightEnd | 06:00 | 深夜窗口结束 |
| recentActivityMinutes | 20 | 深夜判定「人在」的操作窗口:超过该时长无操作不打扰 |
| lateNightMinWorkMinutes | 0 | 深夜触发所需的最少连续工作分钟(0 = 深夜有操作即提醒) |
| restCooldownMinutes | 120 | 点「我去休息」后的安静时长 |
| snoozeMinutes | 15 | 点「再干 N 分钟」的延时时长 |
| evaluateIntervalSeconds | 30 | 宿主侧评估间隔(浏览器侧轮询固定 15 秒) |
| persist | true | 计时状态持久化(重启 dsh 不丢) |
| statePath | '' | 状态文件路径;留空 = $DSH_HOME/prevent-scd/state.json |

「连续」的定义:任一无操作间隔超过 idleBreakMinutes(默认 30 分钟)即视为中断,连续计时清零,下次操作重新起算。

安装

在你的 profile 里安装(示例:web)
dsh plugin --profile web add -w "D:\projects\vibe\dshp\dsh-prevent‑scd"

然后重启 dsh web 服务生效(profile bundle 列表变更需要重启;运行中的实例不受影响)。

注意:pnpm 对 link: 依赖不安装传递依赖,@deepseek-ai/cordis / @deepseek-ai/schemastery 通过本机共享的 D:\projects\vibe\dshp\node_modules 解析(与同目录的 dsh-liang-rheostat 插件同一约定)。换机器部署时,先在插件目录执行 pnpm install 或把这两个依赖装到可达的 node_modules。

配置

在 profile 的 cordis.patch.yml 里按行 id 覆盖(最后写入者胜,保存即热生效):

- id: prevent-scd
config:
maxWorkMinutes: 120 # 2 小时就提醒 idleBreakMinutes: 20 # 20 分钟无操作算中断 lateNightStart: '22:30' # 22:30 到次日 6:30 算深夜 lateNightEnd: '06:30' snoozeMinutes: 10

或直接改 bundle 里的默认值(cordis.patch.yml 中该行的 config)。

卸载

dsh plugin --profile web remove dsh-prevent-scd
并删除 profile package.json 的 dsh.profile.bundles 里的 dsh-prevent-scd(如果 pnpm remove 没自动清)

删除 $DSH_HOME/prevent-scd/ 可清掉计时状态。

内部结构

cordis.patch.yml bundle patch:插入 prevent-scd 一行(dsh.client 双面包) lib/index.js 宿主插件:session/event 监听、/prevent-scd/* HTTP 端点、持久化 lib/tracker.js 纯逻辑规则引擎(无 cordis 依赖,可独立测试) lib/client.js 浏览器 bundle:状态条 + 全屏宠物拦截(手写 ModuleLoader 格式) 宠物为内嵌 SVG 矢量插画(渐变毛色/高光/护士帽+爱心主题,
打盹/担忧/拦路(深夜睡觉版/白天走走版)/放行,零外部资源)
tools/render-pets.mjs 开发工具:把四个宠物 SVG 渲染成 PNG 并做结构分析 test/ node:test 单元/集成/冒烟测试

- GET /prevent-scd/state.json — 状态快照(浏览器每 15 秒轮询)
- POST /prevent-scd/ack — { "kind": "rest" | "snooze" } 用户回应

改宠物美术:lib/client.js 里的 PET_SLEEP / PET_WORRY / PET_ANGRY_SLEEP / PET_ANGRY_MOVE / PET_HAPPY 五个 SVG 字符串,改完用 node tools/render-pets.mjs tools/art 渲染预览,再刷新浏览器即可(客户端 bundle 是运行时从插件目录读取的,无需重启 dsh)。

测试

pnpm test # 或 node --test-force-exit test/tracker.test.js 等

License

MIT
预览分享卡片长什么样 ↓Codingendless/dsh-prevent-scd
分享 · DeepSeek Harness Hub
Codingendless/dsh-prevent-scd

连续加班或深夜操作时,护士猫拦屏催你休息

这是你的仓库?认领条目

回到顶部