Commit Graph
103 Commits
Author SHA1 Message Date
lzt404 be7284f0f1 fix(aliases): stop treating display names as aliases
#CLOSE #259
2026-09-18 18:17:31 +08:00
lzt404 433182f9b0 feat(codex): improve API/OAuth switching and configuration recovery
- Add Clear integration to configuration management
- Guide users without OAuth credentials through clearing integration and signing in
- Separate apply and close actions, showing Close only when configuration is applied
- Preserve credentials and original settings across switches
- Restore the CPA model catalog when reconnecting
- Add configuration switching and UI regression tests
2026-09-15 17:15:21 +08:00
lzt404 76da9b9944 feat(agents): convert codex auth method selector to segmented radio buttons 2026-09-15 17:15:21 +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 67484ac423 style(ui): simplify theme labels and arrange options in one row
- Rename theme options to Light, Dark, and Auto across locales
- Display all three options in a single row
- Update localization test expectations
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 0725f6ed8a refactor: remove unused functions and frontend declarations
- Remove four redundant Rust functions
- Update tests to call the active implementations directly
- Remove unused TypeScript state, parameters, and imports
- Resolve unused-code compiler warnings
2026-09-15 02:39:03 +08:00
lzt404 a9297b86cc fix(ui): reduce whitespace around agent configuration save controls
- Remove empty feedback placeholders and fixed-height rows
- Place configuration status beside the save button
- Compact save controls in the simplified view
- Add responsive layout and notification stability regression 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 19a9b4fc09 feat(api-access): replace model selector with a dual-pane layout
- Separate selected and unselected models with independent search and bulk actions
- Fix selection initialization and ignore stale discovery responses
- Improve keyboard navigation and responsive layouts
- Update translations and add model selection UI regression tests
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 6d7f3c8480 feat(agents): preserve page state across agent navigation
- Remember tabs, help expansion, and feedback per agent and view mode
- Restore Codex session pagination and selections with safe data reloads
- Add UI regression coverage for navigation, remounts, and draft retention
2026-09-11 16:25:14 +08:00
lzt404 db4ac1dfe4 fix(agents): clarify configuration guidance and restore model list settings
- Move Codex model list settings back to Basic configuration in both modes
- Clarify the ezcpa template's purpose for repairing agent configurations
- Separate template application from clearing configuration
- Point OAuth sign-in guidance to Configuration management
- Update translations and UI regression checks
2026-09-11 16:25:14 +08:00
lzt404 9d0baa4c69 feat(agents): simplify configuration UI and expand restart support
- Add configuration management tabs to full and easy modes
- Share run controls and feedback while preserving drafts and Claude settings
- Support desktop app restarts and Harness Web restarts with original parameters
- Improve responsive layouts, keyboard navigation, and localization
- Add UI regression and isolated process restart tests
2026-09-11 16:25:14 +08:00
lzt404 034a111c0b fix(ui): soften status indicators on the agent configuration page
Remove colored sidebar dots and clarify configured status text.
Replace the Pi update dot with a neutral text label.
Update Chinese, English, and Japanese translations.
2026-09-11 16:25:14 +08:00
lzt404 6b5d88cf9b fix: preserve legacy Claude alias sources during reconfiguration
Resolve model sources before replacing role aliases and support legacy
API and OAuth configurations that retain only aliased model entries.

Add regression coverage for source priority, disabled providers,
cross-role updates, and transaction rollback.
2026-09-11 16:25:14 +08:00
lzt404 36d3181475 fix(aliases): prevent stale edits and preserve payload rules
- Validate configuration revisions and reject ambiguous model mappings
- Preserve raw overrides, conditions, and unchanged settings
- Serialize saves and restore configuration after write failures
- Add regression coverage and remove comments from affected files
2026-09-11 16:25:14 +08:00
lzt404 7c9b8897ed fix(aliases): preserve configuration when editing model aliases
Resolve existing aliases from their configuration, preserve metadata and unrelated payload parameters, and keep shared rules intact when renaming or changing sources.

Fix dialog feedback, keyboard focus, and narrow layouts. Add regression coverage for alias edits and browser interactions.
2026-09-11 16:25:14 +08:00
lzt404 7acc0e9c74 feat(agents): improve configuration workflow and add history recovery
- Update configuration files directly while preserving custom settings
- Add versioned backups, restore previews, and managed-field recovery
- Detect first-time setup, outdated configuration, and invalid files
- Add conflict detection and rollback for multi-file updates
- Simplify configuration actions and clarify OAuth mode
- Add backend and UI regression coverage
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 0e5b4b00ad fix(auth): rename credential file labels and highlight enable action
- Use credential-file terminology in Simplified and Traditional Chinese
- Highlight the Enable button for disabled credentials without dimming actions
- Add regression tests for terminology and button styling
2026-09-07 01:26:23 +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 45ecd37ce5 fix(update): compare core versions using SemVer
Only show update indicators when the remote core version is newer.
Add coverage for prereleases, build metadata, invalid versions, and version boundaries.
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 ccbe3a5625 fix(update): retry core downloads across available sources 2026-09-04 01:50:46 +08:00
lzt404 594ab43b6a fix(update): show notification when CPA core update is available 2026-09-04 01:50:46 +08:00
lzt404 cff6a21974 feat(model-aliases): restore Fast service-tier option
- enable Fast for Codex API, OpenAI-compatible, and Codex OAuth sources
- apply service_tier=priority as an independent payload override
- support Fast-only and reasoning-effort combinations
- disable Fast until a supported model source is selected
2026-09-03 02:44:48 +08:00
lzt404 6755b7c90e feat: add easy mode and improve OAuth, API, and agent setup flow 2026-08-30 16:55:25 +08:00
lzt404 f695193e24 fix(usage): normalize cache token accounting 2026-08-28 00:51:28 +08:00
lzt404 cb2cca1d7a fix(codex): align DeepSeek reasoning levels with low high max 2026-08-26 22:46:23 +08:00
lzt404 8c80ce1151 fix(model-alias): apply reasoning effort overrides by model source
- Decouple reasoning effort from the Fast service tier
- Generate native override parameters for each provider
- Validate efforts against the model’s supported levels
- Preserve complete reasoning capabilities on configured models
- Add coverage for multi-provider alias overrides
2026-08-26 01:56:46 +08:00
lzt404 1af6a7cfea feat(usage): add configurable speed and cache rate columns 2026-08-26 01:56:46 +08:00
lzt404 32b47575b5 feat: redesign version management and restore core after updates
- Add a dedicated version management page
- Improve app, core, and model catalog status displays
- Preserve the core runtime state during updates
- Automatically restart the core after successful, failed, or cancelled updates
- Add tests for version management and core runtime restoration
2026-08-26 01:56:46 +08:00