Bundle
dsh-liangwengu
梁文谷提醒:按 DeepSeek API 定价高峰/空闲时段(北京时间)提醒——峰前喊快跑、峰走喊开谷。右下角卡通弹窗 + 浏览器系统通知 + 提示音。
- Source
- mozhuanzuojing
- stars
- 3 stars
- License
- MIT
- Updated
- Updated 1 hour ago
Readme
# dsh-liangwengu · 梁文谷提醒
按 **DeepSeek API 定价**的高峰/空闲时段(北京时间)提醒你:峰来了快跑,峰走了开薅。
> 梗:梁文峰 = 峰 = 高峰时段(价格翻倍,快跑);梁文谷 = 谷 = 空闲时段(半价,随便薅)。
> 定价依据:<https://api-docs.deepseek.com/zh-cn/quick_start/pricing> —— 高峰时段为北京时间 9:00–12:00、14:00–18:00,其余为空闲时段(半价)。
## 变更 (v0.7.1)
- **适配 DSH 0.1.2-rc.1**:客户端胶囊改为在 `shell.overlay` 槽位 `slots.inject` 注册,并给客户端 plugin 加 `inject: ['slots']`,避免 `ctx.get('slots')` 一次判定因时序拿到 `undefined` 而走 fallback、胶囊不渲染。cordis 升到 `^4.0.2`。
- 已实测:0.1.2-rc.1 下胶囊 + 弹窗正常挂载。
## 功能
- **到点大喊**(北京时间,钉死 Asia/Shanghai,与机器时区无关):
| 时刻 | 口号 |
|---|---|
| 08:30 / 08:40 / 08:50 | 高峰倒计时:距 09:00 还有 30 / 20 / 10 分钟 |
| 08:55 | 梁文峰要来了,块跑啊! |
| 12:00 | 乡亲们,梁文峰走了!!可以出来了! + 梁文谷 启动~~~ |
| 13:30 / 13:40 / 13:50 | 高峰倒计时:距 14:00 还有 30 / 20 / 10 分钟 |
| 13:55 | 梁文峰要来了,块跑啊! |
| 18:00 | 乡亲们,梁文峰走了!!可以出来了! + 梁文谷 启动~~~ |
- **右下角卡通弹窗** bounce 跳入(气泡台词 + 卡通形象,8 秒自动收起,点击即关);
- **游戏化 HUD(v0.2.0)**:右上角常驻胶囊——图标 + 阶段名 + 生命值血条 + 距下一事件倒计时;**可拖动**(位置记忆在 localStorage);**点击展开详情**(当前阶段卡 / 今日时间表 / HP 规则 / 今日播报记录);
- **白天/月夜主题(v0.2.1)**:按北京时间自动识别——06:00–18:00 白天(☀️ 浅色日光胶囊),18:00–06:00 月夜(🌙 深蓝月光胶囊),1 秒内自动切换,详情面板同主题;
- **血条煮水(v0.5.1)**:血条本身即"水"——宽度=血量,颜色/气泡=水温(倒计时水蓝→白、气泡随 HP 掉血增多,峰中满滚冒小汽),**谷启动瞬间蒸汽从血条喷发 + 咕噜水声**,HP 数字 <20 变红提示危险;
- **隐藏彩蛋(v0.3.0)**:HP 归零瞬间(09:00/14:00)卡通放大弹跳 + 随机梗台词 + 屏幕轻震(如「梁文峰路过你工位,你屏住了呼吸」),每天限 2 次;
- **血雾氛围(v0.3.0)**:屏幕四周红色 vignette 随 HP 降低渐显(峰值最浓),纯 CSS 不挡操作;
- **打扰度配平(v0.3.0 / v0.4.3)**:弹窗每天仅 **6 次**(4 个主触发 + 2 次彩蛋),全部响亮(通知+声音);倒计时 6 次不再弹窗,由胶囊血条下滑 + 「距下一事件」实时承载;
- **修仙等级(v0.4.0)**:凡人修仙传九境(炼气→筑基→金丹→元婴→化神→炼虚→合体→大乘→真仙),修为翻倍递增;**渡劫**(12:00/18:00 结算点在线 +1,每日 ≤2)+ **闭关**(谷时段每在线 1h +1);突破金光动画+台词+升级音,真仙飞升全屏彩蛋;胶囊显示境界徽标,详情面板有修为卡;
- **生命值 = 安全剩余量**:谷中满血 100 → 倒计时掉血(距峰 30 分→70 / 20 分→40 / 10 分→10)→ 峰中**回血爬升**(血条从 0 向 100 涨,对应距峰走剩余,18:00 满血);
- **浏览器系统通知**(首次触发会请求授权,授权后到点弹系统通知,带卡通图标);
- **提示音**(Web Audio 合成,峰来急促下行音 / 开谷上行音;浏览器自动播放策略可能静音);
- **错过补偿**:页面打开时距最近**主触发点** ≤15 分钟补播该口号(倒计时过期不补播,避免陈旧播报),否则弹一次性当前阶段播报(高峰「梁文峰还在盯场」/ 空闲「梁文谷进行时」)。
## 安装
```sh
# 本地目录
dsh plugin --profile <name> add ./dsh-liangwengu
# 或 npm 包 / tarball
dsh plugin --profile <name> add dsh-liangwengu
dsh plugin --profile <name> add ./dsh-liangwengu-0.1.1.tgz
```
重启 profile 后生效。浏览器首次弹出时允许「通知」权限即可收到系统通知。
调试:devtools 里 `window.__lwgTest('warn' | 'good' | 'cd' | 'phase')` 可手动触发弹窗。
## 结构
```
dsh-liangwengu/
├── package.json # dsh.bundle.patch → cordis.patch.yml;dsh.client → 浏览器半
├── cordis.patch.yml # 插件行:- insert: id liangwengu / name dsh-liangwengu
├── src/index.js # 宿主半:读 assets/cartoon.jpg,挂 /liangwengu/cartoon.jpg 路由供图
├── lib/client.js # 浏览器半:调度 + 弹窗 + 通知 + 声音(ModuleLoader bundle)
└── assets/cartoon.jpg # 卡通形象(弹窗头像 + 通知图标)
```
## 发布
- 发布 npm:`pnpm pack` 出 tarball(`files` 已含 src/lib/assets/cordis.patch.yml/README),`pnpm publish` 前无需构建(纯 JS)。
- GitHub 发布:仓库打 [`dsh-plugin`](https://github.com/topics/dsh-plugin) topic;git 安装无需 `prepare` 脚本(无编译产物)。
- 说明:本包纯 JS、零依赖(仅 peer `@deepseek-ai/cordis`),从 git/npm 安装都不需要 `allowBuilds`。
## License
MIT
Install
dsh plugin --profile web add github:mozhuanzuojing/dsh-liangwengu
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-liangwengu from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.