Commit Graph
257 Commits
Author SHA1 Message Date
lzt404 0bb6eab4cb refactor(agents): remove Cursor CLI support 2026-09-23 02:47:28 +08:00
lzt404 8901eff9bb feat(agents): add Cursor CLI support and remove Antigravity and Cursor IDE integrations 2026-09-21 21:58:01 +08:00
lzt404 84c29782b0 fix(agents): fix antigravity settings path resolution and CLI launch in PowerShell
Resolve Antigravity IDE configuration directory from installed executable metadata and product.json before falling back to legacy paths.

Launch Antigravity CLI via System.Diagnostics.Process and wait for process exit when running under Windows PowerShell to avoid console I/O contention.

Add unit tests for executable product metadata resolution and PowerShell CLI process synchronization.
2026-09-21 21:58:01 +08:00
lzt404 615188b390 feat(agents): add Antigravity IDE and CLI support
- Add separate configuration entries for IDE and CLI
- Integrate Gemini-compatible routing and scoped credentials
- Support detection, launch, backup, restore, and IDE restart
- Add localized guidance and configuration, UI, and native integration tests
2026-09-21 21:58:01 +08:00
lzt404 3545941414 feat(agents): add WorkBuddy configuration support
- Support installation detection, configuration, backup, restore, launch, and restart
- Handle both models.json formats while preserving custom settings
- Simplify model names and retain existing CPA models when switching
- Fix model visibility restoration when disabling integration
- Add regression tests, translations, and documentation
2026-09-21 21:58:01 +08:00
lzt404 e9fd393ace fix(macos): support system menu bar icon visibility settings 2026-09-20 18:09:32 +08:00
lzt404 100f5df737 Revert "feat(quota): unify OAuth and API balance lookup (#279)"
This reverts commit d473c8b8f186e82eb63e15d7a3bc54f05810b087.
2026-09-20 18:09:32 +08:00
StarryandZehua Feng 385dd69e8f feat(quota): unify OAuth and API balance lookup (#279)
Co-authored-by: Zehua Feng <zehua.feng@hand-china.com>
2026-09-20 18:09:32 +08:00
lzt404 cb7c701f04 fix: allow provider entries with shared credentials
- Compare full configurations when checking for duplicates
- Keep edits, toggles, reordering, deletion, and remarks isolated
- Migrate existing remarks and add regression coverage

Fixes #276
2026-09-19 20:42:30 +08:00
lzt404 bac67c1524 feat: display multilingual release notes in version management
- Support Simplified Chinese, Traditional Chinese, English, and Japanese
- Follow the UI language and show a notice when notes are unavailable
- Avoid language and content fallbacks
- Generate Release bodies and update manifests from per-version Markdown
- Add collapsible notes, publication dates, and links to full releases
- Test publishing, legacy manifest compatibility, and localized rendering
2026-09-19 20:42:30 +08:00
lzt404 c9c0c4cf1c fix(agents): preserve user settings and retain dormant Codex provider
- Restore integration settings with a three-way merge that preserves user edits
- Preserve Claude Code subagent models and Claude Desktop cowork settings
- Retain the dormant cpa-gui provider for historical Codex sessions
- Update integration state transactionally and preserve legacy cleanup behavior
- Add lifecycle and connection-state regression tests
2026-09-19 20:42:30 +08:00
lzt404 9ff9a6c317 fix(core): stabilize runtime status and separate service readiness 2026-09-19 00:36:18 +08:00
lzt404 e9805b395d chore(version): bump cpa-gui version to 0.2.97 2026-09-18 18:27:16 +08:00
lzt404 deb7ad71de chore: remove unused platform-specific parsing code 2026-09-18 18:17:31 +08:00
lzt404 de01219cc8 fix(network): allow manual proxy overrides when system proxy is detected 2026-09-18 18:17:31 +08:00
lzt404 abfe65e656 fix: scope API access remarks to provider records
Fixes #267
2026-09-18 18:17:31 +08:00
lzt404 bd57545c7f feat(usage): add confirmed database cleanup controls 2026-09-18 18:17:31 +08:00
lzt404 911a20a91a feat(usage): add configurable database size limit 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
Roomen 40e64b535e feat(agents): support Ghostty as default terminal on macOS 2026-09-18 18:17:31 +08:00
lzt404 f4d91b59fc fix(agents): probe Windows installs without encoded PowerShell 2026-09-18 18:17:31 +08:00
lzt404 ec07502de9 feat(agents): restore configuration disable and clear actions 2026-09-18 18:17:31 +08:00
lzt404 050dbddca4 feat(network): auto-detect system proxy and keep user overrides 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 e7f96e12d7 chore(version): update cpa-gui version to 0.2.96 2026-09-15 17:15:21 +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 e25da0c517 chore(version): update cpa-gui version to 0.2.95 2026-09-15 02:39:03 +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 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 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 216948d580 fix(usage): reconnect collector after management key rotation
- Detect Web UI secret and port changes in the usage collector
- Drop stale Redis subscriptions authenticated with the old key
- Reset queue source selection and reconnect with the latest configuration
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 bc2c873df1 chore: update version to 0.2.91 2026-09-15 02:39:03 +08:00
lzt404 e77764be77 fix(main): simplify argument handling for portable update helper 2026-09-12 19:35:48 +08:00
lzt404 51ac7fea87 chore: update dependencies in Cargo.toml 2026-09-11 16:25:14 +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 145b585c3f fix(agents): detect ZCode in custom Windows install locations
- Discover installation paths from registry entries and shortcuts
- Handle installer records without InstallLocation
- Avoid launching the desktop app when version metadata is unavailable
- Add regression tests for path resolution and version detection
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 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 9042421292 fix(config): prevent API provider loss during alias updates and migration
- Validate provider integrity before saving alias changes
- Reject rendered YAML that differs from the expected configuration
- Abort migration when existing config cannot be read or parsed
- Remove lossy config recovery fallback
- Add regression tests for provider loss, locked files, malformed config, and repeated updates
2026-09-11 16:25:14 +08:00
lzt404 88ea6f1c9a fix(agents): rebuild desktop routes from enabled providers
Do not treat managed aliases under disabled providers as usable Desktop routes. Match each route against its source on an enabled provider, skip disabled sources when creating aliases, and exclude disabled mappings when identifying direct aliases.

Validation: four regression tests fail before the fix and pass afterward; cargo test --locked (456 passed); cargo check --locked. After migrating the two affected live routes to the existing enabled source, Haiku and Opus messages requests both returned HTTP 200.
2026-09-11 16:25:14 +08:00
lzt404 ade2d50a69 fix(aliases): clear raw options when deleting and recreating aliases
Use one cleanup path for override and override-raw across model and Fast alias creation and deletion. Remove supported effort and service-tier keys while preserving unrelated parameters, selector conditions, other protocols, and grouped models.

Validation: cargo test --locked alias_ (72 passed), including raw High/Fast deletion followed by Low/non-Fast recreation, orphaned raw rules, conditional grouped rules, and all supported effort keys.
2026-09-11 16:25:14 +08:00
lzt404 a57c81e4e1 fix(aliases): preserve payload rules for surviving channels
Scope payload cleanup to the selected OAuth protocol and retain rules still used by surviving OAuth aliases, API mappings, or real models. Preserve protocol-free shared rules while any matching mapping survives, and limit creation cleanup to its source protocol.

Validation: cargo test --locked tests::alias_delete (6 passed), including Codex/Claude collisions, wildcard selectors, same-protocol OAuth channels, and API mappings.
2026-09-11 16:25:14 +08:00
lzt404 e84e576d1d fix(aliases): delete API aliases without reasoning overrides
Determine deletability from the actual provider model mapping instead of requiring an effort payload rule. Keep source models and unrelated aliases intact.

Validation: cargo test --locked tests::alias_delete (3 passed), covering all four API provider sections, removing every option in the editor, and real-model name collisions.
2026-09-11 16:25:14 +08:00
lzt404 69cc19679c fix(agents): restore desktop core routes with configuration history
Include CPA model aliases in Desktop history previews and revision checks. Restore routes and local history through a serialized transaction, rolling core changes back when local restoration fails. Reject legacy fixed-route snapshots without mapping metadata.

Validation: cargo test --locked tests::alias_save (13 passed), including successful route restoration, stale previews, local conflicts, core write failure, and rollback.
2026-09-11 16:25:14 +08:00
lzt404 60a3683976 fix(agents): record model mapping changes without file changes
Include Claude Desktop mappings in history change detection and preserve the previous selection. Show mapping changes in history previews and invalidate previews when metadata changes.

Validation: 15 history tests pass, including identical-profile model changes and repeated no-op saves.
2026-09-11 16:25:14 +08:00