前言¶
DeepSeek Harness(DSH)把對話界面拆成可插拔的 bundle。若你在本地跑 Harness 做智能體開發,有時會對照 DeepSeek 官方定價頁裏的「高峯 / 低谷」時段安排調用或測試——定價說明在瀏覽器裏,會話底部的統計行(例如 1 輪 · 68 步 | LLM ...)旁卻沒有對應提示,需要反覆切頁或心算北京時間。
下面介紹社區插件 @ttxl314/dsh-ds-peak-valley:在 composer dock 統計行同一行固定一枚 文峯 / 文谷 徽標,按北京時區與官方定價腳註的窗口本地計算,不發起 HTTP、不消耗 token。
這是什麼¶
- 名稱:
@ttxl314/dsh-ds-peak-valley(npm 包名與註冊 id 一致) - 維護者:ttxl314
- 分類:趣味換裝(SkillHub 社區目錄)
- 版本(資料中 package.json):0.1.1,許可證 MIT
- 定位:純客戶端 DSH 插件,向
conversation.composer.dock槽位(id: ds-peak-valley,order: 1)註冊一行徽標,與 session 統計條並排顯示。
時段規則與 DeepSeek 官方定價頁腳註一致,文檔引用:https://api-docs.deepseek.com/zh-cn/quick_start/pricing/。非 DeepSeek 官方插件,與 DeepSeek / 幻方無從屬關係。
徽標顯示什麼¶
| 狀態 | 北京時間 | 顏色 |
|---|---|---|
| 文峯(peak) | 週一至週五 09:00–12:00、14:00–18:00 | 紅 #e5484d |
| 文谷(valley) | 其餘時刻(夜間、午休、週末等) | 藍 #0091ff |
徽標大致結構(README 示意):
文峯 14:26 · 距下谷 3小時34分
└─┬─┘ └─┬─┘ └───┬───┘ └──┬──┘
state Beijing next switch time left
clock direction (h/min)
- 距下谷(藍色語境):即將在 12:00 或 18:00 進入文谷。
- 距下峯(紅色語境):即將在 09:00 或 14:00 進入文峯。
- 鼠標懸停可看到完整窗口說明與計算用的北京時刻戳。
週末視爲連續文谷,下一次切換爲週一 09:00(含週五 18:00 → 週一 09:00 的倒計時邏輯,見倉庫自測)。
核心行爲(已覈實)¶
- 時區:硬編碼
Asia/Shanghai,用瀏覽器時鐘經Intl.DateTimeFormat推導北京時間;本機系統時區不影響判定,但依賴系統時鐘是否準確。 - 刷新:約每分鐘重繪一次。
- 無配置:無配置文件、無 slash 命令、無設置項開關。
- 隱私:僅在客戶端計算;無 HTTP、無遙測、不讀 API key、不讀倉庫或會話數據。
實現上,lib/index.js 爲宿主入口(apply() 空操作,供掃描 dsh.client);lib/client.js 爲瀏覽器 bundle(徽標與 computeStatus / nextTransition);cordis.patch.yml 把插件行插入 profile 樹。bundle 須以包名 @ttxl314/dsh-ds-peak-valley 調用 window.__ModuleLoader__.load({ id }),否則不會掛載。
安裝與啓用¶
要求:已安裝 DSH,且使用 web 或 desktop profile;Node.js ≥ 18。
資料中的註冊方式(tree-outside bundle)如下。先將倉庫放到本機某路徑,再對該 profile 執行 link 註冊(README 原文含 clone 步驟,此處只保留與 DSH 相關的命令形態;路徑替換爲你的 checkout 目錄):
dsh plugin --profile web add link:<path-to-clone>
也可手工編輯 profile manifest(常見路徑 $DSH_HOME/profiles/web/package.json):
{
"dependencies": {
"@ttxl314/dsh-ds-peak-valley": "link:<path-to-clone>"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@ttxl314/dsh-ds-peak-valley"
]
}
}
}
完成後重啓 DSH;徽標應出現在 composer dock、統計行旁。
卸載:從 dependencies 與 dsh.profile.bundles 中移除該包並重啓。
兼容性(README):針對 DSH 客戶端插件 API(conversation.composer.dock、react 種子模塊、window.__ModuleLoader__,dsh.client.platform = "web");在 DSH 0.2.1-rc.5 的 desktop 與 web profile 上驗證。若未來 DSH 更名槽位或加載入口,主要改 lib/client.js。
典型用法¶
安裝並重啓後無需額外操作:打開任意對話,在底部統計行一側查看徽標即可。
若狀態與預期不符:
- 確認系統時間已同步。
- 懸停徽標,覈對 tooltip 中的北京時間戳。
- 若徽標不出現:檢查
dependencies包名是否爲@ttxl314/dsh-ds-peak-valley、是否列入dsh.profile.bundles、link:目標目錄是否仍存在。
開發者可在插件目錄運行自測(不依賴 DSH 進程):
node test/self-test.mjs
或:
npm test
CI 在 Node 18 / 20 / 22 上跑同一套測試(.github/workflows/test.yml)。
若 DeepSeek 調整峯谷窗口,需改 lib/client.js 頂部的 PEAK_WINDOWS / PEAK_WEEKDAYS(README 說明)。
適用場景與注意¶
適合:在 DSH web 或 desktop 里長時間對話、希望一眼看到當前是否處於官方定價意義上的文峯/文谷,且不想爲此時段查詢單獨打 API 的開發者。
注意:
- 插件以當前 DSH 進程及其加載的 bundle 權限運行;安裝前請閱讀源碼與 MIT 許可證,確認可接受本地 link 依賴方式。
- 社區目錄 SkillHub(https://www.skillhub.cn/plugins/ttxl314/dsh-ds-peak-valley)與 GitHub 倉庫由社區維護,不是 DeepSeek 官方應用商店。
- 重命名包時必須同步
package.json、cordis.patch.yml與lib/client.js內的id,否則npm test會失敗且瀏覽器端可能靜默不掛載。
結尾¶
@ttxl314/dsh-ds-peak-valley 把 DeepSeek 定價頁上的峯谷窗口壓縮成 composer 底欄一枚只讀徽標:本地算、每分鐘更新、零網絡。需要安裝細節與排錯時,以倉庫 README 爲準。