Ratelimits
Display provider rate limits (x-ratelimit-* headers) in the OpenCode TUI footer
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"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-ratelimits@1.1.4"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D opencode-ratelimitsOpenCode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
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) — hookshttp.response, extracts thex-ratelimit-*headers from primary responses, and publishes them as typed RPC events. - TUI (
tui.tsx) — calls the plugin'sratelimitsRPC for the current state, subscribes toupdatedevents, and renders the limits for the session's active provider in theprompt.footer.statusslot.
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
同类生态推荐
Cache Compact
opencode-cache-compact
Cache-friendly context compaction for OpenCode (V1 and V2): append a summary in place, then cut what the model sees down to it.
Plugboard
opencode-plugboard
Use the ChatGPT, Claude, Copilot and OpenCode Go logins in your OpenCode server from any app: an OpenCode V2 plugin serving OpenAI, Anthropic and Gemini compatible APIs.
Kimi Code Statusline
opencode-kimi-code-statusline
OpenCode TUI plugin: display Kimi For Coding (Kimi Code) subscription quota (rolling 5h / weekly) in the footer statusline. V2-native, zero-config, no cookies.