前言¶
在 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 的开发者按面板分步启用。