@javiito32/opencode-openai-usage
v1.0.1
Published
OpenCode TUI plugin that displays remaining OpenAI 5-hour and weekly usage.
Readme
OpenCode OpenAI Usage
An OpenCode TUI plugin that shows the remaining ChatGPT Codex allowance for the rolling 5-hour and weekly windows.
Display
The plugin adds a compact indicator next to the prompt:
5h 91% / 7d 96%The bottom of the session sidebar shows only the 5-hour bar and its reset time:
5h [#########-] 91% | reset 4h 12mIt stays below tasks and other sidebar content.
Remaining capacity uses the active OpenCode theme:
- Green above 50%
- Yellow from 21% through 50%
- Red at 20% or below
Requirements
- OpenCode 1.18.30 or newer with TUI plugin support
- OpenAI connected through the ChatGPT OAuth option
- Node.js 22 or newer for development
OpenAI API keys do not expose ChatGPT's 5-hour and weekly allowance.
Local development
npm install
npm run checkAdd the compiled TUI entrypoint to ~/.config/opencode/tui.json:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": [
"file:///absolute/path/to/opencode-openai-usage/dist/tui.js"
]
}Quit and restart OpenCode after changing its configuration.
Package installation
Once published, add the package name to ~/.config/opencode/tui.json:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": ["@javiito32/opencode-openai-usage"]
}The package exposes only the ./tui plugin entrypoint, so OpenCode will not try to load it as a server plugin.
Configuration
The refresh interval defaults to 60 seconds and cannot be lower than 15 seconds:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": [
["@javiito32/opencode-openai-usage", { "refreshIntervalMs": 60000 }]
]
}By default, the plugin finds OpenCode's credentials through XDG_DATA_HOME, falling back to ~/.local/share/opencode/auth.json. A non-standard location can be configured explicitly:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": [
["opencode-openai-usage", { "authFile": "/path/to/opencode/auth.json" }]
]
}The plugin also refreshes after a session becomes idle. If an update fails, the last successful values remain visible and an asterisk appears next to the compact weekly value.
Security
The plugin reads the OpenAI OAuth entry from OpenCode's state-directory auth.json file for each refresh. The access token and account ID are sent only to https://chatgpt.com/backend-api/wham/usage; they are never logged, copied, or stored by the plugin.
The usage endpoint is an internal ChatGPT endpoint and may change without notice.
