Commit Graph
458 Commits
Author SHA1 Message Date
kaitranntt d64115f91a feat(analytics): add 24H hourly chart with caching and UI improvements
- Add GitHub link button next to connection status for quick issue reporting
- Add 24H button on analytics page with hourly granularity chart
- Add /api/usage/hourly endpoint with date range filtering
- Add hourly data aggregation and caching (disk + memory)
- Fix timezone display: convert UTC hours to local time in chart
- Fix CLIProxy Stats card loading state synchronization
- Bump disk cache version to 3 (includes hourly data)
2025-12-12 15:33:22 -05:00
kaitranntt 5ef3e324f8 ci(release): add issue labeling for dev releases
- Add label-pending-release.yml workflow to tag issues when PR created
- Update dev-release.yml to comment and label issues after npm publish
- Labels: pending-release (yellow), released-dev (blue)
- Auto-removes pending-release when released-dev is applied
2025-12-12 05:57:58 -05:00
github-actions[bot] 3c7e071b61 chore(release): 5.16.0-dev.6 [skip ci] 2025-12-12 10:52:21 +00:00
kaitranntt 53259ce1c7 docs: update project documentation with recent features 2025-12-12 05:49:48 -05:00
github-actions[bot] 111dba444c chore(release): 5.16.0-dev.5 [skip ci] 2025-12-12 10:40:33 +00:00
Kai (Tam Nhu) TranandGitHub 2a275468f0 Merge pull request #90 from kaitranntt/kai/fix/cliproxy-version-pin
fix(cliproxy): respect version pin when user installs specific version
2025-12-12 05:38:30 -05:00
kaitranntt a7ba1a1983 fix(cliproxy): respect version pin when user installs specific version
When a user explicitly installs a specific CLIProxy version via
`ccs cliproxy --install <version>`, this version should persist and
not be auto-updated. Previously, subsequent commands would check for
updates and overwrite the user's choice.

Changes:
- Add .version-pin file to persist user's explicit version choice
- Update ensureCLIProxyBinary() to check for version pin and skip auto-update
- Update --install command to save version pin with "(pinned)" confirmation
- Update --latest command to clear version pin and enable auto-update
- Add --update command as alias for --latest (for unpinning workflow)
- Update status display to show "(pinned)" indicator when version is pinned
- Update help text to document new pin/unpin behavior

Closes #88
2025-12-12 05:36:49 -05:00
github-actions[bot] 932a74e199 chore(release): 5.16.0-dev.4 [skip ci] 2025-12-12 10:25:07 +00:00
Kai (Tam Nhu) TranandGitHub fb37d3c717 Merge pull request #86 from kaitranntt/kai/fix/profile-not-found
fix(config): prevent profile loss from strict config validation
2025-12-12 05:23:04 -05:00
github-actions[bot] 8b3316fa77 chore(release): 5.16.0-dev.3 [skip ci] 2025-12-12 10:20:24 +00:00
Kai (Tam Nhu) TranandGitHub af48b61218 Merge pull request #87 from kaitranntt/kai/feat/standardize-ui
feat(cli): standardize UI output with ui.ts abstraction layer
2025-12-12 05:18:26 -05:00
kaitranntt d343abca53 fix(config): prevent profile loss from strict config validation
Relaxed isUnifiedConfig() type guard to accept version >= 1 and partial
configs. Added mergeWithDefaults() to preserve user data while filling
missing sections. Fixes profile "not found" after terminal restart.

Closes #82
2025-12-12 05:12:08 -05:00
kaitranntt 4005f1c01c feat(cli): standardize UI output with ui.ts abstraction layer 2025-12-12 05:11:59 -05:00
github-actions[bot] 0b23ec2c0a chore(release): 5.16.0-dev.2 [skip ci] 2025-12-12 09:45:50 +00:00
kaitranntt e04295a1a0 chore(gitignore): remove logs directory from tracking 2025-12-12 04:43:51 -05:00
semantic-release-bot 00553390b7 chore(release): 5.16.0 [skip ci]
# [5.16.0](https://github.com/kaitranntt/ccs/compare/v5.15.0...v5.16.0) (2025-12-12)

### Features

* **cliproxy:** add provider editor with presets and control panel ([92b7065](https://github.com/kaitranntt/ccs/commit/92b7065e10618285988b4a539b503f54e5cf4baf))
* **cliproxy:** add stats fetcher and OpenAI-compatible model manager ([a94c3d6](https://github.com/kaitranntt/ccs/commit/a94c3d66004ba0921835bddd8ca5c168868e72d5))
* **ui:** add cliproxy stats overview and enhance analytics components ([c3b2d50](https://github.com/kaitranntt/ccs/commit/c3b2d50269b5ad515409cc562e204d94ab65dd87))
* **ui:** redesign cliproxy page with master-detail layout ([f8648be](https://github.com/kaitranntt/ccs/commit/f8648be6d9a9e6e94624fe700dfd9bcd1e2dbc5b))
2025-12-12 08:15:10 +00:00
Kai (Tam Nhu) TranandGitHub 1487f5f516 Merge pull request #84 from kaitranntt/dev
feat: Introduce Web Dashboard, Analytics, and Multi-Account Support
2025-12-12 03:14:14 -05:00
github-actions[bot] f8f7ea769f chore(release): 5.15.0-dev.4 [skip ci] 2025-12-12 08:12:41 +00:00
Kai (Tam Nhu) TranandGitHub 2a86ffebbb Merge pull request #83 from kaitranntt/kai/feat/cliproxy-deep-integration
feat(cliproxy): implement comprehensive UI and backend enhancements
2025-12-12 03:10:39 -05:00
kaitranntt 70e86757bf chore(cliproxy): improve config and token management 2025-12-12 03:00:53 -05:00
kaitranntt 92b7065e10 feat(cliproxy): add provider editor with presets and control panel
- Add split-view provider editor with model mapping UI and JSON editor
- Implement persistent custom presets (save/load per provider)
- Add provider logos with white backgrounds for light/dark theme
- Integrate CLIProxyAPI control panel embed via iframe
- Add service manager for CLIProxyAPI lifecycle control
- Support variant logo display using parent provider
- Add categorized model selector with search and groups
2025-12-12 01:48:58 -05:00
github-actions[bot] 53499619ac chore(release): 5.15.0-dev.3 [skip ci] 2025-12-12 02:10:58 +00:00
Kai (Tam Nhu) TranandGitHub ec1ac2ee96 Merge pull request #81 from kaitranntt/dev
chore: add GitHub Sponsors funding configuration
2025-12-11 21:08:47 -05:00
github-actions[bot] a50d2605c9 chore(release): 5.15.0-dev.2 [skip ci] 2025-12-12 01:54:50 +00:00
kaitranntt bff6acb2af chore: add GitHub Sponsors funding configuration
Add FUNDING.yml to enable "Sponsor" button on repository
2025-12-11 20:52:17 -05:00
kaitranntt f8648be6d9 feat(ui): redesign cliproxy page with master-detail layout
- Replace tab-based layout with sidebar + detail panel pattern
- Add provider navigation in left sidebar with quick actions
- Implement provider detail panel with model preferences and accounts
- Add Config Editor and Logs quick access in sidebar
- Fix naming consistency: Clipproxy → Cliproxy (single p) across 8 files
- Fix TypeScript errors for models and stats data shapes
2025-12-11 15:44:51 -05:00
kaitranntt 819a201391 Merge remote-tracking branch 'origin/dev' into kai/feat/cliproxy-deep-integration 2025-12-11 04:04:19 -05:00
github-actions[bot] 3de9083959 chore(release): 5.15.0-dev.1 [skip ci] 2025-12-11 08:32:10 +00:00
kaitranntt c3b2d50269 feat(ui): add cliproxy stats overview and enhance analytics components
- Add cliproxy-stats-overview component for stats display
- Update analytics page with usage insights integration
- Enhance cliproxy stats card and usage insights card
- Update cliproxy page with improved stats integration
- Refactor config-generator and stats-fetcher for better data handling
2025-12-11 03:31:09 -05:00
kaitranntt 5f389e816b docs: restructure quality gates documentation with detailed validation rules
- Reorganize quality gates into mandatory sections for main project and UI
- Add comprehensive ESLint and TypeScript configuration tables
- Include automatic enforcement and pre-commit hook information
- Update development server usage instructions
- Expand Pre-PR checklist with separate validation steps
2025-12-11 03:15:59 -05:00
kaitranntt 8897e711de style: fix prettier formatting in stats-fetcher and doctor 2025-12-11 02:16:44 -05:00
kaitranntt a94c3d6600 feat(cliproxy): add stats fetcher and OpenAI-compatible model manager
- Add stats-fetcher.ts for CLIProxy analytics integration
- Add openai-compat-manager.ts for model discovery and listing
- Add CLIProxy stats routes to web-server for real-time metrics
- Create cliproxy-stats-card component for analytics dashboard
- Add use-cliproxy-stats hook for data fetching
- Extend doctor.ts with CLIProxy health checks
- Update analytics page with CLIProxy usage metrics
2025-12-11 02:12:39 -05:00
semantic-release-bot 9b53c4d838 chore(release): 5.15.0 [skip ci]
# [5.15.0](https://github.com/kaitranntt/ccs/compare/v5.14.0...v5.15.0) (2025-12-11)

### Bug Fixes

* **cache:** use ~/.ccs/cache/ for usage and update-check files ([790ac3c](https://github.com/kaitranntt/ccs/commit/790ac3c862c81539a048db5b3f67ed8d86a86cfb))
* **migrate:** include backup path in rollback command ([0aa9131](https://github.com/kaitranntt/ccs/commit/0aa913164211b6cd0ad65b3b546e49edaa0bcc30))
* **migrate:** skip autoMigrate when running migrate command ([05a6199](https://github.com/kaitranntt/ccs/commit/05a6199d839c26ebff6278448825174466fc6518))
* **ui:** resolve layout and theme issues in profile editor ([46ee1df](https://github.com/kaitranntt/ccs/commit/46ee1df0836fac4bb6b4b75413846163ced2fc6f))

### Features

* **api-profile-ux:** Implement API & UI for profile management ([8357005](https://github.com/kaitranntt/ccs/commit/83570050ef9b68746405df8588e400faa2007c0a))
* **api-profile-ux:** implement tabbed profile editor and fix disclaimer visibility ([8c9d669](https://github.com/kaitranntt/ccs/commit/8c9d669ccec6d2c56c37f4421e5ca6d4c95703e3))
* **api:** improve create UX with URL validation and model mapping ([f83051b](https://github.com/kaitranntt/ccs/commit/f83051be40514a2084ceb06007eea37b31dd3062)), closes [#72](https://github.com/kaitranntt/ccs/issues/72)
* **cliproxy:** implement --nickname flag for account management ([0d70708](https://github.com/kaitranntt/ccs/commit/0d70708658efb4b7e431f95d69c742a28d254ca6))
* **config:** add unified YAML config with migration support ([b621b8e](https://github.com/kaitranntt/ccs/commit/b621b8e47bc63f2939b45a243173ce6b414a3ec2)), closes [#75](https://github.com/kaitranntt/ccs/issues/75)
* **dashboard:** add code editor for raw JSON settings editing ([2b1a3b4](https://github.com/kaitranntt/ccs/commit/2b1a3b48799eae30b5d0493e5af65edab204f4d8)), closes [#73](https://github.com/kaitranntt/ccs/issues/73)
* **profile:** refactor create UX with dialog-based interface ([720ff9d](https://github.com/kaitranntt/ccs/commit/720ff9d7d6eb881a73547daab262030fb619e5ee))
2025-12-11 05:01:07 +00:00
Kai (Tam Nhu) TranandGitHub 329fca0344 Merge pull request #78 from kaitranntt/dev
feat: unified config architecture and profile management UX improvements
2025-12-11 00:00:16 -05:00
github-actions[bot] f7bded641b chore(release): 5.14.0-dev.3 [skip ci] 2025-12-11 04:59:00 +00:00
kaitranntt 41f4e56865 docs: add codex provider examples to auth section
- Add examples for codex provider authentication
- Clarify that gemini, codex, and agy are different providers
- Show account listing and switching examples for each provider
2025-12-10 23:56:08 -05:00
github-actions[bot] 055d7dfd73 chore(release): 5.14.0-dev.2 [skip ci] 2025-12-11 04:46:20 +00:00
Kai (Tam Nhu) TranandGitHub e438659f40 Merge pull request #77 from kaitranntt/kai/feat/api-profile-ux
feat(ui): refactor profile creation UX with dialog interface and validation
2025-12-10 23:44:23 -05:00
kaitranntt 720ff9d7d6 feat(profile): refactor create UX with dialog-based interface
- Replace ProfileCreateForm with ProfileCreateDialog for better UX
- Add Select component for dropdown functionality
- Implement sensitive keys detection and masking
- Enhance code editor with improved validation
- Update dependencies and lock files
2025-12-10 23:38:43 -05:00
kaitranntt 46ee1df083 fix(ui): resolve layout and theme issues in profile editor
- Fix overflow issues in main layout by removing pb-12 and adding min-h-0
- Fix code editor theme switching by adding key prop to force re-render
- Fix localhost disclaimer positioning by removing fixed positioning and redundant padding
- Simplify analytics page layout structure and adjust spacing
2025-12-10 22:50:01 -05:00
kaitranntt 8c9d669cce feat(api-profile-ux): implement tabbed profile editor and fix disclaimer visibility 2025-12-10 22:14:01 -05:00
kaitranntt 83570050ef feat(api-profile-ux): Implement API & UI for profile management 2025-12-10 21:36:11 -05:00
kaitranntt 2b1a3b4879 feat(dashboard): add code editor for raw JSON settings editing
- Add GET/PUT /api/file endpoints for generic file access with security validation
- Add GET /api/files endpoint to list editable JSON files in ~/.ccs/
- Create CodeEditor component with JSON syntax highlighting (prism-react-renderer)
- Add "Raw JSON" tab to SettingsDialog for direct JSON editing
- Support conflict detection, atomic writes, and automatic backups
- Lazy load editor to minimize initial bundle impact (~31KB gzipped)

Closes #73
2025-12-10 21:09:38 -05:00
kaitranntt f83051be40 feat(api): improve create UX with URL validation and model mapping
- Add URL warning for common mistakes (e.g., /chat/completions endpoint)
- Add optional model mapping prompt for Opus/Sonnet/Haiku backends
- Show edit hint after profile creation for modifying settings
- Support custom model configurations in unified config mode

Closes #72
2025-12-10 20:56:32 -05:00
github-actions[bot] cbeb28ff1f chore(release): 5.14.0-dev.1 [skip ci] 2025-12-11 01:31:46 +00:00
Kai (Tam Nhu) TranandGitHub 22837f9dfd Merge pull request #76 from kaitranntt/kai/feat/unified-config
feat(config): add unified YAML config with migration support
2025-12-10 20:29:49 -05:00
kaitranntt 790ac3c862 fix(cache): use ~/.ccs/cache/ for usage and update-check files
- usage-disk-cache.ts: usage-cache.json → cache/usage.json
- update-checker.ts: update-check.json → cache/update-check.json
- Both ensure cache directory exists before writing
- Update tests to use new cache paths
2025-12-10 18:32:35 -05:00
kaitranntt 0aa9131642 fix(migrate): include backup path in rollback command 2025-12-10 18:24:26 -05:00
kaitranntt c09cc35352 style(migrate): use boxed UI for migration success message 2025-12-10 18:21:45 -05:00
kaitranntt 05a6199d83 fix(migrate): skip autoMigrate when running migrate command
Prevents double migration message when user explicitly runs
'ccs migrate --dry-run' - autoMigrate was triggering real migration
before the migrate command handler ran.
2025-12-10 18:19:37 -05:00