Skip to content

[BUG] Rate limiting doesn't work if no fallback models is configured #3232

Description

@VictorSu000

Quick Summary

I only set agents.defaults.model_name and don't set any fallback models. This model's rpm config doesn't work.

Environment & Tools

  • PicoClaw Version: 0.3.1
  • Go Version: go 1.26-alpine
  • AI Model & Provider: gpt-5.5
  • Operating System: inside docker container (debian bookworm), and host machine is Ubuntu Server 24.04.4 LTS
  • Channels: WebUI, QQ

📸 Steps to Reproduce

  1. Set a model with rpm config in model_list.
  2. Set "agents" config to only use this model, that is, only set agents.defaults.model_name. Do not set agents.defaults.model.primary or agents.defaults.model.fallbacks
  3. The actual API calling rpm can exceed the setting rpm. Rate limiting doesn't work.

💬 Additional Context

FYI:
I asked AI but was not sure if it is correct. AI said when len(exec.activeCandidates) > 1, callback chain and rate limiter will be used. Otherwise PicoClaw will directly use exec.activeProvider.Chat(...), so rate limiting is bypassed. Besides, side question and pipeline streaming are the same.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions