前言¶
在 DeepSeek Harness(DSH)裏走 OpenCode Go 等推理通道時,部分 DeepSeek 模型會在特定時段按倍率加價。若智能體在峯時仍持續發起流式請求,賬單和調試成本都會抬升。手動記時間表或改代碼硬編碼窗口,既難維護,也難跟上廠商改價。
dsh-peak-guard 是維護者 yamahei21python 發佈的 DSH bundle,分類爲模型推理。它在發請求前讀取提供商模型目錄中的 cost.multipliers,僅在判定爲峯時且未手動解除時攔截調用,並以可復現的 CLI 做短時放行。
這是什麼¶
dsh-peak-guard(npm 包名同插件 id)面向已使用 DSH、且通過配置中的 provider(默認 opencode-go)路由 LLM 調用的開發者。插件不替換你的 API Key、endpoint 或模型列表行,只增加峯時守衛邏輯;峯時窗口不寫死在倉庫裏,而是隨 opencode-go 目錄更新。
許可證爲 MIT;package.json 標明版本 0.1.0,DSH 引擎要求 >=0.2.0-rc.1 <0.3.0(developer preview 階段)。
核心功能¶
下面介紹插件在資料中明確描述的行爲。
- 掛載點:掛鉤
llm/streamwaterfall,在流式推理發出前介入。 - 目錄拉取:請求
https://opencode.ai/inference/go/v1/models(10 分鐘緩存;失敗時保留上次成功目錄;失敗負緩存 60 秒)。 - 峯時判定:用當前 UTC 時間評估各模型
cost.multipliers[].when(utc_days、utc_hours及gte/lt、any/all)。 - 攔截方式:命中峯時且無有效 bypass 時,產出終端
finish片段,code: PEAK_GUARD,語義上對應 HTTP 429,回合乾淨結束而非進程崩潰。 - 目錄不可用時的回退:使用文檔記載的平日窗口 UTC
01:00-04:00與06:00-10:00(對應 JST 平日 10:00-13:00 / 15:00-19:00 一類表述,以目錄爲準)。 - 守衛範圍:僅阻止經配置的 provider id 發出的調用(默認
opencode-go);Claude Code、Codex 等其他客戶端不在此包覆蓋範圍內。
攔截時用戶可見的示例輸出(README 日文說明)大意如下:當前模型因峯時倍率停止,並提示剩餘峯時時間與臨時解除命令 npx dsh-peak off。
安裝與啓用¶
先做插件安裝,再重啓 DSH。bundle 安裝會把 guard 行寫入 profile,無需手寫插入 cordis.patch.yml 中的 guard 片段。
npm(推薦):
dsh plugin --profile web add dsh-peak-guard
未走 registry、從 GitHub 添加時:
dsh plugin --profile web add github:yamahei21python/dsh-peak-guard
安裝完成後重啓 dsh。
提供商配置:bundle 只安裝守衛;模型 provider 行仍由你維護(API Key、endpoint、models)。OpenCode Go 的示例片段見倉庫 README,路徑爲 ~/.dsh/profiles/web/cordis.patch.yml,包含 llm-pi-ai 下 opencode-go 的 baseURL、models 列表,以及 agent-default-model 的 provider / model 指向。密鑰可通過 DSH Models 頁的 credentials 服務保存,或導出環境變量 OPENCODE_GO_KEY。
可選的插件級覆蓋(cordis.patch.yml 中 peak-guard 行):
- id: peak-guard
config:
providers: [opencode-go]
modelsUrl: https://opencode.ai/inference/go/v1/models
典型用法:峯時攔截與手動解除¶
經上面的步驟啓用後,峯時內請求會被擋住。需要臨時繼續開發時,用包自帶的 dsh-peak 二進制(通過 npx 調用):
npx dsh-peak off # 60 分鐘
npx dsh-peak off 30 # 30 分鐘
npx dsh-peak on # 立即恢復攔截
npx dsh-peak status
狀態寫入默認與 OpenCode guard 共用的狀態文件,形如:
{"until":1794017000000,"minutes":60,"set_at":"2026-11-07T02:00:00.000Z"}
可用環境變量 DSH_PEAK_BYPASS 覆蓋狀態文件路徑。守衛採用 fail-closed:文件缺失或損壞時,峯時內仍視爲應攔截。
本地開發可強制行爲:
PEAK_GUARD_FORCE=peak dsh web # 始終攔截
PEAK_GUARD_FORCE=off dsh web # 始終放行
適用場景與注意¶
適合:已在 DSH web(或其它已配置 profile)中使用 OpenCode Go 調用 DeepSeek,希望自動跟目錄倍率、又保留可控的短時 bypass 的開發者。
需注意:
- 插件在當前 DSH 進程權限下運行;安裝前請自行查看 GitHub 源碼 與 MIT 許可證。
- 價格與峯時窗口完全來自提供商目錄,本包不隨倉攜帶價目表。
- 需要全客戶端統一控費時,應在網關層另做 guard,而非僅依賴此 bundle。
- DSH 仍爲 developer preview,
engines.dsh版本區間較窄,升級 DSH 主版本前請覈對兼容性。
結尾¶
dsh-peak-guard 把峯時判斷交給模型目錄、把放行交給 dsh-peak,在 DSH 流式路徑上減少無意高價調用。目錄介紹見 SkillHub 插件頁,安裝與配置細節以 GitHub 倉庫 README 爲準。