前言¶
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,同時也是通知圖標):
- 卡通彈窗:右下角 bounce 跳入,氣泡臺詞加卡通形象,8 秒自動收起,點擊即關。
- 瀏覽器系統通知:首次觸發時請求授權,授權後到點彈系統通知,帶卡通圖標。
- 提示音:基於 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。