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
Binary file modified AgentsPanelExtension/Assets/LargeTile.scale-100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/LargeTile.scale-125.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/LargeTile.scale-150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/LargeTile.scale-200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/LargeTile.scale-400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SmallTile.scale-100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SmallTile.scale-125.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SmallTile.scale-150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SmallTile.scale-200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SmallTile.scale-400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SplashScreen.scale-100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SplashScreen.scale-125.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SplashScreen.scale-150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SplashScreen.scale-200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/SplashScreen.scale-400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/Square150x150Logo.scale-100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/Square150x150Logo.scale-125.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/Square150x150Logo.scale-150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/Square150x150Logo.scale-200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/Square150x150Logo.scale-400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.scale-100.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.scale-125.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.scale-150.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.scale-200.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.scale-400.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.targetsize-16.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.targetsize-24.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.targetsize-256.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.targetsize-32.png
Binary file modified AgentsPanelExtension/Assets/Square44x44Logo.targetsize-48.png
Binary file modified AgentsPanelExtension/Assets/StoreLogo.scale-100.png
Binary file modified AgentsPanelExtension/Assets/StoreLogo.scale-125.png
Binary file modified AgentsPanelExtension/Assets/StoreLogo.scale-150.png
Binary file modified AgentsPanelExtension/Assets/StoreLogo.scale-200.png
Binary file modified AgentsPanelExtension/Assets/StoreLogo.scale-400.png
Binary file modified AgentsPanelExtension/Assets/Wide310x150Logo.scale-100.png
Binary file modified AgentsPanelExtension/Assets/Wide310x150Logo.scale-125.png
Binary file modified AgentsPanelExtension/Assets/Wide310x150Logo.scale-150.png
Binary file modified AgentsPanelExtension/Assets/Wide310x150Logo.scale-200.png
Binary file modified AgentsPanelExtension/Assets/Wide310x150Logo.scale-400.png
Binary file modified AgentsPanelExtension/Assets/agentspanel_logo_base_square.png
Binary file modified AgentsPanelExtension/Assets/provider_copilot.png
112 changes: 77 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,94 @@
# Agents Panel for Command Palette

A [PowerToys Command Palette](https://learn.microsoft.com/en-us/windows/powertoys/command-palette/overview)
extension that shows your AI agents' **usage and limits** at a glance — how much of your session and
weekly quota is used, when each window resets, and your plan — right from the palette and, most
usefully, from the **Command Palette Dock**.
[![GitHub release](https://img.shields.io/github/v/release/CostaFot/agents-panel-extension?style=flat-square&logo=github&label=release)](https://github.com/CostaFot/agents-panel-extension/releases/latest)
[![GitHub downloads](https://img.shields.io/github/downloads/CostaFot/agents-panel-extension/total?style=flat-square&logo=github&label=downloads)](https://github.com/CostaFot/agents-panel-extension/releases)

## Features
<img src="listing/screenshot_dock.png" width="600"/>

A Windows 11 [Command Palette](https://learn.microsoft.com/en-us/windows/powertoys/command-palette/overview) (PowerToys) extension that shows your AI agents' **usage and limits** at a glance — right on the Command Palette dock.

- **Dock band** (the main event): pinnable quick-look buttons like `5h 23%` and `Wk 41%` that
live-update while pinned and click through to the full panel.
- **Agents Panel hub**: one row per quota window with color-coded severity (green → amber → red),
reset times, plan info, and a manual refresh.
- **Claude**: reads the sign-in Claude Code already has on your machine — no setup, no API key.
Shows the same numbers as Claude Code's `/usage`: session (5-hour), weekly, per-model weekly
limits, and extra-usage credits.
- **Codex**: reads the Codex CLI/app sign-in (ChatGPT subscription limits) — session, weekly, or
monthly windows depending on plan.
- **Copilot**: reads a GitHub token the machine already has (gh CLI, Copilot CLI, or the editor
Copilot plugins — or paste a fine-grained PAT in settings) and shows the monthly Copilot quotas
(chat / completions / premium requests, per plan).
- **Extensible by design**: providers implement a small `IAgentUsageProvider` interface; more agents
can slot in later.
- Stale-tolerant: if a refresh fails (offline, rate-limited), the last known numbers stay visible and
are marked stale instead of vanishing.
> Not affiliated with, endorsed by, or sponsored by Anthropic, OpenAI, GitHub, or Microsoft. All product names are used only to identify the services this extension reads usage data for.

## Requirements

- Windows 11, PowerToys with Command Palette (extension SDK ≥ 0.9 for Dock support)
- For live Claude data: [Claude Code](https://claude.com/claude-code) signed in with a Pro/Max account
- [PowerToys](https://github.com/microsoft/PowerToys) with Command Palette enabled
- For live Claude data: Claude Code signed in with a Pro/Max account
- For live Codex data: the Codex CLI or desktop app signed in with a ChatGPT account
- For live Copilot data: any local GitHub sign-in (gh CLI, Copilot CLI, editor Copilot plugins) or a
fine-grained PAT with *Copilot Requests: Read*
- For live Copilot data: a local GitHub Copilot sign-in, or a fine-grained PAT with *Copilot Requests: Read*

## Installation

<!-- TODO after Store approval: uncomment and fill in the Store ID.
### Microsoft Store
<a href="https://apps.microsoft.com/detail/<STORE_ID>" target="_self">
<img src="https://get.microsoft.com/images/en-us%20dark.svg" width="200"/>
</a>

### WinGet

```powershell
winget install --id CostaFotiadis.AgentsPanelForCommandPalette
```
-->

Coming to the Microsoft Store and WinGet — until then, grab the UNSIGNED `.msixbundle` from [Releases](https://github.com/CostaFot/agents-panel-extension/releases).

## Features

### The Agents Panel hub

One top-level **Agents Panel** command opens the hub — one row per agent with a usage summary and the worst window's percentage at a glance.

<img src="listing/screenshot_panel_hub.png" width="500"/>

### Claude

Reads local configuration — no setup, no API key. Shows the same numbers as Claude Code's `/usage`: session (5-hour), weekly, per-model weekly limits, and extra-usage credits.

<img src="listing/screenshot_claude_hub.png" width="500"/>

## Notes
### Codex

- The usage endpoints are undocumented; this extension polls them gently (3-minute minimum,
configurable) and identifies itself honestly (`agents-panel/<version>`). If an endpoint changes,
each provider is isolated so it can be swapped without touching the rest of the app.
- Tokens are read from the agents' own local credential stores at request time only — never
stored, never logged, never sent anywhere except each agent's own usage endpoint
(`api.anthropic.com`, `chatgpt.com`, `api.github.com`).
- No telemetry. Release builds log nothing.
Reads local configuration and shows your ChatGPT subscription limits — session, weekly, or monthly windows depending on plan.

<img src="listing/screenshot_codex_hub.png" width="500"/>

### Copilot

Reads local configuration — or a fine-grained PAT pasted in settings — and shows the monthly Copilot quotas (chat / completions / premium requests, per plan).

<img src="listing/screenshot_copilot_hub.png" width="500"/>

### Dock integration

The main event: each agent is its own dock band with quick-look buttons like `5h 27%` and `Wk 17%` that live-update while pinned and click through to the full panel. Pin exactly the agents you want via the dock's own band management.

<img src="listing/screenshot_dock.png" width="600"/>

<img src="listing/screenshot_bands.png" width="400"/>

## FAQ

**Will you steal my tokens?**
I don't care about your tokens. Local configuration is read at request time only. Read the source code.

**Is this official?**
No. The usage endpoints are undocumented; this extension polls them (3-minute minimum, configurable). NO GUARANTEES :)

**Is there telemetry?**
No.

**Do I need an account?**
Only the subscriptions of the agents you already use.

## Building

```
dotnet build AgentsPanelExtension.sln -p:Platform=x64
```

Deploy the MSIX package from your IDE (Rider or Visual Studio's "(Package)" launch profile), then
reload Command Palette.
Deploy the MSIX package from your IDE (Rider or Visual Studio's "(Package)" launch profile), then reload Command Palette.

## License

[MIT](LICENSE)
Binary file added listing/agents_icon_base.jpg
Binary file added listing/agentspanel_logo_1280.png
Binary file added listing/base_screenshot_bands.png
Binary file added listing/base_screenshot_claude_hub.png
Binary file added listing/base_screenshot_codex_hub.png
Binary file added listing/base_screenshot_copilot_hub.png
Binary file added listing/base_screenshot_dock.png
Binary file added listing/base_screenshot_hub.png
Binary file added listing/screenshot_bands.png
Binary file added listing/screenshot_claude_hub.png
Binary file added listing/screenshot_codex_hub.png
Binary file added listing/screenshot_copilot_hub.png
Binary file added listing/screenshot_dock.png
Binary file added listing/screenshot_panel_hub.png
47 changes: 25 additions & 22 deletions notes/store-readiness.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,36 +20,35 @@ manifest description written, minimal capabilities, GitHub remote configured.

## A. Certification blockers — identity & branding

- [ ] **A1 [user] Real app logo + MSIX asset regen.** All 55 tile/store/splash PNGs in
`AgentsPanelExtension/Assets/` are byte-copies of MarketExtension's `$ >_` branding, and
`Assets/agentspanel_logo_base_square.png` is its source art renamed. Design a new square source
PNG → VS Manifest Designer → Visual Assets with **"Apply recommended padding" OFF**
(already-padded art double-insets) → regenerate every scale/targetsize variant. The same square
source is the in-app icon (`AgentsPanelCommandsProvider.cs`, `UsagePage.cs`, `LegalPage.cs`,
`ProviderIcons.cs` fallback) — two separate icon systems, one source image.
- [ ] **A2 [user] Real `provider_copilot.png`.** Currently byte-identical to the app logo
(1289×1289, 1.17 MB). Needs a purpose-made 64×64 mark like `provider_claude.png` /
`provider_codex.png`.
- [ ] **A3 [agent] Downsize oversized icons.** `agentspanel_logo_base_square.png` (1.17 MB) and
`provider_copilot.png` load for 16–32 px rows — ~2.3 MB of package bloat. (After A1/A2 land.)
- [x] **A1 [user] Real app logo + MSIX asset regen.** (done 2026-08-14 — AI-generated "% >_"
dark-squircle art, cleaned to real transparency + 1280px by agent; VS Visual Assets regenerated
with padding OFF by user. User may iterate on the art later — the full flow is: replace
`listing/agentspanel_logo_1280.png` master → VS regen → agent re-downsizes the Assets copy.
The raw AI generation lives at `listing/agents_icon_base.jpg`.)
- [x] **A2 [agent] Real `provider_copilot.png`.** (done 2026-08-14 — decision: NO real third-party
branding for any provider icon, generic tiles only. New 64×64 purple rounded tile with white
`{ }` braces glyph, matching the Claude "C" / Codex ">_" tile system; 997 bytes.)
- [x] **A3 [agent] Downsize oversized icons.** (done 2026-08-14) The 1280px marketing master is
parked at `listing/agentspanel_logo_1280.png` (source for any future VS asset regen + README/
social art); the in-package `Assets/agentspanel_logo_base_square.png` is a 256px derivative
(23 KB, down from 1.17 MB). `provider_copilot.png` was resolved by A2.
- [ ] **A4 [user] Partner Center name reservation.** Reserve "Agents Panel for Command Palette";
confirm the assigned `Identity Name` matches `CostaFotiadis.AgentsPanelforCommandPalette` in
`Package.appxmanifest` + csproj `AppxPackageIdentityName`. Publisher CN already matches.

## B. Certification blockers — content & legal

- [x] **B5 [agent] Hosted privacy policy + terms.** (docs/ + deploy-pages.yml written 2026-08-14; **[user] still to do: enable GitHub Pages on the repo** — Settings → Pages → Source: GitHub Actions) Partner Center requires a privacy-policy URL.
- [x] **B5 [agent] Hosted privacy policy + terms.** (docs/ + deploy-pages.yml written 2026-08-14;
GitHub Pages enabled + deployed 2026-08-14) Partner Center requires a privacy-policy URL.
Create `docs/{index,privacy,terms}.html` + `style.css` modeled on MarketExtension's `docs/`,
adapted to this app: credentials read locally from other apps' stores, requests go directly to
Anthropic/OpenAI/GitHub, zero telemetry, Copilot PAT stored plaintext in settings JSON. Copy
`deploy-pages.yml`; **[user]** enables GitHub Pages on the repo.
Anthropic/OpenAI/GitHub, zero telemetry, Copilot PAT stored plaintext in settings JSON.
- [x] **B6 [agent] LICENSE.** Add MIT (matching MarketExtension). Without it the public repo is
all-rights-reserved by default.
- [x] **B7 [agent] README fixes.** (demo-mode claim removed, build/deploy section fixed 2026-08-14; badges/screenshots deferred to post-approval) Remove the false "Demo mode" claim (line 24 — decided: not
implementing it); fix "Deploy the MSIX from Visual Studio" (line 52) vs the Rider reality. Later
(after Store approval): release/downloads badges, Store badge
(`https://apps.microsoft.com/detail/<store-id>`), winget one-liner, screenshots — copy
MarketExtension's README structure.
- [x] **B7 [agent] README fixes.** (restructured to MarketExtension's README shape 2026-08-14:
badges, dock-strip hero, non-affiliation note, Installation, per-feature screenshot sections,
FAQ, MIT footer. Store badge + winget one-liner are stubbed in an HTML comment — after Store
approval, uncomment and fill in the `<STORE_ID>`.)
- [x] **B8 [either] Store listing copy → `notes/store-listing.md`.** (drafted 2026-08-14 — user reviews before Partner Center paste) Short + full description,
**non-affiliation paragraph** (not affiliated with/endorsed by Anthropic, OpenAI, GitHub, or
Microsoft), disclose that the app requires third-party subscriptions/sign-ins (Store policy),
Expand Down Expand Up @@ -112,8 +111,12 @@ manifest description written, minimal capabilities, GitHub remote configured.
`setup-template.iss` (its `[Registry]` COM block must use this repo's GUID
`90ff65ac-91f0-4e40-b50c-4dfa6b58c511`).
- [x] **E20 [agent] `notes/releasing.md`.** Skeleton created alongside this checklist.
- [ ] **E21 [user] Screenshots → `listing/`.** Hub, provider page, dock bands, settings — doubles
as Store listing shots and README art. Needs A1/A2 branding first.
- [x] **E21 [user] Screenshots → `listing/`.** (done 2026-08-14) Framed-on-gradient shots in
`listing/`: `screenshot_panel_hub` (hero), `screenshot_{claude,codex,copilot}_hub` (provider
pages, 16:9 Store-ready), `screenshot_bands` (1:1, band management), `screenshot_dock` (3:1
strip). `base_screenshot_*` are the raw captures. Note for F22: Store uploads may need the 1:1 /
3:1 shots downscaled or padded (the 7200px dock strip exceeds the 3840×2160 ceiling); hub shots
upload as-is.

## F. Store submission & post-Store

Expand Down
Loading