前言¶
在 DSH 裏接商湯 SenseNova,常見麻煩不在「能不能調通一次」,而在持續運行:多把 sk- 共享額度、429 分 RPM 與 TPM、不同客戶端協議不一致,以及控制台積分與對話用量脫節。零散腳本或單 Key 直連往往只能應付演示,限流和配額一上來就需要人肉換 Key、改配置。
dsh-sensenova-suite(維護者 QZJ903,GitHub:QZJ903/dsh-sensenova-suite)把控制台額度展示、向 DSH 註冊供應商、多賬號 Key 池調度、三協議適配與降級鏈,以及文生圖 / 圖編 / 讀圖轉述收進一個插件。下面按安裝、配置與能力說明可復現的用法與邊界。
這是什麼¶
插件定位是 商湯 SenseNova 在 DSH 下的套件級接入:多賬號 Key 池與 429 限流調度、Anthropic / Responses / Chat Completions 三協議及 per-model 降級鏈、積分與用量監控,外加多模態工具。分類上屬於 DSH 社區目錄中的「模型推理」類插件;當前公開倉庫星標爲 0,版本以 package.json 爲準爲 0.1.2。
憑證經 DSH 憑據服務保存,面板與日誌僅顯示打碼名稱,不回顯明文 Key。
核心功能¶
積分額度與用量膠囊¶
在面板「積分額度」tab 登錄商湯控制台後,可查看積分池(5 小時 / 周兩個滾動窗)、每模型近 24 小時消耗趨勢(僞倍率對比,資料標註爲非官方係數),並支持多賬戶切換。登錄後 token 自動續期;失敗時展示平臺返回原因。
輸入框右側有 用量膠囊:切換不同池內模型時顯示對應積分池,點擊可展開額度卡(原始用量與重置時間)。面板關閉時,僅在「向 DSH 註冊」開啓時,後臺按 providerRefreshMinutes 保鮮供應商相關狀態。
語言模型接入與協議降級¶
「接入 API」tab 中 「向 DSH 註冊」 默認在部署配置裏爲關(registerProvider: false),面板開關可實時覆蓋。打開後插件向 DSH 註冊商湯 LLM 供應商,模型清單由 /v1/models 探測,新模型會自動出現。
每個模型可配置 三個不重複的協議槽位(anthropic / responses / chat-completions,鏈可截短)。默認降級鏈僅爲 chat-completions 單線;若某模型要走 Anthropic 或 Responses 線,需在槽位中自行添加。運行時 Anthropic 上游不穩定時可斷尾降級;鏈上均失敗時 chat-completions 兜底。資料說明:Responses 請求已傳思考檔位,但上游側該參數可能未生效,屬上游問題。
面板還可按模型設置推送勾選、思考檔位、可看圖勾選(目錄自動勾選,手動取消後進入「墓碑」不再自動恢復),並在 cordis.patch.yml 中覆蓋最大輸出與上下文窗口。
多賬號 Key 池與 429 調度¶
在「接入 API」頁保存一枚 sk- Key 即入池(池內無主次 Key 特權)。accounts[] 支持多賬號 { id, label, apiKeyRef },憑據引用名在重載時入池;activeAccount 爲空時純輪轉,可釘選某一賬號 id。
資料強調:每把 Key 應來自不同商湯賬號。同賬號多 Key 共享同一額度池,限流時換到同賬號另一把 Key 無法繞開瓶頸,池無法自動識別同賬號關係,需自行保證跨賬號分佈。
429 處理分四層(詳見倉庫 docs/retry-policy.md),簡述如下:
- 分類:按響應體
error.code區分 TPM 桶與 RPM 桶(不看 message 文案)。 - Key 狀態機:TPM 桶連續 3 次可將 Key 踢入阻塞態,駐留 10 分鐘後時間門放回;運行態至少保留 1 把永不踢出,避免池空。
- 額度賬本:所有 429 形狀記賬,連續段滿 30 分鐘且無成功時,對 (key, 積分組) 打池格(30 分鐘 TTL);全組格滿拋
ACCOUNT_QUOTA。 - 請求編排:單次請求 3 輪 key 輪換 + 抖動等待 5–10s + 第 4 輪;
SenseNova 6.8 Flash Lite模型親和固定第一把 Key,其餘模型與 general 組按池策略輪轉。
401 永久移除 Key。RPM 類 429 輪換 Key 但不計 TPM strike;TPM 類按上述狀態機處理。
globalConcurrency 默認 2,控制全局在途上限(每把 Key 固定併發 1;設爲 0 時跟隨 Key 數量)。
多模態:出圖與讀圖橋¶
部署默認開啓文生圖、圖編與轉述(text2imgEnabled / img2imgEnabled / visionToolsEnabled 缺省爲 true);面板「多模態」tab 可逐工具關閉,且面板曾保存的設置優先於部署默認。
- 出圖:
sn_text2img文生圖、sn_img2img圖片編輯,默認模型sensenova-u1.5-lite,失敗 30s 冷卻,請求走 Key 池。 - 讀圖橋(圖片轉述):純文本主模型拖圖時,由視覺模型(默認
sensenova-6.8-flash-lite)把觀察轉述給主模型續答,界面原圖不動;主模型在「可看圖」集合內時圖片原樣放行。同一張圖進程內只轉述一次(觀察緩存 200 條 FIFO)。
診斷¶
不打開面板也可查看磁盤側狀態:
npm run doctor
機器可讀:
npm run doctor:json
安裝與啓用¶
- 在 DSH 插件界面 安裝本插件,安裝來源可爲 GitHub 或 npm 包名,安裝後 重啓 DSH。
GitHub:
https://github.com/QZJ903/dsh-sensenova-suite
npm 包名:
dsh-sensenova-suite
- 打開插件面板「積分額度」,登錄商湯控制台查看額度(可多賬號切換)。
- 在「接入 API」保存一枚
sk-Key 作爲池中第一把 Key。 - 若要在 DSH 模型列表中使用商湯模型:在「接入 API」打開「向 DSH 註冊」;出圖與轉述在「多模態」中開關。
說明:社區插件目錄站點 skillhub.cn 上的條目 與 DeepSeek / 幻方無官方從屬;安裝前宜自行審閱源碼與 LICENSE,插件以當前 DSH 進程權限運行。
配置要點¶
有兩套配置面:面板狀態(即時生效)與 cordis.patch.yml(部署默認,改後需重啓或重載;與面板同名項時面板實時覆蓋)。常用部署鍵示例:
| 鍵 | 默認 | 說明 |
|---|---|---|
accounts[] |
— | 多賬號與 apiKeyRef |
activeAccount |
"" |
釘選賬號;空則輪轉 |
globalConcurrency |
2 | 全局在途上限 |
modelGroups |
— | 模型 → 積分組映射 |
registerProvider |
false | 是否向 DSH 註冊供應商 |
text2imgModel / img2imgModel |
sensenova-u1.5-lite |
出圖模型 |
visionModel |
sensenova-6.8-flash-lite |
轉述模型 |
consoleBase / apiBase |
平臺默認 | 僅鏡像或代理時修改 |
代碼側默認值集中在 src/host/host-config.ts,cordis.patch.yml 內有逐鍵中文註釋。
典型用法流程¶
- 安裝並重啓 DSH 後,先入池至少一把 不同賬號 的
sk-Key;需要吞吐時在「接入 API」繼續添加並調節全局併發。 - 日常對話若只用商湯額度監控、不接 LLM:可保持
registerProvider關閉,插件仍可展示積分與膠囊。 - 要在 Cursor / DSH 主流程中選商湯模型:打開「向 DSH 註冊」,按模型需要調整降級鏈三槽與思考檔位;高頻模型可把
SenseNova 6.8 Flash Lite與親和 Key 策略配合使用。 - 主模型不支持圖片時拖圖:保持讀圖橋開啓;若主模型已在可看圖列表,無需轉述。
- 排障:先
npm run doctor,再結合面板 Key 列表相位徽標(運行 / 阻塞 / 未入池)判斷是否處於 TPM 阻塞或池格狀態。
適用場景與注意¶
更適合:持有多個商湯賬號、需要在 DSH 裏穩定輪轉 SenseNova API;希望統一處理 RPM/TPM 429 與積分組隔離;或要在同一套環境裏同時看控制台額度、接 LLM、出圖和讀圖橋的場景。
需注意:
- 同賬號多 Key 不能替代跨賬號池化,部署前規劃賬號與
modelGroups積分組映射。 - 模型接入默認關閉,多模態默認開啓;若全部關閉,插件退化爲純額度展示。
- Anthropic / Responses 線與商湯上游行爲相關,異常時以 chat-completions 兜底,必要時查倉庫
docs/sensenova-api-reference與retry-policy.md。 - 插件繼承多個 MIT 生態項目(如 token-plan、provider、freeapi、vision-aid、image 等),譜系見
THIRD_PARTY_NOTICES.md。
結尾¶
dsh-sensenova-suite 把商湯控制台積分、DSH 供應商註冊、多賬號 Key 池與 429 策略、三協議降級鏈和多模態工具疊在同一插件內,適合長期在 DSH 裏跑 SenseNova 的開發者按面板分步啓用。