跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    reda-maizate

    Ratelimits

    opencode-ratelimits·v1.1.4·模型接入

    Display provider rate limits (x-ratelimit-* headers) in the OpenCode TUI footer

    GitHub 星标

    0

    月装机量

    580

    近 7 天 580

    综合评分

    37.0

    生态多维模型

    最近提交

    4 天前

    2026-10-16

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-ratelimits@1.1.4"]
    }

    OpenCode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    npm version License: MIT

    An OpenCode plugin that displays your provider's rate limits (x-ratelimit-* headers) in the TUI footer. Published on npm.

    ⚡ 599/600 req · 858K/1M tok · reset 8.5s
    

    Install

    Install from npm (the plugin is published there):

    opencode plugin add opencode-ratelimits
    

    Or add it to your config — global (~/.config/opencode/opencode.json) or per-project (opencode.json):

    {
      "plugins": ["opencode-ratelimits"]
    }
    

    Or install from GitHub:

    opencode plugin add github:reda-maizate/opencode-ratelimits
    

    Restart the TUI after installing (the TUI client loads plugins on startup):

    # quit the TUI, then reopen it
    opencode
    

    Update later with opencode plugin update.

    How it works

    The plugin has two entrypoints that communicate over OpenCode's plugin RPC:

    • Server (index.ts) — hooks http.response, extracts the x-ratelimit-* headers from primary responses, and publishes them as typed RPC events.
    • TUI (tui.tsx) — calls the plugin's ratelimits RPC for the current state, subscribes to updated events, and renders the limits for the session's active provider in the prompt.footer.status slot.

    Limits are tracked per provider, so switching models — or subagents running on another provider — each show their own numbers. The footer hides itself after ten minutes without a response.

    If the footer never appears, your provider likely doesn't send rate-limit headers (see below), or the server plugin failed to load — check the OpenCode server log.

    Requirements

    • OpenCode v2 or later — the plugin uses the v2 plugin system (separate server and TUI entrypoints communicating over RPC).
    • Your provider must return OpenAI-compatible rate-limit headers:
    Header Example
    x-ratelimit-limit-requests 600
    x-ratelimit-remaining-requests 599
    x-ratelimit-reset-requests 100ms
    x-ratelimit-limit-tokens 1000000
    x-ratelimit-remaining-tokens 999999
    x-ratelimit-reset-tokens 8s522ms

    These are returned by Scaleway's Generative APIs and other OpenAI-compatible providers.

    Development

    bun install    # dev dependencies (types and tests only — the plugin itself has none)
    bun run typecheck
    bun test
    

    License

    MIT

    同类生态推荐