Skip to content

Releases

v0.1.0-alpha.6

Choose a tag to compare

@alaxrpg alaxrpg released this 04 Sep 07:25

修复:429001 分级探测退避 + 环回跨请求锁死

按 2026-09-04 实测与用户反馈修订(官方文档确认 429001 = per-key 推理 TPM 限速,与积分余额/上下文无关):

429001 退避:固定长下限 → 分级探测

  • 连续命中档位 3s → 5s → 10s → 15s(封顶保持)
  • 任一请求成功或切换到新 key 后归零,重新从 3s 开始——每轮重置、不继承
  • 不再把会话干锁在 60s/180s 死等里;恢复第一时间接上

环回跨请求锁死(上次遗留的"明明有 B 却一直等"根因)

  • 删除跨请求环回 Set,防乒乓仅限单次请求内
  • 每次宿主重试都重新探测各 key——另一把 key 空闲立即切过去(实测 A→B 3.7s 成功)

其他

  • code 8 速率类维持 15s 固定档(速率桶补充 ≈1 个/14s 实测)
  • 测试 85/85 通过;OpenSpec 变更 fix-sensenova-429-quota-retry 同步

v0.1.0-alpha.5

Choose a tag to compare

@alaxrpg alaxrpg released this 04 Sep 06:08

修复:SenseNova 429 重试风暴活锁与请求挂起卡死

依据 2026-09-04 实测(per-key 速率令牌桶容量 ≈5–6、补充 1 个/14 秒;429 响应无 Retry-After 头;约 1/5 请求传输挂起)重构限流处理:

429 分类与退避

  • 按 error.code 分类:8(速率耗尽)/ 429001(TPM 耗尽)为配额类
  • 配额类退避下限:速率 15s、TPM 60s;Retry-After 更大时优先,整体封顶 120s
  • 重试预算收敛:1000 次 × 3s → 10 次 × 60s,持续限流时失败尽早可见

超时与看门狗(消除「卡死」)

  • 连接/首字节超时 45s(响应头到达即解除,不影响长流输出)
  • SSE 流空闲看门狗 60s(任一事件重置)
  • 并发闸排队超时 60s(不占额度)
  • 三类超时均以可重试 TIMEOUT 结束并释放并发额度

新增可选「配额类 429 换 key」

  • 设置页 → 高级设置,默认关闭(保持既有「429 不换 key」语义)
  • 开启后仅配额类 429 触发粘性换 key(实测配额桶 per-key 隔离;prompt 缓存实测价值低)
  • 环回记忆:双 key 都饱和时不再乒乓切换,停留等待退避

其他

  • 移除设置页模型选择 UI(模型能力已由自动配置覆盖)
  • 新增 debug_quota_probe*.mjs / debug_cache_probe.mjs 实测脚本(配额形态可复测)
  • 测试 84/84 通过;OpenSpec 变更 fix-sensenova-429-quota-retry(12/14 任务,双会话并发冒烟留待实际环境)