dsh-liangwengu:DeepSeek API 高峯/空閒時段提醒插件(DSH)

前言

DeepSeek API 的定價按時段區分:北京時間 9:00–12:00、14:00–18:00 是高峯,其餘爲空閒時段(半價)。跑任務一忙起來就容易忘看錶,峯裏跑了一下午才反應過來,這類事在調 API 的人身上不算少見。已有做法是自己定鬧鐘,或者在終端掛個 cron 腳本,但它們不跟着你工作的界面走。

dsh-liangwengu 把這件事做成了 DSH(DeepSeek Harness)插件:到點在界面上彈卡通彈窗、發系統通知、播放提示音,直接告訴你「峯來了快跑、峯走了開薅」。下面介紹它的播報機制、界面能力和安裝方式。

這是什麼

dsh-liangwengu 是一個 DSH/Cordis bundle 插件,按 DeepSeek API 定價的高峯/空閒時段到點播報。名字來自一個梗:梁文峯 = 峯 = 高峯時段;梁文谷 = 谷 = 空閒時段(半價)。

定價依據見 DeepSeek 官方文檔:https://api-docs.deepseek.com/zh-cn/quick_start/pricing。當前版本 0.7.1,許可證 MIT(README 的 License 節與 package.json 均明確)。代碼倉庫在 https://github.com/mozhuanzuojing/dsh-liangwengu

所有播報時間釘死在 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 鄉親們,梁文峯走了!!可以出來了!+ 梁文谷 啓動~~~

也就是說,兩個高峯段(09:00 和 14:00 開始)各有一輪峯前倒計時加峯前提醒,兩個峯走點(12:00 和 18:00)各有一次開谷播報。

提醒的三種形式

到點時,插件通過三種渠道提醒,全部使用同一套卡通形象(assets/cartoon.jpg,同時也是通知圖標):

  1. 卡通彈窗:右下角 bounce 跳入,氣泡臺詞加卡通形象,8 秒自動收起,點擊即關。
  2. 瀏覽器系統通知:首次觸發時請求授權,授權後到點彈系統通知,帶卡通圖標。
  3. 提示音:基於 Web Audio 合成,峯來是急促下行音,開谷是上行音。受瀏覽器自動播放策略影響,可能被靜音。

遊戲化 HUD

膠囊與詳情面板

右上角有一個常駐膠囊:圖標 + 階段名 + 生命值血條 + 距下一事件倒計時。可拖動,位置記憶存在 localStorage;點擊展開詳情面板,內含當前階段卡、今日時間表、HP 規則和今日播報記錄。

主題按北京時間自動切換:06:00–18:00 爲白天淺色日光膠囊,18:00–06:00 爲月夜深藍月光膠囊,切換在 1 秒內完成,詳情面板同主題(v0.2.1)。

生命值 = 安全剩餘量

插件用一條血條表示「離峯還有多安全」:谷中滿血 100,進入倒計時後按距離掉血(距峯 30 分→70 / 20 分→40 / 10 分→10),峯中回血爬升,到 18:00 滿血。

v0.5.1 起血條本身即「水」:寬度等於血量,顏色和氣泡表示水溫(倒計時階段水藍漸白,氣泡隨 HP 掉血增多),谷啓動瞬間蒸汽從血條噴發並伴隨咕嚕水聲;HP 數字低於 20 變紅提示危險。

修仙等級

v0.4.0 加入了凡人修仙傳九境:煉氣→築基→金丹→元嬰→化神→煉虛→合體→大乘→真仙,修爲翻倍遞增。修爲來源有兩種:

  • 渡劫:12:00 / 18:00 結算點在線則 +1,每日上限 2 次;
  • 閉關:谷時段每在線 1 小時 +1。

突破時有金光動畫、臺詞和升級音,到達真仙有全屏飛昇彩蛋。膠囊顯示境界徽標,詳情面板有修爲卡。

彩蛋與血霧

兩個 v0.3.0 加入的細節:

  • 隱藏彩蛋:HP 歸零瞬間(即 09:00 / 14:00)卡通放大彈跳 + 隨機梗臺詞 + 屏幕輕震,每天限 2 次。
  • 血霧氛圍:屏幕四周紅色 vignette 隨 HP 降低漸顯,峯值時最濃,純 CSS 實現,不擋操作。

打擾度配平與錯過補償

如果每個時間點都彈窗,一天下來反而沒法用。插件做了配平:

  • 彈窗每天僅 6 次:4 個主觸發(08:55 / 12:00 / 13:55 / 18:00)+ 2 次彩蛋,全部爲響亮模式(通知 + 聲音);
  • 6 次倒計時不再彈窗,改由膠囊血條下滑和「距下一事件」倒計時即時承載(v0.3.0 / v0.4.3)。

錯過補償方面:頁面打開時如果距最近主觸發點不超過 15 分鐘,補播該口號(過期的倒計時不補播,避免陳舊信息);否則彈一次性的當前階段播報——高峯時是「梁文峯還在盯場」,空閒時是「梁文谷進行時」。

安裝與啓用

安裝命令如下,<name> 換成你的 profile 名:

# 本地目錄
dsh plugin --profile <name> add ./dsh-liangwengu

# npm 包
dsh plugin --profile <name> add dsh-liangwengu

# tarball(README 中的示例文件名)
dsh plugin --profile <name> add ./dsh-liangwengu-0.1.1.tgz

其中 tarball 那行的 dsh-liangwengu-0.1.1.tgz 是 README 的示例寫法,package.json 當前版本爲 0.7.1,實際文件名以你 pnpm pack 的產物爲準。

裝完後重啓 profile 即生效。瀏覽器首次彈出時允許「通知」權限,之後才能收到系統通知。

調試時,在瀏覽器 devtools 控制檯執行下面的命令可手動觸發彈窗:

window.__lwgTest('warn' | 'good' | 'cd' | 'phase')

包結構與 DSH 適配

對想參考它寫 DSH 插件的人,這個包的結構值得一看。它是純 JS、零依賴(僅 peer @deepseek-ai/cordis ^4.0.2),從 git/npm 安裝都不需要 allowBuilds

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  # 卡通形象(彈窗頭像 + 通知圖標)

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。該版本已實測在 DSH 0.1.2-rc.1 下膠囊和彈窗正常掛載。

適用場景與注意

適合的人:經常在瀏覽器裏調 DeepSeek API、想把跑批任務挪到半價空閒時段、又不想自己記時間表的人。它解決的就是「峯谷切換靠記憶」這個問題。

使用前注意幾點:

  • 系統通知需要瀏覽器授權,首次觸發時會請求;提示音可能被瀏覽器自動播放策略靜音;
  • 時段判斷釘死 Asia/Shanghai,機器時區不影響,但如果你完全不在北京時間的工作節奏裏,播報對你意義有限;
  • 插件以當前 dsh 進程的權限運行,安裝前建議先閱讀倉庫源碼並確認許可證(本插件爲 MIT)。

小結

dsh-liangwengu 用卡通彈窗、系統通知、提示音和一條會掉血的血條,把 DeepSeek API 的峯谷時段變成隨時可見的信息,成本控制的提醒不再靠自覺。倉庫地址:https://github.com/mozhuanzuojing/dsh-liangwengu;社區目錄收錄頁:https://www.skillhub.cn/plugins/mozhuanzuojing/dsh-liangwengu

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

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

小夜