README.md

CodexBar Plasma

Track AI provider quotas, reset times, costs, and local agent sessions from your KDE Plasma 6 panel. CodexBar Plasma uses the CodexBar CLI for provider data and authentication. This repository contains the Linux Plasma widget only.

Install · Features · Troubleshooting · Development

Standard panelMinimal panel
Colored provider icons and usage meters in the Standard panelNeutral provider icons and thin accent-colored usage meters in the Minimal panel

The same Codex, Claude, and Gemini usage in both styles. Choose the appearance in Panel settings. These examples show meters with panel text hidden.

Provider overviewLocal sessions
Overview with Codex, Claude, and Gemini usageActive and idle local agent sessions
Usage & SpendProvider details
Thirty days of spending and activity across providersCodex quotas, reset windows, and daily cost history

Click an image for full size. Captures show version 0.2.34 in Breeze Dark with synthetic accounts and data. The widget follows your Plasma theme; provider accent colors stay consistent across themes.

Features

  • Quota meters, reset windows, account selection, and provider status in the panel and popup, with configurable quota warnings and Plasma notifications.
  • Standard and Minimal panel styles, selectable quota windows, conditional text and meters, and a live settings preview.
  • Usage & Spend with cost/token charts, a 7/30/90-day range, an activity heatmap, and provider, model, and project breakdowns when the CLI supplies them.
  • A local Sessions tab. Transcript paths and working directories are never displayed or opened.
  • Optional privacy mode, refresh on popup opening, and automatic widget updates.
  • English plus Italian, French, German, Spanish, and Brazilian Portuguese, selected through your Plasma language preferences.

Provider authentication and data support come from the CLI. The widget includes fallback metadata for all 69 providers in the official CodexBar 0.49.1 registry, rechecked against CLI 0.56.2. Available metrics and setup actions vary by provider. The proposed generic provider-settings descriptor is not available in CLI 0.57.0; its additional editors remain unavailable.

See the usage and settings guide for options and defaults, the documentation index for verified CLI evidence, and Linux parity TODO for remaining Linux/Plasma work.

Requirements

  • KDE Plasma 6, kpackagetool6, and the org.kde.plasma.plasma5support QML module.
  • A working codexbar CLI, available on Plasma's PATH or through an absolute path configured in the widget.
  • notify-send for Plasma notifications.
  • curl, jq, python3, sha256sum, and GNU timeout for the bundled release updater. GNU timeout also bounds CLI writes after a secret prompt.

Distribution package names vary. Source builds additionally need make, Python 3, and GNU gettext; see Development.

Install

  1. Install the Linux CLI from the official CodexBar release tarballs or another method documented by upstream CodexBar. Third-party packages such as AUR can lag behind upstream releases. Set up your provider using the upstream instructions, then verify usage:

    sh
    1codexbar usage --format json --json-only
  2. Download codexbar-plasma.plasmoid from the widget's latest release. In the directory containing that file, run:

    sh
    1kpackagetool6 -t Plasma/Applet -i codexbar-plasma.plasmoid
  3. Open your Plasma panel's Add Widgets chooser and add CodexBar.

  4. Open the widget settings. Use Providers to enable providers and supported setup actions, Panel to adjust the compact display, and General to choose refresh and privacy settings.

Provider enable/disable and setup actions change the CLI configuration immediately. Apply and Cancel cover widget settings only.

New widgets refresh quotas every five minutes and show percent used. Warning and critical thresholds default to 80% and 95%. Existing settings are preserved when you upgrade.

Update

Read the changelog for changes and upgrade notes by version.

To upgrade a release installation, download the new .plasmoid and run:

sh
1kpackagetool6 -t Plasma/Applet -u codexbar-plasma.plasmoid

Log out and back in to load the new widget code, or reload your Plasma panels and desktop with:

sh
1systemctl --user restart plasma-plasmashell.service

In General → Updates, Check for widget updates and update notifications are enabled by default. Install widget updates automatically is opt-in. The bundled helper accepts only immutable GitHub releases. It binds assets to the advertised tag, verifies SHA-256 digests and the published checksum, and checks the applet ID and version before installation. A validation mismatch aborts the update.

For a source checkout, see the development update commands.

Troubleshooting

The widget stays on Loading or cannot find the CLI

Run codexbar usage --format json --json-only in a terminal. If it fails, resolve the provider or CLI setup first. If it works, locate the executable:

sh
1command -v codexbar

Paste the returned absolute path into Diagnostics → Command path. Plasma may have a different PATH from your terminal. Use PATH restores the portable codexbar default.

Providers, accounts, or costs are missing

Check that the provider is enabled in Providers, then inspect the relevant CLI response. For example, for Codex accounts and local cost data:

sh
1codexbar usage --provider codex --all-accounts --format json --json-only
2codexbar cost --format json --json-only

The widget can display only data the CLI returns. Cost availability varies by provider; missing dollar amounts do not mean zero spend. If a feature is absent, check the usage guide and Linux parity TODO.

Notifications do not appear

Check the widget's Notifications settings and test desktop notifications:

sh
1notify-send "CodexBar" "Notification test"

Report a problem

Open a widget issue with reproduction steps, expected and actual behavior, your distribution, and the Plasma, widget, and CLI versions. For QML errors, inspect recent logs:

sh
1journalctl --user -u plasma-plasmashell.service --since '10 minutes ago' --no-pager

Include only relevant CodexBar errors. Redact account details, paths, credentials, and other personal information before sharing logs or screenshots. If the CLI command itself fails, consult upstream CodexBar for provider setup and CLI support.

Development

Build and install from a checkout:

sh
1git clone https://github.com/Lucenx9/codexbar-plasma.git
2cd codexbar-plasma
3make install

Then reload Plasma as described under Update. Run make check before submitting changes. The development guide covers dependencies, checks, isolated popup smoke tests, packaging, and QML conventions. See the documentation index for maintained references.

Contributions to the Plasma widget are welcome through pull requests. Include the verification results requested by the PR template. Provider logic and CLI contracts belong upstream. To add or improve a language, follow the translation guide. CLI-supplied free-form text retains its original language.

License and attribution

CodexBar Plasma is derived from CodexBar and distributed under the MIT License. See NOTICE.md for attribution.