DeepSeek Harness 插件

dsh-llm-rate-limit

LLM API rate limiting, concurrency control, queuing, and adaptive cooldown for DeepSeek Harness(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Asong6824/dsh-llm-rate-limit
最近更新
2026年8月20日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Asong6824/dsh-llm-rate-limit
插件名:dsh-llm-rate-limit
作者:Asong6824

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-llm-rate-limit

![npm](https://www.npmjs.com/package/dsh-llm-rate-limit) ![downloads](https://www.npmjs.com/package/dsh-llm-rate-limit) ![CI](https://github.com/Asong6824/dsh-llm-rate-limit/actions/workflows/ci.yml) ![license](LICENSE)

English | 中文

用于 DeepSeek Harness(DSH)的 LLM API 主动限流插件,在请求到达提供方之前平滑流量。它为 DeepSeek API、火山方舟及其他 DSH 提供方提供独立的 RPM、可选 Token 预算、并发控制、有界 FIFO 队列和自适应冷却。

当并行 Agent、Subagent、重试或后台请求导致 HTTP 429、提供方限流或突发流量时,可以使用本插件。

从 npm 安装

安装最新版到 Web profile:

dsh plugin --profile web add dsh-llm-rate-limit
dsh web

生产环境可以固定版本:

dsh plugin --profile web add dsh-llm-rate-limit@0.1.1

Headless profile 需要单独安装:

dsh plugin --profile headless add dsh-llm-rate-limit

也可以从 GitHub 安装:

dsh plugin --profile web add github:Asong6824/dsh-llm-rate-limit#v0.1.1

Bundle 默认保护 deepseek-official:每分钟 30 次请求、突发 1、并发 2,并启用有界队列。

功能

  • 每个提供方独立的 RPM Token Bucket 和可配置突发容量。
  • 可选的每分钟估算 Token 预算,并根据实际用量校正。
  • 并发限制、有界 FIFO 队列、超时与取消。
  • 根据提供方错误码、HTTP 状态和 Retry-After 自适应冷却。
  • 可拒绝辅助请求,避免后台流量阻塞主要任务。
  • 记录准入等待与开始事件,便于分析 DSH Session。
  • 卸载时等待活动请求并妥善处理排队请求。
  • 每次 dsh-llm-retry 重试都会重新准入;本插件自身不执行重试。

配置 DeepSeek 和方舟

$DSH_HOME/profiles/<profile>/cordis.patch.yml 中覆盖完整的 llm-rate-limit 配置:

- id: llm-rate-limit
  config:
    providers:
      deepseek-official:
        requests: { perMinute: 30, burst: 1 }
        maxConcurrentRequests: 2
        queue: { maxSize: 100, maxWaitMs: 300000, auxiliary: reject }
        cooldown:
          codes: [RATE_LIMIT, SERVER]
          statuses: [429, 529]
          initialDelayMs: 500
          maxDelayMs: 60000
          maxProviderDelayMs: 3600000
          jitterRatio: 0.1
      volcengine-ark-coding:
        requests: { perMinute: 30, burst: 1 }
        maxConcurrentRequests: 2
        queue: { maxSize: 100, maxWaitMs: 300000, auxiliary: reject }

提供方键必须与 GenerateOptions.provider 完全一致。可选 Token 限流配置为:

tokens:
  perMinute: 1000000
  burst: 200000
  estimatedOutputTokens: 8192
  imageTokens: 1024

tokens.burst 必须容纳一个完整请求估算。不需要本地 Token 上限时省略 tokens,RPM 和并发控制仍然生效。

工作原理

每次调用提供方前,插件会预留请求容量、估算 Token 容量和并发槽位。容量不足的请求按 FIFO 顺序等待。提供方返回限流错误后,所有相关请求共享冷却时间;成功响应会用实际 Token 用量校正估算。状态仅存在于当前进程,DSH 重启后重置。

插件不提供分布式配额、自动重试或提供方故障转移。

兼容性与链接

开发

pnpm install
pnpm run check

MIT