Commit Graph
57 Commits
Author SHA1 Message Date
lzt404 ba247159da feat(usage): render token trends as stacked bars with an adaptive time axis 2026-09-18 18:17:31 +08:00
lzt404 81597fcf91 feat(claude-desktop): support custom model aliases
- Add editable model lists, alias suggestions, and usage guidance
- Ignore unselected rows and validate alias conflicts and naming rules
- Fix alias routing through disabled or excluded providers
- Preserve model routes when restoring legacy backups
- Repair legacy metadata and remove unsupported context fields
- Add regression tests for validation and configuration recovery
2026-09-18 18:17:31 +08:00
lzt404 be7284f0f1 fix(aliases): stop treating display names as aliases
#CLOSE #259
2026-09-18 18:17:31 +08:00
lzt404 8f52a08177 feat(usage): show 30-minute trend ticks and restore light theme 2026-09-15 02:39:03 +08:00
lzt404 accb93c75c feat(usage): rebuild token trend chart and fill usage page height 2026-09-15 02:39:03 +08:00
lzt404 0c37f4d1bb feat(providers): add Devin OAuth and quota support
- Add Devin login to standard and simplified modes
- Support credentials, model aliases, and exclusions
- Display daily and weekly quotas with reset times
- Validate callbacks and prevent stale login updates
- Add translations, theme support, and integration tests
2026-09-15 02:39:03 +08:00
lzt404 18a9bfbaa9 fix(ui): unify bottom-right notifications and improve dialog interactions
- Move operation feedback into a shared floating stack to prevent layout shifts
- Allow identical errors to reappear after dismissal
- Support keyboard navigation, scrolling, and focus restoration in dialogs
- Add notification interaction regression tests
- Remove code comments throughout the project
2026-09-15 02:39:03 +08:00
lzt404 32b55920af fix(usage): synchronize Keeper metrics and improve detail refresh
- Align TPS and token normalization with Keeper
- Add Redis usage queue batch pulling with HTTP fallback
- Prevent cache and invalid token double counting
- Refresh usage details immediately after new records arrive
2026-09-15 02:39:03 +08:00
lzt404 2b41eab8df feat(api-access): manage DeepSeek through Codex API 2026-09-15 02:39:03 +08:00
lzt404 2a99db2908 feat(api-access): unify DeepSeek model discovery and selection
- require explicit model discovery before saving DeepSeek connections
- preserve selected models when refreshing the catalog
- mark model lists stale when connection details change
- add model refresh support to easy mode
- apply built-in DeepSeek reasoning levels consistently
2026-09-15 02:39:03 +08:00
lzt404 739c6e1711 feat(theme): support system appearance across desktop platforms
- Use Tauri native theme APIs with Linux desktop preference support
- Fall back to WebView theme detection for startup and browser preview
- Add a follow-system option to both standard and beginner modes
- Persist preferences and handle resume events and async race conditions
- Add translations and theme behavior and UI regression tests
2026-09-11 16:25:14 +08:00
lzt404 9ba87748f8 fix(agents): display resolved DeepSeek Harness context window values
- Read context limits from the core catalog and configuration
- Show numeric values with their source instead of automatic placeholders
- Preserve manual overrides and support resetting to inherited values
2026-09-11 16:25:14 +08:00
lzt404 4d8d549e04 feat(agents): add configurable DeepSeek Harness model catalog
- Separate default model selection from catalog configuration
- Use API metadata with per-model and provider overrides
- Expose documented capability, reasoning, protocol, and request settings
- Preserve customizations with conflict detection and transactional rollback
2026-09-11 16:25:14 +08:00
lzt404 ca76f344fb fix(codex): preserve context defaults from the client model API 2026-09-11 16:25:14 +08:00
lzt404 805e2aece0 fix(quota): remove extra reset restrictions while preserving confirmation
- Allow resets when applicable credits are zero or a previous reset failed
- Remove applicable-credit details from the confirmation and obsolete tooltips
- Keep the existing in-app dialog and require explicit confirmation before submitting
- Update regression tests for cancellation, confirmation, and retries
2026-09-09 12:13:57 +08:00
lzt404 70ed5bc7f2 feat(agents): update DeepSeek Harness integration for current DSH
- write credentials using the versioned refs schema
- repair misplaced EasyCLIProxyAPI credential keys
- add Web, Headless, ACP, SDK and custom profile launch options
- track and safely stop managed DSH process trees
- detect occupied Web ports before launch
- add localized UI and regression tests

Fixes #207
2026-09-08 19:39:34 +08:00
lzt404 7df4a28428 fix(quota): align Grok quota queries with Management Center
- Merge weekly and monthly billing fields to preserve 100% remaining quota
- Display unknown usage instead of assuming a full balance
- Align paid account health checks and billing failure fallback
- Add localized messages and regression tests
2026-09-08 13:35:08 +08:00
lzt404 40ba85d6f0 fix(codex): load context defaults from CPA model definitions
- Resolve context limits from core model definitions, aliases, and configuration
- Preserve user overrides and display context sources and fallback hints
- Refresh defaults from CPA when restoring all model settings
- Keep restore-all available without customizations and remove its icon
- Allow saving restored defaults even when values remain unchanged
- Add regression coverage for context resolution and default restoration
2026-09-07 19:28:21 +08:00
lzt404 ce9944c316 fix: remove xAI availability testing
- Remove test buttons from credential and quota pages
- Delete paid probe requests, confirmations, and result feedback
- Clean up related translations and obsolete button hints
- Preserve quota queries and update tests to verify no paid probes occur
2026-09-07 19:28:21 +08:00
lzt404 911047d009 fix: replace native dialogs and improve quota reset handling
- Use consistent in-app dialogs for confirmation actions
- Keep quota refreshes free of prompts and automatic paid probes
- Add a separate confirmation flow for xAI availability tests
- Require explicit approval for Codex resets and prevent duplicate requests
- Show reset outcomes and require a quota refresh before retrying failures
- Cover confirmation and reset flows with fully mocked tests
2026-09-07 19:28:21 +08:00
lzt404 492aa75e81 fix(auth-files): separate account and provider-wide model exclusions
- Align model management with Management Center by separating model viewing, account exclusions, and provider-wide exclusions
- Read and update excluded_models per credential without affecting other accounts
- Make checked models represent exclusions and support manual wildcard rules
- Limit Select All to candidate models and preserve wildcard and off-list rules when clearing selections
- Allow rule editing when the model list is empty or unavailable, including removal of wildcard bans
- Update translations and add regression coverage for account isolation and rule persistence
2026-09-07 19:28:21 +08:00
lzt404 18c285a810 fix(ui): unify action feedback and improve localization
- Replace transient toasts with dismissible, accessible inline notices
- Remove redundant success messages for toggles and clipboard actions
- Preserve list focus during background refreshes
- Remove duplicate English captions and localize onboarding content
- Complete Japanese translations and remove English fallback
- Preserve API field names, Token units, and raw reasoning-level values
- Add regression tests for operation feedback and localization
2026-09-07 01:13:45 +08:00
lzt404 969e8527b3 fix(quota): use native Tauri dialogs for reset confirmation
- Replace browser confirmations and grant dialog permissions
 - Await explicit consent before consuming reset credits
 - Prevent duplicate resets and restore state on cancellation
 - Add native confirmation regression tests
2026-09-06 19:02:49 +08:00
lzt404 e4d0059efa feat(quota): sync upstream quota queries and improve reset handling
- Update Claude, Codex, Kimi, Antigravity, and xAI compatibility
 - Display plan details, subscription expiry, and dynamic reset times
 - Deduplicate quota requests and serialize Codex resets
 - Require confirmation for potentially billable xAI health probes
 - Add quota parsing, request, and rendering regression tests
2026-09-06 19:02:49 +08:00
lzt404 bd959af6ed fix(versions): check for updates every five page visits
- Increment the counter on each page visit, check for updates at five, and reset it to zero
- Prevent duplicate counting on re-renders and reset the counter on app restart
- Preserve startup and manual checks while avoiding duplicate requests
- Preserve the saved download source and stop checking automatically when sources change
- Add regression tests for visit counting and check triggers, and update English and Chinese documentation
2026-09-06 19:02:49 +08:00
lzt404 9cf3878b28 perf: reduce background overhead and improve UI responsiveness
- Move blocking usage queries and core lifecycle operations to background
  workers, limit concurrency, and prevent overlapping core operations
- Coalesce statistics refreshes and consolidate category aggregations,
  reducing unfiltered analysis queries from 11 to 4
- Cache bundled model prices, reuse management API connections, and reduce
  redundant checks in the usage collector
- Throttle download progress and guide positioning updates, and avoid
  redundant renders when core status is unchanged
- Bound and coalesce configuration watcher events, and reuse a single
  model catalog refresh worker
- Stop scheduling remaining health checks when the dialog closes and
  limit backend health-check concurrency
- Replace overlapping OAuth polling with sequential requests, retry
  backoff, timeouts, and stale callback protection
- Add regression tests and a statistics benchmark script, and move
  performance verification documentation to agent_docs
2026-09-06 01:28:58 +08:00
lzt404 673a322c00 feat(codex): add customizable model catalog editor
- add per-model context, reasoning, modality, visibility, and parallel tool settings
- persist customizations separately and apply them during catalog generation
- support restoring individual or all models to official fallback templates
- expose full fallback reasoning levels while keeping Fast available
- add localized UI, validation, documentation, and regression tests
2026-09-05 18:05:57 +08:00
lzt404 f695193e24 fix(usage): normalize cache token accounting 2026-08-28 00:51:28 +08:00
lzt404 1af6a7cfea feat(usage): add configurable speed and cache rate columns 2026-08-26 01:56:46 +08:00
lzt404 2b9ceb11fb Dev (#164)
* chore(release): stop publishing legacy Windows update packages

* feat(agents): support OpenCode Desktop across platforms

Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.

Closes #156

* fix(codex): align model display names and show total session count

- preserve runtime model identity in generated catalogs
- count distinct sessions across database and rollout sources
- update session count labels in all supported languages

* fix(codex): keep config and auth files in sync

- generate auth.json for API key configuration
- preserve and validate OAuth credentials
- include auth.json in transactional updates and rollback
- retain compatibility with legacy Codex configuration states

* fix(cpa-gui): update version to 0.2.59 in Cargo files

* fix(codex): preserve OAuth mode after closing configuration

* feat(config): add TLS management and protocol-aware local URLs

- add TLS controls to advanced settings
- persist certificate and private key paths
- restart the core after TLS changes
- switch WebUI, API and management URLs between HTTP and HTTPS
- synchronize agent configurations and detection with the active protocol

* refactor(config): reorganize network, routing, and TLS settings

- split network settings and session routing into separate tabs
- move TLS configuration into network settings
- preserve TLS restart and HTTPS URL synchronization behavior

* feat(config): add independent network settings and custom listen IP

* fix(navigation): allow access to usage records while core is stopped

* refactor(home): show a single API URL based on the configured listen IP

* feat(config): add file pickers for TLS certificate and private key
2026-08-23 17:56:13 +08:00
lzt404 d0bd5a890a Dev (#162)
* chore(release): stop publishing legacy Windows update packages

* feat(agents): support OpenCode Desktop across platforms

Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.

Closes #156

* fix(codex): align model display names and show total session count

- preserve runtime model identity in generated catalogs
- count distinct sessions across database and rollout sources
- update session count labels in all supported languages

* fix(codex): keep config and auth files in sync

- generate auth.json for API key configuration
- preserve and validate OAuth credentials
- include auth.json in transactional updates and rollback
- retain compatibility with legacy Codex configuration states

* fix(cpa-gui): update version to 0.2.59 in Cargo files
2026-08-23 16:19:03 +08:00
lzt404 0c83be3727 feat(agents): add Codex app restart and CLI directory history 2026-08-16 02:04:17 +08:00
lzt404 51ea7fd69f fix(agents): sync Kimi and Grok context windows with CPA core 2026-08-15 15:51:56 +08:00
lzt404 b312b904a2 fix(agents): speed up detection and sync ZCode default model 2026-08-15 15:28:01 +08:00
lzt404 49893bb32e feat(agents): add Kimi Code and Grok Build integrations 2026-08-15 14:24:25 +08:00
lzt404 d093a0122e feat(agents): add ZCode client integration 2026-08-15 14:05:21 +08:00
lzt404 5c770c5605 feat: add DeepSeek Harness configuration support 2026-08-15 00:59:17 +08:00
lzt404 18c9546b51 fix(health-check): record Gemini thought-only responses as successful usage 2026-08-14 18:43:12 +08:00
lzt404 be08a4bfdf fix(oauth): persist successful login status across navigation 2026-08-11 18:38:57 +08:00
lzt404 476d6e6769 fix(agents): isolate Claude Code and Desktop mapping state 2026-08-11 14:12:16 +08:00
lzt404 4484e3a190 fix(agents): isolate Claude client model mapping drafts 2026-08-11 14:04:46 +08:00
lzt404 e9470fbe14 fix(agents): support Claude Desktop aliases for Codex OAuth models 2026-08-11 12:29:35 +08:00
lzt404 8655f6aae4 feat(agents): add per-role 1M context controls for Claude 2026-08-10 18:14:35 +08:00
lzt404 d2f238f829 refactor(agents): remove direct client launch functionality 2026-08-07 23:04:18 +08:00
lzt404 65df80091c fix(openai-compatibility): append chat and models paths directly to base URLs 2026-08-07 13:47:49 +08:00
lzt404 02c6fac72a fix: track agent config changes and health-check selected models only 2026-08-04 18:07:34 +08:00
lzt404 efc8811d0c feat: refine WebUI access and Claude Desktop model mappings
- add a shortcut to open the management WebUI
- hide redundant runtime credential identifiers
- simplify health check descriptions
- use existing Claude model aliases directly
- preserve context capabilities from original models
2026-08-02 16:14:25 +08:00
lzt404 1a33b006e2 feat(api-access): add per-model health checks with true first-token latency 2026-08-02 15:54:03 +08:00
lzt404 fd5d1f0ba4 feat(api-access): add provider health checks with multi-key status and latency 2026-08-02 15:32:48 +08:00
lzt404 1edf647581 feat(agents): map Claude Desktop context capabilities from model API 2026-08-02 15:17:07 +08:00