dsh-plugin-whale-fenggu:在 DSH 里盯住 DeepSeek 峰谷计价时段

前言

DeepSeek 官方 V4 从 2026-08-17 起按北京时间峰谷计价:高峰贵、低谷便宜。09:00、12:00、14:00、18:00 这几个边界不难记,难的是长任务跑着跑着忘了看表——重活撞进高峰,token 花销就上去了。自己记时段是一种办法;更省心的做法是让一个常驻组件替你盯表,在切换前提前喊你。本文介绍的 dsh-plugin-whale-fenggu 就是这样一个插件。

DSH 的理念是「一切皆插件」,这类小工具正好走插件体系。

这是什么

dsh-plugin-whale-fenggu(蓝色大肥鱼 · DeepSeek 峰谷提醒)由 Mungbean-Cake 维护,MIT 许可证,当前版本 1.1.0。它是一个面向 DSH Web GUI 的纯前端、零依赖插件:按北京时间实时判断 DeepSeek 峰谷计价时段,在屏幕角落挂一块「小肥鱼」卡片,显示当前时段、北京时间与距下次切换的倒计时,并在切换前按设定提前量弹出站内 toast。

名字里的「梁文峰 / 梁文谷」是社区梗。项目 README 里解释了出处:DeepSeek 创始人叫梁文峰,官方 V4 按北京时间峰谷计价,于是社区把高峰时段称作「梁文峰」(贵),低谷时段称作「梁文谷」(便宜),插件沿用了这套叫法。

时段规则

插件按北京时间区分两个时段:

  • 高峰(梁文峰):09:00–12:00、14:00–18:00,价格贵
  • 低谷(梁文谷):其余时间,价格便宜

实现上,时区用 Intl.DateTimeFormat('Asia/Shanghai') 取北京时间(该时区无夏令时,与官方规则一致);每日以 09:00 / 12:00 / 14:00 / 18:00 为边界,高峰取左闭右开区间 [09:00,12:00)[14:00,18:00)。墙钟时间被编码为统一 epoch 再比较,取下一个边界算出剩余分钟数,这就是卡片上倒计时的来源。

核心功能

卡片与提前提醒

  • 实时播报:卡片常驻显示当前是梁文峰还是梁文谷,附北京时间与距切换倒计时。
  • 提前提醒:切换前 N 分钟在屏幕下方弹出站内 toast,默认提前 10 分钟,可设 1–120 分钟。
  • 防重复:每次时段切换按「日期 + 目标时段」记录,只提醒一次。
  • 手动操作:点 📢 手动播报当前时段,点 🧪 测试提醒样式,不用真等到切换点。

拖动与位置记忆

按住卡片的空白处(头部、贴士区)可以拖到屏幕任意位置,坐标自动记录为 {x,y}。配置以 Cookie + localStorage 双写,存储键为 whaleFengguReminder:config:Cookie 不区分端口,所以 DSH Desktop 每次启动换端口,位置和设置也不丢;localStorage 兜底记录当前端口下的状态。

健壮性上做了几件事:拖动坐标做净化处理,防止 NaN 之类非法值导致卡片离屏;组件被外部移除后,靠 20 秒一次的自愈巡检重建;单点错误用 try/catch 隔离,不拖垮页面其他部分;全局用 __WHALE_FENGGU__ 去重,避免重复注入出现两个卡片。

配置项

点卡片上的 ⚙️ 按钮打开设置面板,可调项如下:

默认 说明
enabled true 总开关
leadMinutes 10 切换前提前提醒分钟数(1–120)
position left 预设位置:左下 / 右下
pos null 自定义坐标,拖动后自动记录
opacity 0.95 卡片透明度(0.2–1,滑块调节)
visible true 显示开关,关掉后缩成小鱼圆点,点击恢复
minimal false 极简模式,只显示当前状态
toast true 站内 toast 提醒开关
tips true 省 token 小贴士轮播开关
lastNotified {} 已提醒记录,自动维护,用于防重复

另外几点:

  • 设置面板内置省 token 指南:合并请求、长会话开新档、高峰少跑重活等;卡片上还有小贴士轮播。
  • UI 跟随 blue-fantasy(蓝色幻想)皮肤风格:靛蓝紫调、毛玻璃、圆角、漂浮动画。
  • 组件内置 UI 微调 CSS:隐藏「插件市场」底部按钮、让余额徽章独占一行(后者配合余额监控插件使用),正式安装后随插件一并生效。

安装

前提:需要 DSH Desktop(或 dsh web profile),且 DeepSeek 官方 V4 峰谷定价已生效(2026-08-17 起)。

方式 A:正式安装(推荐)

dsh plugin --profile web add <本项目路径>

<本项目路径> 换成本地克隆或解压后的项目目录。安装由 dsh plugin 写入 lockfile 与受保护事务,重启后不丢。装完重启 DSH Desktop,再按 Ctrl+Shift+R 强制刷新页面即可看到卡片。

Windows 桌面端注意:安装前先完全退出 DSH Desktop(包括托盘图标),否则 pnpm 会因文件占用报 EPERM

方式 B:过渡注入(不想装插件时)

项目自带 lib/widget.raw.js,是一个自包含的 IIFE,无任何依赖,自带去重与 DOM ready 处理。把它整段粘贴进任意一个已加载的客户端插件即可。README 给的例子是余额监控插件 @rainronin/dsh-balance-monitor

// balance-monitor/lib/client.js 的工厂函数内、return module.exports 之前:
// 粘贴 lib/widget.raw.js 的全部内容

保存后刷新页面即生效。

这个方式的代价要说清楚:node_modules 被 pnpm 重链时(比如安装、更新其他插件),注入内容会被还原,需要重新注入,或者回头改用正式安装。

典型用法

1、启动后,左下角(默认位置)出现小肥鱼卡片,实时显示当前时段与倒计时。
2、按住卡片头部或贴士区,拖到不挡视线的位置。
3、点 ⚙️ 打开设置面板:调提前提醒分钟数、切换预设位置或使用拖动后的自定义坐标、开关各类功能;点 🔄 一键复位回左下角。
4、点 📢 听一次手动播报,点 🧪 预览提醒 toast 的样式。
5、到切换时间前 N 分钟,屏幕下方弹出提示 toast;每个时段切换只提醒一次。

适用场景与注意

适合谁:在 DSH Desktop / web profile 里跑任务、在意峰谷差价、不想自己记时段边界的人;如果已经在用 blue-fantasy 皮肤,卡片的视觉风格也是配套的。

使用前有几点要留意:

  • 插件以当前 dsh 进程的权限运行。安装任何第三方插件前,建议先读一遍源码、确认许可证(本项目为 MIT)符合自己的要求,再决定是否装入。
  • 过渡注入不等于正式安装,pnpm 重链后会失效,别把它当长期方案。
  • 卡片不见了,排查顺序:先 Ctrl+Shift+R 强制刷新;如果用的是过渡注入,多半是被重链还原了,重新注入或改用正式安装。
  • 更详细的原理、排错与贡献说明见仓库内的 docs/TUTORIAL.md。

小结

dsh-plugin-whale-fenggu 做的事情不复杂:把峰谷时段表变成一块带漂浮动画的常驻卡片,在你快忘记的时候提前喊一声,顺带塞几条省 token 的建议。纯前端、零依赖,接入成本低。如果你经常需要掐着时段安排任务,可以装一个试试。

项目地址:

  • GitHub:https://github.com/Mungbean-Cake/dsh-plugin-whale-fenggu
  • 社区目录页:https://www.skillhub.cn/plugins/Mungbean-Cake/dsh-plugin-whale-fenggu

注:社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

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

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

Xiaoye