ai-usagebar 1.47.0

Omarchy/Waybar widgets + TUI for tracking multi-provider AI plan usage
Documentation
{
  "schemaVersion": 1,
  "id": "akitaonrails.ai-usagebar",
  "name": "AI Usage",
  "version": "1.47.0",
  "author": "AkitaOnRails",
  "license": "MIT",
  "description": "Multi-provider AI plan usage and balances in a native Omarchy Quattro panel. Needs the ai-usagebar binary as well as this plugin: omarchy pkg aur add ai-usagebar-bin",
  "kinds": [
    "bar-widget"
  ],
  "activation": "on-demand",
  "entryPoints": {
    "barWidget": "omarchy/BarWidget.qml"
  },
  "barWidget": {
    "displayName": "AI Usage",
    "description": "Usage windows, reset countdowns, balances, and provider switching for every provider configured in ai-usagebar. This is the display frontend only — install the binary with omarchy pkg aur add ai-usagebar-bin.",
    "category": "AI",
    "aliases": [
      "ai-usage",
      "usagebar",
      "quota"
    ],
    "allowMultiple": false,
    "defaultSection": "right",
    "defaults": {
      "provider": "",
      "refreshIntervalSec": 300,
      "showValue": true,
      "brandIcons": true,
      "showProvider": false,
      "colorCodeUsage": false,
      "showAll": false,
      "uiLocale": "auto",
      "barWindow": "auto",
      "showAs": "used",
      "showCursorModels": true,
      "showCursorOther": true,
      "showCursorOnDemand": true,
      "showCursorCredits": true,
      "showAntigravityGemini": true,
      "showAntigravityClaudeGpt": true,
      "showPriorities": false,
      "showPriorityShortcut": false,
      "recentHours": 3,
      "priorityAlert": true,
      "alertUnusedPercent": 50,
      "alertHours": 24,
      "reportBinary": "ai-usagebar",
      "tuiBinary": "ai-usagebar-tui"
    },
    "schema": [
      {
        "key": "provider",
        "type": "string",
        "label": "Provider or account id",
        "description": "Optional id from ai-usagebar usage --json (for example openai or anthropic@work). Leave blank to switch between all configured entries.",
        "defaultValue": ""
      },
      {
        "key": "refreshIntervalSec",
        "type": "integer",
        "label": "Refresh interval (seconds)",
        "min": 30,
        "max": 3600,
        "step": 30,
        "defaultValue": 300
      },
      {
        "key": "showValue",
        "type": "boolean",
        "label": "Show usage value",
        "description": "Show the selected provider's percentage or balance next to the icon in the top bar.",
        "defaultValue": true
      },
      {
        "key": "brandIcons",
        "type": "boolean",
        "label": "Show provider logos",
        "description": "Draw each provider's own mark in the top bar and panel. Off restores the generic icon the bar used before the marks: one robot for a single provider, and the provider's short code on each chip when Show all providers is on. On by default.",
        "defaultValue": true
      },
      {
        "key": "showProvider",
        "type": "boolean",
        "label": "Show provider name",
        "description": "Show the selected provider's short code (cld, gpt, zai, agy) before the usage value, the way Waybar's {vendor_short} does. Off by default.",
        "defaultValue": false
      },
      {
        "key": "colorCodeUsage",
        "type": "boolean",
        "label": "Color-code usage by level",
        "description": "Paint bar values, panel meters, and the tooltip green → yellow → orange → red as usage climbs, using your Omarchy theme. Turn off for a single foreground color. Off by default.",
        "defaultValue": false
      },
      {
        "key": "showAll",
        "type": "boolean",
        "label": "Show all providers",
        "description": "Show every configured provider's icon and usage in the top bar at once, instead of cycling one at a time. Off by default.",
        "defaultValue": false
      },
      {
        "key": "uiLocale",
        "type": "enum",
        "label": "Interface language",
        "description": "Language for the Omarchy panel and settings. Auto follows the system locale.",
        "options": [
          "auto",
          "en",
          "pt-BR",
          "ru",
          "ko",
          "es"
        ],
        "defaultValue": "auto"
      },
      {
        "key": "barWindow",
        "type": "enum",
        "label": "Top bar usage window",
        "description": "Which quota window the top bar shows. Auto keeps the highest percent; 5-hour pins the session/rolling window; weekly pins the 7-day window; monthly pins the monthly pool where one exists. Falls back to highest when a vendor lacks the pinned window.",
        "options": [
          "auto",
          "session",
          "weekly",
          "monthly"
        ],
        "defaultValue": "auto"
      },
      {
        "key": "showAs",
        "type": "enum",
        "label": "Show usage as",
        "description": "Whether percentages in the top bar, tooltip and panel read what you have used or what is left of the same window. Which window the bar picks does not change; only the number drawn for it does.",
        "options": [
          "used",
          "left"
        ],
        "defaultValue": "used"
      },
      {
        "key": "showCursorModels",
        "type": "boolean",
        "label": "Show Cursor Models",
        "description": "Show the Cursor Models pool in the top bar and tooltip. The panel header and list drop it too. At least one Cursor pool stays visible.",
        "defaultValue": true
      },
      {
        "key": "showCursorOther",
        "type": "boolean",
        "label": "Show Other Models",
        "description": "Show the Other Models pool in the top bar and tooltip. The panel header and list drop it too. At least one Cursor pool stays visible.",
        "defaultValue": true
      },
      {
        "key": "showCursorOnDemand",
        "type": "boolean",
        "label": "Show On-Demand",
        "description": "Show prepaid on-demand usage in the top bar and tooltip. The panel header and list drop it too. At least one Cursor pool stays visible.",
        "defaultValue": true
      },
      {
        "key": "showCursorCredits",
        "type": "boolean",
        "label": "Show Credits",
        "description": "Show a spending-page credit grant in the top bar and tooltip. The panel header and list drop it too. Hidden when the account has no grant. At least one Cursor figure stays visible.",
        "defaultValue": true
      },
      {
        "key": "showAntigravityGemini",
        "type": "boolean",
        "label": "Show Gemini",
        "description": "Show the Gemini pool in the top bar and tooltip. The panel list drops its Session and Weekly rows too. At least one Antigravity pool stays visible.",
        "defaultValue": true
      },
      {
        "key": "showAntigravityClaudeGpt",
        "type": "boolean",
        "label": "Show Claude & GPT OSS",
        "description": "Show the Claude & GPT OSS pool in the top bar and tooltip. The panel list drops its Session and Weekly rows too. At least one Antigravity pool stays visible.",
        "defaultValue": true
      },
      {
        "key": "showPriorities",
        "type": "boolean",
        "label": "Enable usage priorities",
        "description": "Show the recommended order of use inside the same popup. A quota at risk of going unused before its reset turns red in the bar. Off by default; while off, nothing is recorded.",
        "defaultValue": false
      },
      {
        "key": "showPriorityShortcut",
        "type": "boolean",
        "label": "Show priority in the bar",
        "description": "Always show the recommended provider in the bar as a shortcut to the priorities. An urgent quota appears in red even when this is off.",
        "defaultValue": false
      },
      {
        "key": "recentHours",
        "type": "integer",
        "label": "Recent usage window (hours)",
        "description": "Look back 1–24 hours for the priority calculation. Applies immediately.",
        "min": 1,
        "max": 24,
        "step": 1,
        "defaultValue": 3
      },
      {
        "key": "priorityAlert",
        "type": "boolean",
        "label": "Alert in the bar",
        "description": "Show a provider in red in the bar when its quota is at risk of going unused (see the two thresholds below).",
        "defaultValue": true
      },
      {
        "key": "alertUnusedPercent",
        "type": "integer",
        "label": "Alert when projected unused quota is at least (%)",
        "description": "Projected unused percentage at reset, at the current pace, that makes a quota urgent.",
        "min": 1,
        "max": 100,
        "step": 5,
        "defaultValue": 50
      },
      {
        "key": "alertHours",
        "type": "integer",
        "label": "…and the quota resets within (hours)",
        "description": "Hours left before the quota resets. Only the weekly window is measured, so a 5-hour session never alerts.",
        "min": 1,
        "max": 168,
        "step": 1,
        "defaultValue": 24
      },
      {
        "key": "reportBinary",
        "type": "string",
        "label": "Report command",
        "description": "Executable the plugin runs for usage --json, settings show/apply and Nous login. Leave as ai-usagebar unless you run a local build. Set with omarchy bar set; there is no control for it in Settings.",
        "defaultValue": "ai-usagebar"
      },
      {
        "key": "tuiBinary",
        "type": "string",
        "label": "Dashboard command",
        "description": "Executable opened by right-click and the dashboard action. Leave as ai-usagebar-tui unless you run a local build. Set with omarchy bar set; there is no control for it in Settings.",
        "defaultValue": "ai-usagebar-tui"
      }
    ]
  }
}