dsh-provider-quota:提供方共享限流与 GUI 配置

前言

在 DeepSeek Harness(DSH)里接入多个模型提供方时,速率限制往往分散在客户端、脚本或口头约定里,跨进程并发时更难对齐 RPM、TPM 和周期 token 上限。提供方返回 429 后,还需要与 DSH 自带的重试链路配合,避免同一 waterfall 里重复调用 next()。

下面介绍社区插件 dsh-provider-quota(维护者 Fulisike,分类:模型推理)。它为已配置的提供方提供共享滚动限额、跨进程串行与持久记账,并在 Web 设置里提供原生表单入口;大上下文场景下可与 DSH 压缩能力衔接,由官方 dsh-llm-retry 负责恢复。

这是什么

dsh-provider-quota 是 DSH 的提供方共享限流插件,带原生 GUI 设置。所有模型共享滚动 RPM、输入与输出合计 TPM、7 天 token 额度;跨进程串行请求并持久记账。本插件不会在同一 waterfall 中重复调用 next(),恢复由官方 dsh-llm-retry 处理。

当前包版本为 2.1.1(MIT 许可证)。目录页:Skillhub 插件页。

核心功能

共享额度与串行

  • 三个维度可配:滚动 60 秒请求数、滚动 60 秒 token 总数(含输入与输出)、滚动 7 天 token 总数。
  • 各额度支持 -1 表示不限制该项;0 无效。
  • 使用同一统计目录的进程通过文件锁共享状态,每个提供方最多一条请求在途;跨进程不保证 FIFO。

发送前预算与结算

发送前保存输入估计与输出预留,结算时使用提供方返回的 actual usage。缺少 usage 的尝试会保留预留(可能高估);输入估计会根据实际 usage 向上校准。token 窗口从结算时起算,RPM 从发送时起算。

本地计数无法覆盖其他客户端、其他机器或安装前未记录的用量,也无法完全复现提供方 tokenizer 和限流口径,仍可能遇到 429。

超大单次请求与自动压缩

当单次调用在本地预计已超限(LOCAL_REQUEST_TOO_LARGE)时,请求尚未发出;多等一分钟不能缩小这次调用。

默认先计算完整请求的输入估计、最大输出和 4096 token 余量。单次可容纳时保留历史,仅滚动窗口余额不足时排队等待;单次预算放不下时,通过 DSH 原生压缩服务生成摘要。主请求默认最大输出为 16384 token。可选固定提前压缩阈值位于高级设置,默认 -1(仅按单次预算触发插件压缩)。

分段恢复由插件的自动请求恢复触发;一次恢复默认最多连续压缩 4 段。关闭插件的自动压缩开关不会关闭 DSH 自身的压缩策略或 /compact。

Web 设置界面

安装后重启 DSH 并刷新页面,在 设置 → 提供方限流 选择已配置的提供方,调整参数并点击 保存并应用。新安装默认不限制任何提供方;第一次保存会启用所选提供方的共享额度。界面支持中英文,字段变更走 DSH 原生配置表单,保留密钥和其他提供方设置。

限流参数保存后在线生效;不要同时启用其他限流插件。

安装与启用

需要 Node.js 24.9+ 和兼容的 DSH 0.2.2(package.json 中 engines:dsh 为 >=0.2.2-rc.1 <0.3.0)。

在 DSH 的「插件 → 添加插件」输入仓库 URL,或使用官方安装命令:

dsh plugin --profile web add github:Fulisike/dsh-provider-quota#main

仓库提交了包含运行依赖的 ESM 产物,安装时无需构建,也不依赖嵌套的 node_modules 链接。Desktop 通过自己的插件管理器安装;不要用普通 npm CLI 修改保留的 desktop profile。

从 2.0.x 升级时,重新执行安装命令并重启 DSH;原有额度、账本和明确配置的提前压缩阈值保留。既有配置若需预算驱动压缩,将高级设置中的固定提前压缩阈值改为 -1。

常用参数

默认显示三个共享额度、单次最大输出、自动压缩开关、无输出等待时间和最多重试次数。

参数 默认值
滚动 60 秒请求数 10
滚动 60 秒 token 总数 300000
滚动 7 天 token 总数 1000000000
自动压缩 开启
主请求最大输出 16384 token

高级设置示例:最短发送间隔 7000 ms(-1 表示不额外间隔)、固定提前压缩阈值 -1、一次恢复最多连续压缩 4 段、单次额外余量 4096 token、初始输入估计系数 1.25、429 共享冷却下限 60000 ms 等。高级配置仍可写入 profile 的 cordis.patch.yml。

存储位置

计数默认存放在 $DSH_HOME/storages/provider-quota(默认 home 为 ~/.dsh),也可在 provider-quota.config.stateDirectory 配置绝对目录。关闭插件不会删除账本;卸载会等待在途请求结算。

适用场景与注意

  • 适合:在同一台或多进程 DSH 环境中,需要对某一提供方做统一 RPM/TPM/周额度控制,并希望在 Web 里直接改参、在线生效的开发者。
  • 权限:插件以当前 DSH 进程权限运行,安装前应阅读 GitHub 仓库 源码与 MIT 许可证。
  • 局限:本地账本不能替代提供方侧全局限流;周额度不足时会停止并显示最早释放部分额度的时间。
  • 生态:DSH 理念是「一切皆插件」;Skillhub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-provider-quota 把提供方级的滚动限额、跨进程记账和 Web 配置收拢到一处,并与 DSH 重试、压缩链路分工明确。若你正在用 DSH 管理多模型提供方,可从目录页或 GitHub 安装,在「设置 → 提供方限流」完成首次保存与调参。

  • 目录页:https://www.skillhub.cn/plugins/Fulisike/dsh-provider-quota
  • GitHub:https://github.com/Fulisike/dsh-provider-quota
羽毛球分组比赛记分
小程序二维码

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

Xiaoye