Back to home@rison114514

deepseek-status-monitor

DSH 对话页时段状态显示器:按收费低谷/过渡/高峰显示对应插画,引导低谷时段使用。

Stars
0
Language
JavaScript
Created
Aug 19, 2026
Updated
Aug 19, 2026

Introduction

DeepSeek Status Monitor

DSH(DeepSeek Harness)对话页时段状态显示器。

根据当前时段,在对话页浮层显示对应插画,引导用户在低谷时段使用,控制使用成本。

时段划分

时段触发视觉提示
低谷 (low)lowHours 中包含当前小时半透明静态图 + 缓慢呼吸推荐使用,价格低
过渡 (transition)transitionHours 中包含当前小时红灯闪烁 + 警示边框脉冲低谷即将结束
高峰 (peak)peakHours 中包含当前小时深色化 + 静默警示价格高,谨慎使用
非配置时段完全隐藏

安装

方式一:放入 ~/.dsh/bundles/(推荐)

# 1. 拷贝整个目录
cp -R deepseek-status-monitor ~/.dsh/bundles/

# 2. 启动时启用
npx @deepseek-ai/dsh web --patch ~/.dsh/bundles/deepseek-status-monitor/cordis.patch.yml

方式二:作为 npm 包安装

在你的 profile 目录运行:

dsh plugin --profile web add /path/to/deepseek-status-monitor

会自动读取 package.json 中的 dsh.bundle / dsh.client 字段并加入 bundle 层。

方式三:直接放入 bundles 目录(仅用于快速验证)

mkdir -p ~/.dsh/bundles/deepseek-status-monitor
cp -R deepseek-status-monitor/* ~/.dsh/bundles/deepseek-status-monitor/

配置

完整配置见 config.example.json,通过 patch 文件覆盖 cordis.patch.yml 中的默认值。

最常用的自定义:

plugins:
  - id: status-monitor
    config:
      lowHours: [0, 1, 2, 3, 4, 5, 6, 12, 13, 14, 15]
      transitionHours: [17]
      peakHours: [18, 19, 20, 21]
      opacity: 0.65

⚠️ dsh patch 是整条 config 替换,不是深度合并。要修改任何字段,都要把全部字段写出来(详见使用教程 §6.4)。

资源

插件启动时会按 phase 加载对应图片。三张位图都是基于同一位用户(你自己)的真人照片制作

资源路径来源说明
低谷期assets/low.pngimage#1(蓝西装"嘘"手势照)已包含;缺失时降级为 CSS 蓝色渐变占位
过渡期assets/transition.gif你上传的 mp4(生成虚弱状态角色图片.mp4)逐帧 rembg 去背景 + 透明化已包含;虚弱喘气循环动画,手绘风虚线警示边框 + 红灯脉冲由浮层 CSS 实现
高峰期assets/peak.pngimage#3(手绘风疲惫人物)+ rembg 透明合成已包含;透明背景,残血红边效果由浮层 CSS 实现

重新生成任意一张的步骤见 assets/README.md

降级占位仍能传达时段语义(颜色 + 动画节奏),但视觉表达力弱于位图。

与其他插件互不干扰的保证

  • z-index: 2147483647(32-bit 有符号整型上限)— 浮于所有元素
  • pointer-events: none — 不拦截任何鼠标/触摸事件
  • aria-hidden: true — 不污染 a11y 树
  • user-select: none — 不会意外选中浮层文字
  • <style data-dsh-plugin="status-monitor"> 标签 — 卸载时精准移除,无样式泄漏
  • 所有 class / id 加 dsh-sm- / #dsh-status-monitor-overlay 前缀 — 不与 DSH 核心样式冲突

卸载

移除 ~/.dsh/bundles/deepseek-status-monitor/ 目录,并在下次启动时省略 --patch 参数即可。Cordis 的依赖声明 + effect disposer 保证:插件文件消失后,正在运行的 Harness 也会自动卸载(不需要重启)。

开发

本插件是纯 ESM JavaScript,无构建步骤,DSH 直接加载 index.js(服务端)与 client.js(客户端)。

# 本地实时开发:把目录 symlink 进 profile 的 node_modules,改完重启 dsh web 即生效
ln -sfn /path/to/deepseek-status-monitor \
       ~/.dsh/profiles/web/node_modules/deepseek-status-monitor

修改 index.js / client.js 后,重启 dsh web 即可看到变化。 也可以用 preview/index.html 本地预览浮层效果,无需启动 DSH。

目录结构

deepseek-status-monitor/
├── README.md               # 本文件
├── package.json            # 包定义(含 dsh.bundle / dsh.client 字段)
├── cordis.patch.yml        # cordis insert patch(启用插件 + 默认配置占位)
├── config.example.json     # 时段配置示例
├── index.js                # 服务端 Cordis Service:静态资源路由 + 设置面板
├── client.js               # 客户端浮层 DOM/CSS + 时段判断 + 配置卡片
├── preview/
│   └── index.html          # 本地预览页(mock DSH 聊天界面,无需启动 DSH)
└── assets/
    ├── README.md           # 三张插画的来源、节点 ID、重制方法
    ├── low.png             # 低谷期:image#1 去背景透明化
    ├── transition.gif      # 过渡期:mp4 逐帧去背景透明化的虚弱喘气循环动画(GIF,兼容性最好)
    ├── transition.apng     # 同源高质量备选(真 alpha, 17MB,可选)
    └── peak.png            # 高峰期:image#3 rembg 去背景透明 16:9

License

MIT