Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,9 @@ jobs:
- name: Integration test — Kimi Code routing and quota fixture
run: tests/test-kimi-code.sh

- name: Integration test — Command Code quota windows and fallback
run: tests/test-commandcode.sh

- name: Integration test — quota notification deduplication
run: tests/test-quota-alert.sh

Expand Down
1 change: 1 addition & 0 deletions AiOverviewControlSettings.qml
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ PluginSettings {
{ id:"deepseek", name:"DeepSeek", icon:"search", mode:"telemetry", requirement:"API key", envVar:"DEEPSEEK_API_KEY", note:"Official account balance" },
{ id:"kimi", name:"Kimi", icon:"language", mode:"telemetry", requirement:"API key", envVar:"MOONSHOT_API_KEY", note:"Account balance (USD/CNY), or Kimi Code subscription quota with a sk-kimi- key / KIMI_CODING_API_KEY" },
{ id:"minimax", name:"MiniMax", icon:"bar_chart", mode:"telemetry", requirement:"API key", envVar:"MINIMAX_API_KEY", note:"Official models API authentication check" },
{ id:"commandcode", name:"Command Code", icon:"terminal", mode:"telemetry", requirement:"API key", envVar:"COMMAND_CODE_API_KEY", note:"Provider API key — same key used for the CLI and the Provider API. Reads /alpha/billing/credits for 5h/weekly/monthly quota; falls back to /provider/v1/models on alpha failure." },
{ id:"glm", name:"GLM", icon:"memory", mode:"telemetry", requirement:"API key", envVar:"GLM_API_KEY", note:"China (Zhipu) quota windows and plan; falls back to models authentication" },
{ id:"zai", name:"Z.ai", icon:"bubble_chart", mode:"telemetry", requirement:"API key", envVar:"ZAI_API_KEY", note:"Official quota windows and plan; falls back to models authentication" },
{ id:"mistral", name:"Mistral", icon:"wind_power", mode:"telemetry", requirement:"API key", envVar:"MISTRAL_API_KEY", note:"Official models API authentication check" },
Expand Down
8 changes: 8 additions & 0 deletions AiOverviewControlWidget.qml
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ PluginComponent {
"glm",
"zai",
"minimax",
"commandcode",
"qwen",
"nvidia",
"cloudflare",
Expand Down Expand Up @@ -587,6 +588,9 @@ PluginComponent {
zhipu: "GLM",
zai: "Z.ai",
minimax: "MiniMax",
commandcode: "Command Code",
cmd: "Command Code",
cmdcode: "Command Code",
qwen: "Qwen",
dashscope: "Qwen",
alibaba: "Qwen",
Expand Down Expand Up @@ -845,6 +849,7 @@ PluginComponent {
if (providerId === "mistral") return Theme.warning;
if (providerId === "glm" || providerId === "zhipu" || providerId === "zai") return Theme.primary;
if (providerId === "minimax") return Theme.success;
if (providerId === "commandcode" || providerId === "cmd" || providerId === "cmdcode") return Theme.primary;
if (providerId === "qwen" || providerId === "dashscope" || providerId === "alibaba") return Theme.warning;
if (providerId === "nvidia" || providerId === "nim") return Theme.success;
if (providerId === "cloudflare") return Theme.warning;
Expand Down Expand Up @@ -1316,6 +1321,9 @@ PluginComponent {
zhipu: "https://open.bigmodel.cn/usercenter/financial",
zai: "https://z.ai/manage-apikey/billing",
minimax: "https://platform.minimax.io/user-center/payment/balance",
commandcode: "https://commandcode.ai/billing",
cmd: "https://commandcode.ai/billing",
cmdcode: "https://commandcode.ai/billing",
qwen: "https://dashscope.console.aliyun.com",
dashscope: "https://dashscope.console.aliyun.com",
alibaba: "https://dashscope.console.aliyun.com",
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

### Command Code provider

- New **Command Code** (commandcode.ai) provider surfaces the live 5-hour and weekly usage windows plus the monthly USD credit balance via the same Provider API key used for the CLI (`COMMAND_CODE_API_KEY`). The `/alpha/billing/` endpoints are experimental, so the adapter degrades to the documented `/provider/v1/models` auth-only check on alpha failure — never a fabricated percentage. Contributed by [@Luna161](https://github.com/Luna161) ([#20](https://github.com/bernardopg/AiOverviewControl/issues/20), [#21](https://github.com/bernardopg/AiOverviewControl/pull/21)).

## 1.12.0 - 2026-08-22

### Claude provider config directory override
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ billing, authentication, and local usage telemetry — right in your DankBar.
[![CI](https://github.com/bernardopg/AiOverviewControl/actions/workflows/ci.yml/badge.svg)](https://github.com/bernardopg/AiOverviewControl/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/bernardopg/AiOverviewControl)](https://github.com/bernardopg/AiOverviewControl/releases/latest)
[![License](https://img.shields.io/github/license/bernardopg/AiOverviewControl)](./LICENSE)
[![Providers](https://img.shields.io/badge/providers-36-7C4DFF)](./docs/providers.md)
[![Providers](https://img.shields.io/badge/providers-37-7C4DFF)](./docs/providers.md)
[![Languages](https://img.shields.io/badge/UI%20languages-5-00BFA5)](./docs/i18n-crowdin.md)

[Install](#installation) · [Screenshots](#screenshots) · [Providers](./docs/providers.md) ·
Expand Down Expand Up @@ -48,7 +48,7 @@ it does not. No dashboard scraping. No fabricated percentages. Ever.

| | |
| --- | --- |
| 📊 **Unified dashboard** | 36 AI providers and developer tools in one place. |
| 📊 **Unified dashboard** | 37 AI providers and developer tools in one place. |
| 🛰️ **Fleet overview** | Cross-provider rollup in the hero — quota-only average load, hottest provider, how many are near their cap, and the soonest reset. |
| ⏱️ **Official Codex windows** | Rate-limit windows straight from `codex app-server`. |
| 🤖 **Deep Claude analytics** | Quota plus local token, session, model, project, and cost analytics. |
Expand Down Expand Up @@ -109,6 +109,7 @@ Notable integrations:
| Together | Read-only API-key validation; usage and billing remain in the Together console. |
| Cloudflare | Token verification and optional Workers AI GraphQL analytics. |
| Z.ai, GLM | `GET /api/monitor/usage/quota/limit` — real per-window usage %, reset timestamps, and plan tier. Falls back to `/models` auth-only check. |
| Command Code | Live 5h/weekly/monthly usage via `/alpha/billing/credits`. |
| xAI, MiniMax, Qwen, Mistral | Read-only `/models` (or `/api-key`) validation — zero token consumption. |
| NVIDIA | Configured-key status only; its public model catalog cannot validate the key. |
| Ollama | Installed and running models from `/api/tags` and `/api/ps`. |
Expand Down
1 change: 1 addition & 0 deletions assets/provider-logos/SOURCES.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ All marks are stored locally so the plugin never depends on a network request at
- 9Router: [official `public/favicon.svg`](https://github.com/decolua/9router/blob/master/public/favicon.svg), MIT.
- BytePlus Ark: [official BytePlus favicon](https://sf-bpcms.bytepluscdn.com/obj/byteplus-public-aiso/portal/assets/favicon.png), discovered from the ModelArk product page.
- Warp: [Simple Icons `warp`](https://simpleicons.org/?q=warp), CC0-1.0, brand color `#01A4FF`.
- Command Code: official logomark from the [commandcode.ai brand assets](https://commandcode.ai/brand) ([`black-symbol-commandcode.svg`](https://github.com/CommandCodeAI/command-code/blob/main/.github/commandcode/symbols/black-symbol-commandcode.svg)). Normalized to a flat silhouette — the opaque background square is dropped and both symbol paths get a single `#000` fill — since the plugin re-tints the silhouette to the theme; geometry is unchanged.
- GitHub Copilot: [Simple Icons `githubcopilot`](https://simpleicons.org/?q=githubcopilot), CC0-1.0.
- pi: [official `logo-auto.svg`](https://pi.dev/logo-auto.svg) from [pi.dev](https://pi.dev/). Normalized to a single flat `fill` (the upstream `<style>`/`@media prefers-color-scheme` is dropped since QtSvg ignores media queries and the plugin re-tints the silhouette to the theme). Geometry unchanged.
- Hermes: original line art created for this plugin (caduceus staff with wing arcs, echoing the project's ☆ mark) — **not** a vendor asset, so no upstream trademark is redistributed. Stroke-only geometry on a transparent canvas, tinted at runtime like every other mark. Hermes Agent itself is MIT-licensed by [Nous Research](https://github.com/NousResearch/hermes-agent); swap this file for an official mark if one is published under a redistributable license.
Expand Down
1 change: 1 addition & 0 deletions assets/provider-logos/commandcode.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ The settings health check describes whether the plugin can run an adapter in the
| DeepSeek | `DEEPSEEK_API_KEY` |
| Kimi | Balance: `MOONSHOT_API_KEY` or `KIMI_API_KEY` (optional `MOONSHOT_API_BASE`). Kimi Code subscription quota: `KIMI_CODING_API_KEY` (or a `sk-kimi-` prefixed `KIMI_API_KEY`; optional `KIMI_BASE_URL`) |
| MiniMax | `MINIMAX_API_KEY` |
| Command Code | `COMMAND_CODE_API_KEY` |
| GLM / Z.ai | `ZAI_API_KEY`, `GLM_API_KEY`, or `ZHIPU_API_KEY`; optional `GLM_API_BASE` |
| Mistral | `MISTRAL_API_KEY` |
| Ollama | optional `OLLAMA_HOST` |
Expand Down
25 changes: 25 additions & 0 deletions docs/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,17 @@ The matrix below summarises the **authentication/billing surface** for every sup
<td><a href="https://platform.minimax.io/docs/api-reference">platform.minimax.io/docs</a></td>
</tr>
<tr>
<td><code>commandcode</code></td>
<td>Quota</td>
<td>✅ <code>GET /provider/v1/models</code></td>
<td>✅ <code>/alpha/billing/credits</code> (5h + weekly)</td>
<td>✅ Go / GOAT / Pro / Max / Team Pro / Provider API</td>
<td>✅ USD credit balance + per-window USD usage</td>
<td><code>COMMAND_CODE_API_KEY</code></td>
<td><a href="https://commandcode.ai/billing">commandcode.ai/billing</a></td>
<td><a href="https://commandcode.ai/docs/provider">Provider API docs</a></td>
</tr>
<tr>
<td><code>kimi</code></td>
<td>Balance / Quota</td>
<td>✅ <code>GET /v1/models</code></td>
Expand Down Expand Up @@ -533,6 +544,20 @@ Detailed adapter notes for the focus providers (Gemini, Cloudflare, Mistral, GLM
| **Changelog** | **2026-06-01 MiniMax-M3** (1M ctx, adaptive thinking, coding SOTA). 2026-03-18 M2.7/M2.7-highspeed. 2026-02 M2.5. 2025-12-22 M2.1. 2025-10-27 M2 + Hailuo-2.3. Token Plan replaced Coding Plan (broader coverage, separate Subscription Key). |
| **Adapter** | `fetch_minimax_native` — `/v1/models` validation. |

### Command Code

| | |
| --- | --- |
| **API base** | `https://api.commandcode.ai/provider/v1` (OpenAI/Anthropic-compatible); quota `https://api.commandcode.ai/alpha/billing/credits` (Bearer, no cookies). |
| **Env var** | `COMMAND_CODE_API_KEY` — same Provider API key used for `/provider/v1/models`, `/alpha/whoami`, `/alpha/billing/credits`. |
| **Auth** | `Authorization: Bearer ***` |
| **Quota / balance** | `/alpha/billing/credits` returns `windowLimits.fiveHour` (5h USD used/cap, Unix-ms `resetAt`), `windowLimits.weekly` (7-day USD used/cap, Unix-ms `resetAt`), and `credits.monthlyCredits` (remaining USD this billing cycle). `/alpha/billing/subscriptions` exposes `planId` (e.g. `individual-goat`) and `currentPeriodEnd`. |
| **Plans** | **Go** $1 / $10 credit &middot; **GOAT** $10 / $70 credit, 5h $14 / weekly $35 &middot; **Pro** $20 / $80 credit, 5h $16 / weekly $40 &middot; **Max 10×** $100 / $150 credit, 5h $45 / weekly $90 &middot; **Max 20×** $200 / $300 credit, 5h $90 / weekly $180 &middot; **Team Pro** $40 / $40 credit, 5h $12 / weekly $24 &middot; **Provider API** $15 + pay-as-you-go. |
| **Billing** | Per-token, no markup on the Provider plan. Credits roll over and never expire. Window caps are USD ceilings — model deals (e.g. `minimax-m3` 2×, `google/gemini-3.7-flash` 50% off, `mimo-v2.5-pro` 99% off) apply automatically. |
| **Stability** | The `/alpha/` namespace is **experimental** — no documented versioned contract, can change without notice. Adapter degrades to the documented `/provider/v1/models` endpoint on alpha failure and emits a clearly-labeled "quota endpoint unavailable" note; it never fabricates a percentage. |
| **Dashboard** | [commandcode.ai/billing](https://commandcode.ai/billing) — billing, plan, and credit top-ups. |
| **Adapter** | `fetch_commandcode_native` — `/alpha/billing/credits` + `/alpha/whoami` + `/alpha/billing/subscriptions`, with documented-endpoint fallback. |

### Kimi (Moonshot AI)

| | |
Expand Down
4 changes: 4 additions & 0 deletions providers/get-commandcode-usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
exec "$SCRIPT_DIR/get-provider-wrapper" commandcode
Loading