Skip to content

Messaging adapter rate limiting infrastructure #689

@kovtcharov

Description

@kovtcharov

Summary

Per-user, per-channel, and global rate limiting for messaging platform adapters. Prevents abuse and resource exhaustion when GAIA is exposed via Discord/Slack/Telegram.

Configuration

rate_limits:
  user_rpm: 10        # Requests per minute per user
  channel_rpm: 30     # Per channel
  global_rpm: 100     # Total
  cooldown_seconds: 5 # Min time between same-user requests

Acceptance Criteria

  • Token bucket rate limiter with configurable limits
  • Per-user, per-channel, and global tiers
  • Polite decline message when rate limited (not silent drop)
  • Configurable via messaging.yaml
  • Rate limit state persists across adapter restarts

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentdomain:automationScheduler, autonomy, RAG, web search, watchers, researchenhancementNew feature or requestp1medium prioritytrack:consumer-appHermes-competitor consumer product — mobile-first, voice + messaging + memory + skills

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions