dsh-sensenova-suite:商汤多账号 Key 池与 DSH 接入套件

前言

在 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),简述如下:

  1. 分类:按响应体 error.code 区分 TPM 桶与 RPM 桶(不看 message 文案)。
  2. Key 状态机:TPM 桶连续 3 次可将 Key 踢入阻塞态,驻留 10 分钟后时间门放回;运行态至少保留 1 把永不踢出,避免池空。
  3. 额度账本:所有 429 形状记账,连续段满 30 分钟且无成功时,对 (key, 积分组) 打池格(30 分钟 TTL);全组格满抛 ACCOUNT_QUOTA。
  4. 请求编排:单次请求 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

安装与启用

  1. 在 DSH 插件界面 安装本插件,安装来源可为 GitHub 或 npm 包名,安装后 重启 DSH。

GitHub:

https://github.com/QZJ903/dsh-sensenova-suite

npm 包名:

dsh-sensenova-suite
  1. 打开插件面板「积分额度」,登录商汤控制台查看额度(可多账号切换)。
  2. 在「接入 API」保存一枚 sk- Key 作为池中第一把 Key。
  3. 若要在 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 内有逐键中文注释。

典型用法流程

  1. 安装并重启 DSH 后,先入池至少一把 不同账号 的 sk- Key;需要吞吐时在「接入 API」继续添加并调节全局并发。
  2. 日常对话若只用商汤额度监控、不接 LLM:可保持 registerProvider 关闭,插件仍可展示积分与胶囊。
  3. 要在 Cursor / DSH 主流程中选商汤模型:打开「向 DSH 注册」,按模型需要调整降级链三槽与思考档位;高频模型可把 SenseNova 6.8 Flash Lite 与亲和 Key 策略配合使用。
  4. 主模型不支持图片时拖图:保持读图桥开启;若主模型已在可看图列表,无需转述。
  5. 排障:先 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 的开发者按面板分步启用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜