🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

限流恢复节流器 JuwanXu/dsh-camel

DeepSeek Harnessv0.2.2
JuwanXu50 天前有提交已提供中文文档扫描:未发现敏感能力

按模型额度自动节流并等待重试,避免免费模型限流中断任务

30.6/100
综合分
1
GitHub 星标
179
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-camel
npm 源 · dsh-camel 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · model
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 50 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-camel @ 0.2.2
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 09:40:06

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-loop@deepseek-ai/dsh-agent-loop-testkit@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-retry@deepseek-ai/dsh-scope@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按模型额度自动节流
  • 等待重试
  • 恢复免费模型

DeepSeek Harness 插件,按服务商和模型自适应调节限流节奏,重试可见,还能恢复免费模型。

README

由 DeepSeek 最新模型翻译生成
dsh-camel English:README.md dsh-camel 是 DeepSeek Harness 中按需启用的免费模型限流恢复插件。它组合提供商/模型感知的自适应额度学习、主动请求节流、Retry-After 感知重试、可见重试状态、单任务配置和带 session 的活动/额度事件。当内置重试路径放弃处理 RATE_LIMIT 失败时,Camel 可以通过可配置的等待继续保持任务运行,避免高频限流的免费模型直接中断任务。 0.2.x 还包含固定或自适应节流、有限或无限重试模式、按“单任务 session override > 插件 defaults > 内置默认值”生效的单任务覆盖、/camel status 与 /camel explain、暂停/恢复控制、精确 (provider, model) 学习隔离、可用于 resume/fork 的事件回放,以及持久化不可用或路由信息不完整时的安全降级。Camel 不会调用大模型判断错误或调优策略。 安装后所有执行策略均为关闭状态。安装本包或注册可选的 /camel 命令,都不会让任何请求自动节流或重试。 Camel 与同类插件的差异 如果主要问题是免费模型的 RATE_LIMIT 恢复和按额度感知的请求节流,应选择 dsh-camel。下面的项目在“恢复”方面有重叠,但解决的是不同层次的问题。
展开完整文档(README 剩余 1 节)
dsh-camel

English:README.md

dsh-camel 是 DeepSeek Harness 中按需启用的免费模型限流恢复插件。它组合提供商/模型感知的自适应额度学习、主动请求节流、Retry-After 感知重试、可见重试状态、单任务配置和带 session 的活动/额度事件。当内置重试路径放弃处理 RATE_LIMIT 失败时,Camel 可以通过可配置的等待继续保持任务运行,避免高频限流的免费模型直接中断任务。

0.2.x 还包含固定或自适应节流、有限或无限重试模式、按“单任务 session override > 插件 defaults > 内置默认值”生效的单任务覆盖、/camel status 与 /camel explain、暂停/恢复控制、精确 (provider, model) 学习隔离、可用于 resume/fork 的事件回放,以及持久化不可用或路由信息不完整时的安全降级。Camel 不会调用大模型判断错误或调优策略。

安装后所有执行策略均为关闭状态。安装本包或注册可选的 /camel 命令,都不会让任何请求自动节流或重试。

Camel 与同类插件的差异

如果主要问题是免费模型的 RATE_LIMIT 恢复和按额度感知的请求节流,应选择 dsh-camel。下面的项目在“恢复”方面有重叠,但解决的是不同层次的问题。

| 同类插件 | 主要关注点 | Camel 增加的能力或明确不做的事 |
| @syncended/dsh-retry | 通用/瞬时模型错误重试、provider 过滤、指数退避和 Retry-After | Camel 专注限流:可在触发限流前节流,按精确 provider/model 学习额度,并在配置范围内长时间或无限等待;不替代通用模型错误重试。 |
| dsh-client-auto-continue / dsh-auto-continue | Web UI 中断后发送配置好的“继续”消息,并提供退避、循环和幂等护栏 | Camel 工作在 agent request-error/retry 边界,写入标准 llm/retry 与 llm/retry-started 事件,不注入用户消息,也不依赖浏览器界面。 |
| @linxin666/dsh-chat-recovery | 在 Web UI 手动编辑上一条消息、Fork session 并重试失败回合 | Camel 自动等待/重试限流,不改写消息,也不 Fork 会话。 |
| @deepseek-ai/dsh-llm-retry | 官方的精确 provider agent-loop 重试、持久化重试事件和 bounded/always 策略 | Camel 是互补的额度层:先让下游重试处理器决定,只有合适且未处理时才接管,避免重复重试事件,同时增加自适应节流和免费模型专用恢复。 |

以上是能力范围对比,不代表推荐或背书;具体行为应以各项目当前版本为准。Camel 不会切换模型、轮换账号,也不会调用模型判断错误类型。

dsh-continue 与 Camel 是互补关系,不是这里的同类对比对象:项目同时需要 Camel 的 RATE_LIMIT 保护和 Continue 的非限流网络恢复/安全无人值守决策时,可以一起安装。默认情况下,Camel 负责限流,Continue 负责 TIMEOUT、TRANSPORT 和 SERVER 恢复。

安装

将 bundle 加入目标 profile:

dsh plugin --profile add dsh-camel

npm 默认入口为本仓库的英文 README。包导出面保持为 dsh-camel 和 dsh-camel/cordis.patch.yml。

单命令任务预设

只有宿主提供可选 commands 服务时才会注册命令。命令只作用于当前任务,不会修改 profile。

/camel preset recover
/camel preset adaptive
/camel preset bounded

- recover:开启无限次 RATE_LIMIT 重试,关闭两种节流。
- adaptive:开启无限次 RATE_LIMIT 重试和自适应节流,关闭固定节流。
- bounded:开启五次 RATE_LIMIT 重试,关闭两种节流。

/camel off 会持久化地关闭当前任务的全部 Camel 策略。/camel reset 会删除该任务覆盖,重新继承插件默认配置;因此已显式开启的全局策略可能重新生效。存在 session 时,/camel set、全部预设、/camel off、/camel reset 和 ctx.camel.setTaskConfig() 都会先追加 camel/config,再修改内存覆盖。该追加抛错时,操作会抛错,保留原有覆盖,不会产生部分持久化或部分内存变更。这与 pause control 的本地降级语义有意不同。

配置与优先级

defaults 为可选项。内置值包含 throttle、retry 和 adaptive 的数值参数,但三者的 enabled 均为 false。

单任务 session override > 插件 defaults > 内置参数默认值

下面是包含两条精确 provider/model 路由的高级 profile 配置:

- id: camel
config:
defaults:
retry:
enabled: true
mode: unlimited
fallbackDelayMs: 60000
throttle:
enabled: true
maxRequests: 20
windowMs: 60000
scope: route
adaptive:
enabled: false
initialRequests: 10
minRequests: 1
maxRequests: 20
windowMs: 60000
safetyRatio: 0.85
decreaseRatio: 0.7
increaseAfterWindows: 3
stateTtlMs: 86400000
routes:
- provider: provider-a
model: model-v3
enabled: true
initialRequests: 8
maxRequests: 12
- provider: provider-b
model: model-r1
enabled: true
initialRequests: 4
maxRequests: 6

请将示例路由替换为 Harness adapter 实际解析出的精确 request.provider 与 request.model 字符串。路由按精确二元组匹配,不使用展示名称、前缀、通配符或错误消息猜测。同一 provider 下的不同 model 不会共享已学习额度。model 缺失或为空时,该请求不进行自适应读取或写入;固定节流与 RATE_LIMIT 重试仍按各自已启用的策略执行。

某条已解析路由开启自适应节流后,自适应策略独占该路由的节流;不会再叠加固定 throttle。自适应准入上限为 max(minRequests, floor(learnedRequests × safetyRatio));匹配的 RATE_LIMIT 用 decreaseRatio 降低已学习次数,连续干净窗口在达到 increaseAfterWindows 后可逐步加一。学习值受 minRequests 和 maxRequests 约束,在 stateTtlMs 后过期;插件不会调用模型来判断失败类型或调优策略。

同一条已解析的 provider/model 路由只保存一份规范的共享学习状态。单任务的 minRequests、maxRequests 与干净窗口阈值只用于该任务的准入和展示视图;仅仅读取状态绝不会改写其他任务的已学习容量或 TTL。在同一个存活的运行时内,同一时间戳的 session 快照会在不依赖任务启动顺序的前提下保守合并;同一状态版本以更短 TTL 为准。后续真实的学习状态变更可以按产生该变更的策略重新设定 TTL。新的 quota 快照还会记录当前 rateLimitedInWindow 标记;缺少该字段的旧快照会被保守地恢复为“当前部分窗口可能已经限流”。

所有次数必须是正安全整数,比例必须是 (0, 1] 内的有限值,并满足 minRequests <= initialRequests <= maxRequests。bounded 重试必须提供 maxRetries。未知或非法字段会 fail closed,不会以部分有效策略运行。

状态、暂停与解释

/camel status
/camel explain
/camel pause 10m
/camel resume

status 输出 JSON,其中包含任务覆盖、最终生效策略、暂停截止时间、最近活动和已触及路由的快照。explain 给出简短的当前原因,例如自适应节流或已安排的重试。pause 默认十分钟,接受正整数加 ms、s、m 或 h 后缀。暂停期间 Camel 会下放处理,不会节流或接管重试;resume 清除暂停。

重试与持久化边界

Camel 只处理已配置的限流错误码(默认 RATE_LIMIT),并先让下游恢复策略决定。在同时安装 dsh-continue 的环境中,非限流网络恢复仍由 dsh-continue 负责;只有下游拒绝后,Camel 才可能接管 RATE_LIMIT。Camel 不轮换账号、不选择或回退模型、不回答澄清问题、不批准操作,也不基于模型调用作判断。

成功接管会写入标准 llm/retry 和 llm/retry-started 事件。Camel 还使用以下 version 1、对模型不可见的 session 事件形状:

'camel/config': { version: 1, override: CamelPolicyPatch | null, source: 'command' | 'api' }
'camel/control': { version: 1, pausedUntil: number | null }
'camel/quota': AdaptiveQuotaSnapshot & { version: 1 }
// AdaptiveQuotaSnapshot = { route, learnedRequests, cooldownUntilMs, cleanWindows, windowStartedAtMs, updatedAtMs, rateLimitedInWindow? }
'camel/activity': { version: 1, kind, provider, model?, attempt?, reasonCode?, deadlineMs?, policySource }

kind 只能是 pacing、cooldown、retry-scheduled、retry-started、delegated、cancelled 或 exhausted;policySource 只能是 adaptive、throttle 或 retry。标准 llm/retry 包含 retryId、turn、step、provider、retry、delayMs、failure 和 Camel 的 policyKey,且始终包含 mode;只有 bounded 模式包含 maxRetries。llm/retry-started 包含 retryId、turn、step 和 retry(它没有 provider 字段)。新的 Camel retryId 可以编码已解析的 model;旧 provider-only ID 仍可读取,以兼容 retry 历史。

既有的 version 1 camel/config 与标准 retry 历史仍可读取,因此 resume 或 fork 后可以保留兼容的任务配置和重试序号。成功追加到 session 的 quota 和 control 事件可在 resume 时回放。在同一个存活的 Camel runtime/plugin instance 内,相同精确 provider/model route 的任务共享 adaptive 状态;不同 runtime instance、不同进程,以及没有 resumed event 回放的 session 不共享。

自定义 quota 或 activity 持久化失败时,Camel 记录告警并使用内存状态继续请求。pause control 持久化失败时,暂停仍在当前存活任务中生效,同时记录告警。必需的标准 retry 事件无法追加时,Camel 不会返回未记录的 retry 决定。

职责边界

Camel 有意不处理账号或 Key 轮换、provider 重配置、模型切换、自动模型回退、全局额度存储和非限流网络恢复。请使用 dsh-continue 已实现的任务续行能力;本包不会声称 dsh-continue 尚未实现的能力。
预览分享卡片长什么样 ↓JuwanXu/dsh-camel
分享 · DeepSeek Harness Hub
JuwanXu/dsh-camel

按模型额度自动节流并等待重试,避免免费模型限流中断任务

这是你的仓库?认领条目

回到顶部