feat: track multiple named API keys #10

Merged
bjoern merged 1 commit from feature/multi-key-tracking into main 2026-08-13 06:23:58 +02:00
Owner

Extend the tool from a single key to any number of user-named keys.

  • credentials: KeyManager + ApiKey store secrets in the keyring (one entry
    per key, keyed by a random id) with name/id metadata in keys.json; a legacy
    single key is auto-migrated to a "Default" key on first launch.
  • settings UI: replace the single-field dialog with a Name/Key table
    (add/edit/delete, masked values); menu item renamed "Manage API Keys…".
  • panel: one 5-hour + weekly section per key; peak banner and "updated"
    footer kept singular. Auto-expands up to 3 keys, then caps and scrolls.
  • tray icon: adopts the best (healthiest) key — lowest usage across its
    windows — so blue+purple picks blue, red+purple picks red.
  • tooltip: one line per key, prefixed with the key name, plus a single
    shared peak line.
  • notifications: threshold state is now per-key (prefixed with the key
    name); peak-change notification stays global.
  • tests: multi-key credential store, icon selection, masking, tooltip and
    panel auto-expand/scroll sizing.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

Extend the tool from a single key to any number of user-named keys. - credentials: KeyManager + ApiKey store secrets in the keyring (one entry per key, keyed by a random id) with name/id metadata in keys.json; a legacy single key is auto-migrated to a "Default" key on first launch. - settings UI: replace the single-field dialog with a Name/Key table (add/edit/delete, masked values); menu item renamed "Manage API Keys…". - panel: one 5-hour + weekly section per key; peak banner and "updated" footer kept singular. Auto-expands up to 3 keys, then caps and scrolls. - tray icon: adopts the best (healthiest) key — lowest usage across its windows — so blue+purple picks blue, red+purple picks red. - tooltip: one line per key, prefixed with the key name, plus a single shared peak line. - notifications: threshold state is now per-key (prefixed with the key name); peak-change notification stays global. - tests: multi-key credential store, icon selection, masking, tooltip and panel auto-expand/scroll sizing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
feat: track multiple named API keys
All checks were successful
CI / test (pull_request) Successful in 23s
74a8e80a3f
Extend the tool from a single key to any number of user-named keys.

- credentials: KeyManager + ApiKey store secrets in the keyring (one entry
  per key, keyed by a random id) with name/id metadata in keys.json; a legacy
  single key is auto-migrated to a "Default" key on first launch.
- settings UI: replace the single-field dialog with a Name/Key table
  (add/edit/delete, masked values); menu item renamed "Manage API Keys…".
- panel: one 5-hour + weekly section per key; peak banner and "updated"
  footer kept singular. Auto-expands up to 3 keys, then caps and scrolls.
- tray icon: adopts the best (healthiest) key — lowest usage across its
  windows — so blue+purple picks blue, red+purple picks red.
- tooltip: one line per key, prefixed with the key name, plus a single
  shared peak line.
- notifications: threshold state is now per-key (prefixed with the key
  name); peak-change notification stays global.
- tests: multi-key credential store, icon selection, masking, tooltip and
  panel auto-expand/scroll sizing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
bjoern merged commit ec28278945 into main 2026-07-01 18:54:41 +02:00
bjoern deleted branch feature/multi-key-tracking 2026-07-01 18:54:42 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
TeamAI/zai-tray-checker!10
No description provided.