前言¶
DeepSeek Harness(DSH)裏,智能體一旦跑起來,模型調用會按任務節奏連續發出。DeepSeek 官方路由在部分時段按高峯定價計費;若你在這些時段仍照常調用,費用會按高峯價結算。手動掐表、改 cron 或在外層包一層調度,都能錯開高峯,但都要自己維護時間表,且很難保證「請求在發出前就被攔住、窗口結束後再自動繼續」。
下面介紹社區插件 dsh-offpeak(維護者 TetraSsky,分類:工作流)。它在 DSH web profile 下,按你配置的暫停窗口攔截模型調用,窗口內請求不發送到適配器、不產生計費;窗口結束後由插件自行恢復。可選能力還包括讀取賬戶餘額與近期 spend 圖表。插件爲獨立包,只讀寫自身相關文件,不依賴其他 DSH 插件。
這是什麼¶
dsh-offpeak 是 DeepSeek Harness 插件:在高峯定價時段 hold DeepSeek 模型調用,待非高峯再發送,以便按 off-peak 費率計費。窗口打開期間,請求不會被髮出,智能體等待,窗口結束後自動繼續。
- 倉庫:TetraSsky/dsh-offpeak
- 社區目錄:skillhub.cn 插件頁
- 當前 package 版本(資料中):0.1.2,許可證 MIT
DSH 生態理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
核心功能¶
「暫停」由三部分共同構成¶
| 機制 | 作用 |
|---|---|
| Request gate | 所有模型調用經 llm/stream 瀑布流;窗口內調用在到達 adapter 前被 park,不發送、不計費。 |
| Goal freeze | 處於 active 階段的 goal 被暫停,不再推進,界面顯示爲 paused 而非 busy;用戶自行暫停的 goal 不會被改動。 |
| Status tool | 提供只讀工具 offpeak_status,供模型說明爲何在等待;不能改時間表。 |
沒有按請求的 override,也沒有按窗口的 skip;時間表是何時 hold 的唯一依據。若要提前結束暫停,需改時間表或關閉插件。
被 hold 的請求會在窗口結束、請求被 abort、時間表變更使其不再被 hold、或插件卸載時釋放。重啓後,插件會按 $DSH_HOME/offpeak-paused.json 中的記錄,僅恢復由本插件暫停過的 goal。
時間表與時區¶
高峯定價以 北京時間 定義。插件區分:
- Schedule time zone:寫入暫停窗口的時區,屬於時間表身份的一部分。
- Show times in:僅用於展示的時區;修改只會重標時間,不會改變窗口本身。
狀態機在 schedule 時區下求值,瀏覽器與 host 對狀態一致。
設置頁提供 Apply DeepSeek peak hours:將北京時間工作日 09:00–12:00、14:00–18:00(含兩分鐘餘量)換算到你選的 schedule 時區並追加,不改動你的時區、不丟棄已有窗口。若 schedule 時區有夏令時,換算窗口相對北京高峯每年會漂移兩次;設置頁說明可用北京時間表達 schedule 以避免漂移。
餘額與 spend 圖表(可選)¶
開啓 Show API balance 且已在 Models 頁保存 DEEPSEEK_API_KEY 時,host 讀取 DeepSeek 賬戶餘額並在 header 展示;懸停可看 spend 分解,點擊可看近八小時、十分鐘粒度的柱狀圖。僅暫停窗口不依賴 API Key。
- Key 不離開 host;瀏覽器經認證路由獲取衍生數字。
- Spend 爲餘額 下降 之和,充值不會抵消真實 spend。
- 插件 enabled 時每五分鐘採樣一次(不限於展示餘額時),寫入
$DSH_HOME/offpeak-history.json(288 條樣本,約 24 小時)。 - 歷史從插件啓用後開始,無法還原安裝前的用量。
餘額 API 返回賬戶本幣(可能 USD 或 CNY)。Balance currency 可覆蓋符號,並在選定固定符號時配置 CNY per USD 做換算。
界面提示¶
窗口即將或正在打開時,header 會顯示通知及 Dismiss。Dismiss 僅在本頁會話內靜音該次窗口;換聊天不會再次出現,刷新頁面會重新提示。不同窗口視爲不同 occurrence,都會公告。
安裝與啓用¶
要求:帶 web profile 的 DeepSeek Harness。餘額與 spend 圖需要 Models 頁配置 DEEPSEEK_API_KEY;暫停本身不需要。
從 GitHub 安裝:
dsh plugin --profile web add github:TetraSsky/dsh-offpeak
本地 checkout 安裝:
dsh plugin --profile web add <path-to-this-package>
然後在 $DSH_HOME/profiles/web/package.json 的 dsh.profile.bundles 中加入 dsh-offpeak,並重啓。包的 cordis.patch.yml 會插入對應行。
配置落在 $DSH_HOME/settings.yaml 的 offpeak 命名空間下。插件還會在 $DSH_HOME 寫入 offpeak-history.json(餘額採樣)與 offpeak-paused.json(本插件暫停的 goal 記錄)。
典型用法¶
- 安裝並加入 bundle,重啓 DSH web profile。
- 在插件設置中打開 Enable off-peak pause。
- 選擇 Schedule time zone,配置 Pause windows(
pauseAt–resumeAt及各自 weekdays)與 Days that pause(週末默認 off-peak,通常不納入)。 - 需要對齊官方高峯時,使用 Apply DeepSeek peak hours 追加窗口,再按需微調。
- Applies to 默認僅 DeepSeek official routes(高峯定價僅存在於官方路由);也可選全部調用。
- 可選:開啓 Show API balance、配置 Balance currency;用 Warn before pause 控制提前多久出現 header 通知。
語言隨 Harness 的 zh / en 切換,插件無單獨語言項。
適用場景與注意¶
適合:長期用 DSH web profile 跑智能體、主要走 DeepSeek 官方路由、希望在已知高峯段自動停發請求以按 off-peak 計費的用戶。
注意:
- 窗口內任務會等待,不適合對延遲極度敏感且無法錯開高峯的在線交互。
- 無 per-request 跳過;臨時要發請求需改時間表或關插件。
- 插件以當前 DSH 進程權限運行,安裝前請自行查看 源碼 與 MIT 許可證,確認可接受其行爲與文件讀寫範圍。
- 夏令時時區下,若用「Apply DeepSeek peak hours」換算窗口,相對北京高峯可能漂移;可按 README 改用北京時間作 schedule 時區。
結尾¶
dsh-offpeak 把「高峯不發出、低峯自動續」做成 DSH 內建工作流:request gate、goal freeze 與 offpeak_status 一起定義暫停語義,時間表以 schedule 時區爲準,並可一鍵追加 DeepSeek 官方高峯段。需要成本可見性時,可疊加餘額與 spend 圖表。