前言¶
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 / 幻方无官方从属关系。