DeepSeek Harness 插件:LLM 调用限速器

前言

DeepSeek Harness(DSH)采用插件化架构,允许开发者扩展其功能。在开发智能体或多并发场景下,频繁调用 LLM 接口容易触发 API 速率限制,或导致资源过度占用。dsh-llm-rate-limiter 作为一个插件,旨在为每个模型提供独立的调用频率控制,解决这一问题。

插件简介

这是一个针对 DeepSeek Harness 的 LLM 调用限速插件。它由开发者 Leafyezi233 维护,遵循 MIT 许可证。插件支持按模型配置并发数、RPM(每分钟请求数)和突发流量限制,并提供队列或拒绝两种处理策略,同时内置交互式 GUI 配置面板和实时状态监控。

核心功能

  1. 按模型独立限流:可以为不同的 provider/model 组合设置独立的并发上限、RPM 和突发大小。
  2. 双算法支持:提供令牌桶算法(允许突发)和滑动窗口算法(平滑且严格限制 RPM)。
  3. 队列与拒绝模式:当触发限流时,请求可选择在队列中等待,或直接被拒绝(可配合重试插件实现退避)。
  4. 交互式 GUI 配置:在 DSH 的设置界面中,可以直接展开“LLM 调用限速”卡片进行配置,无需编辑文件。
  5. 实时状态面板:展示实时计数器、进度条和事件日志,监控限流运行状况。
  6. 热重载:修改配置后无需重启 DSH 进程,设置即时生效。
  7. 全链路拦截:拦截所有智能体回合中的 llm/stream 调用。

安装与启用

安装插件需要 DeepSeek Harness 的命令行工具。

  1. 在终端执行以下命令添加插件:
    dsh plugin add <your-profile> @leaf233/dsh-llm-rate-limiter
其中 `<your-profile>` 替换为你的配置文件目录名称。
  1. 确保插件已添加到 profile 的 package.json 依赖中,插件会自动识别 cordis.patch.yml 入口。

典型用法

配置方式分为通过图形界面和编辑配置文件两种。

通过 GUI 配置

  1. 启动 Web 界面:dsh web。
  2. 进入 Settings → Plugins。
  3. 在 Official 分组中找到 LLM 调用限速 卡片。
  4. 点击展开,在表单中配置默认策略、模型特定覆盖规则以及限流行为。

通过文件配置

编辑 profile 目录下的 cordis.patch.yml 或 settings.yaml,在顶层定义 llm-rate-limiter 策略。示例如下:

llm-rate-limiter:
  enabled: true
  strategy: token-bucket       # 算法选择:token-bucket 或 sliding-window
  defaults:
    maxConcurrent: 5           # 默认最大并发数
    maxRpm: 60                 # 默认每分钟请求数
    burstSize: 10              # 令牌桶容量(仅 token-bucket)
    refillRate: 1              # 令牌每秒补充数(仅 token-bucket)
  models:
    "deepseek/deepseek-chat":
      maxConcurrent: 8
      maxRpm: 120
    "openai/gpt-4o":
      maxConcurrent: 2
      maxRpm: 10
      burstSize: 3
  onThrottled: queue           # 触发限流时的行为:queue(排队)或 reject(拒绝)
  maxQueueWaitMs: 60000        # 最大排队等待时间(毫秒)

注意事项与适用场景

  1. 版本依赖:当前版本(v0.3.0)要求 DSH 版本不低于 0.1.7-rc.1。如果在旧版本上使用,请锁定 @leaf233/dsh-llm-rate-limiter@0.2.x。
  2. 依赖检查:如果框架的 connection.requestRejection 不可用,插件将拒绝挂载,而不是发布未认证的路由。
  3. Git 安装限制:通过 GitHub URL 安装时,可能会因 pnpm 的 allowBuilds 限制报错。此时需要在 profile 根目录的 pnpm-workspace.yaml 中添加该插件名称,然后重新运行安装命令。
  4. 生态定位:这是社区插件,与 DeepSeek / 幻方无官方从属关系,请自行审查源码与许可证。

总结

dsh-llm-rate-limiter 提供了一套从算法选择到实时监控的完整解决方案,适合需要在 DSH 环境下精细化控制 LLM 调用频率的开发者。通过其 GUI 面板,可以直观地调整策略和观察运行状态,降低开发调试成本。

插件主页:https://github.com/Leafyezi233/dsh-llm-rate-limiter
社区目录:https://www.skillhub.cn/plugins/Leafyezi233/dsh-llm-rate-limiter

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

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

小夜