Skip to content

v0.2.2:按账号和模型记录限流与恢复时间

Choose a tag to compare

@Acoder416 Acoder416 released this 17 Sep 07:59
· 22 commits to main since this release

修复内容

  • 按账号和模型分别记录 HTTP 429 / 业务码 6004 的限流恢复时间,自动尝试同一区域内其他可用账号。
  • 优先解析上游给出的恢复时间和 UTC 偏移,其次采用 Retry-After;缺少有效时间时默认等待 300 秒,可通过 WB_RATE_LIMIT_FALLBACK_SECONDS 调整。
  • 限流记录保存在账号文件中,重启、重新导入或切换启用状态不会清除有效记录;同一账号的其他模型仍可使用。
  • 所有候选账号在当前模型上均受限时,后续请求返回带最早 resetAt 的 429,到期前不重复请求上游。
  • 账号卡片显示受限模型和预计恢复时间;保留 Chat Completions / Responses 的上游错误内容和有界的 502/503/504 账号切换。
  • 更新中英文 README。多个账号均返回 429 不代表已证明共享 IP 限流,各账号的恢复时间分别保存。

安装或升级

先停止 DSH,并私下备份 profile 配置、锁文件及 $DSH_HOME/workbuddy/。然后安装固定标签:

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.2"

在 DSH 源码目录中使用 pnpm dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.2"。安装后重启整个 DSH 并刷新页面;仅重启 Python 网关不会更新已加载的宿主代码。

回退

dsh plugin --profile web add "github:Acoder416/dsh-plugin-workbuddy-gateway#v0.2.1"

停止 DSH 后执行,完成后重启。回退仅恢复旧版代码,不会撤销账号操作或自动恢复配置;需要恢复数据时使用自己的备份。v0.2.1 使用旧版限流处理逻辑。

验证

  • Windows 本地:97 项 JavaScript 测试、30 项 Python 测试通过;两项 DSH 集成脚本、包检查和打包内容检查通过。
  • 新增的协议回归测试在 v0.2.1 上失败,在 v0.2.2 上通过。
  • 已核对从 GitHub 标签安装的文件与发布源码一致,并通过插件接口重启网关,确认运行正常且返回模型限流字段。
  • 验证未发送真实模型请求,未消耗账号推理额度;未在真实 macOS/Linux 环境验证。
  • 发布整理时,GitHub Actions 单元测试仍在运行;集成任务在拉取 DSH 仓库时失败,未执行云端集成验证。不能将本地通过等同于云端检查全部通过。检查记录:https://github.com/Acoder416/dsh-plugin-workbuddy-gateway/actions/runs/35196060388

发布标签 v0.2.2 固定指向 1d7c0906c95bd79a3281ba9ad00627ef3dd3df7c,该提交已合入 main。已有标签保持不变,后续修复使用新的版本号。