前言¶
在 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