Commit Graph
383 Commits
Author SHA1 Message Date
kaitranntt 96d9fc68e9 feat(dashboard): add Environment and OAuth Readiness groups to health page
Bring OAuth diagnostics from ccs doctor to web dashboard:

- Add Environment group showing platform, SSH, TTY, browser capability
- Add OAuth Readiness group showing port availability (8085, 1455, 51121)
- Reuse existing environment-diagnostics and oauth-port-diagnostics modules

The dashboard health page now has 7 groups matching ccs doctor output.
2025-12-09 13:00:04 -05:00
github-actions[bot] d576e5e1f2 chore(release): 5.12.1-dev.1 [skip ci] 2025-12-09 17:53:13 +00:00
kaitranntt 92007d7c04 feat(doctor): add OAuth diagnostics for Windows headless false positives
Add environment and OAuth port diagnostics to help troubleshoot
authentication issues reported by Windows users:

- Add ENVIRONMENT section showing platform, SSH, TTY, browser capability
- Add OAUTH READINESS section with pre-flight port availability checks
- Fix Windows headless false positive (isTTY undefined on npm wrappers)
- Add pre-flight OAuth check before auth attempt to fail fast

New files:
- src/management/environment-diagnostics.ts
- src/management/oauth-port-diagnostics.ts

Case study: Vietnamese Windows users reported "command hangs" because
Windows terminal wrappers don't set isTTY correctly, triggering
headless mode when browser should be available.
2025-12-09 12:50:38 -05:00
semantic-release-bot a7410bc104 chore(release): 5.12.1 [skip ci]
## [5.12.1](https://github.com/kaitranntt/ccs/compare/v5.12.0...v5.12.1) (2025-12-09)

### Performance Improvements

* **analytics:** instant dashboard loading with disk cache persistence ([abb156d](https://github.com/kaitranntt/ccs/commit/abb156d9f4064d078a953966082e06059ad52d80))
2025-12-09 06:13:26 +00:00
Kai (Tam Nhu) TranandGitHub 9cd44acd57 Merge pull request #69 from kaitranntt/dev
perf(analytics): instant dashboard loading with disk cache persistence
2025-12-09 01:12:31 -05:00
github-actions[bot] 4c248ec71a chore(release): 5.12.0-dev.1 [skip ci] 2025-12-09 06:10:24 +00:00
kaitranntt abb156d9f4 perf(analytics): instant dashboard loading with disk cache persistence
- Add React lazy loading for heavy pages (Analytics, Settings, etc.)
- Remove blocking prewarmUsageCache() from server startup
- Add disk cache module for persistent usage data storage
- Fix disk cache not being created on first Analytics visit
- Write cache immediately when daily data available (don't wait for all 3 types)

Dashboard now loads in <10ms from disk cache instead of waiting for
better-ccusage library on every visit.
2025-12-09 01:07:42 -05:00
semantic-release-bot 23e66c2eb9 chore(release): 5.12.0 [skip ci]
# [5.12.0](https://github.com/kaitranntt/ccs/compare/v5.11.0...v5.12.0) (2025-12-09)

### Bug Fixes

* **security:** improve API key detection patterns to prevent false positives ([efb42ba](https://github.com/kaitranntt/ccs/commit/efb42ba8f6adfa5128c4974d43140fd640b826a1))
* **ui:** reduce focus ring size to prevent overlapping content ([639eec7](https://github.com/kaitranntt/ccs/commit/639eec7930c4f34dacd0fb2326de87ed640d8e74))
* **ui:** update dropdown menu item SVG color on focus ([ed5c3fc](https://github.com/kaitranntt/ccs/commit/ed5c3fc83ab4117263e74aaf29a4df8d63a8e5c1))
* **web:** correct skill detection to look for SKILL.md instead of prompt.md ([13194fe](https://github.com/kaitranntt/ccs/commit/13194fecbe575e83bd6f366e2aca1d92922ccd24))

### Features

* **analytics:** add usage analytics page with caching layer ([a721af3](https://github.com/kaitranntt/ccs/commit/a721af3cf3ff618603e982aa2fda47980251c4e4))
* **cli:** Introduce version utility and command updates ([d77f07e](https://github.com/kaitranntt/ccs/commit/d77f07e09376e410bf693d40d3ac646e2f35465c))
* **cliproxy:** promote thinking models as default for agy provider ([1475adb](https://github.com/kaitranntt/ccs/commit/1475adb61649fc9ac5d7e66845649f3eb63f88b0))
* **ui:** add modular health dashboard components ([4ff6f08](https://github.com/kaitranntt/ccs/commit/4ff6f085122c20209e73fcbda457175fb47958de))
* **ui:** Enhance web overview with new components and data ([cc16556](https://github.com/kaitranntt/ccs/commit/cc1655624c08e8f0f20cd0416831272affe9fdf0))
* **ui:** redesign health dashboard to match ccs doctor output ([8aae0db](https://github.com/kaitranntt/ccs/commit/8aae0db7da9e691e9a35d222d6828d6e658c49c4))

### Performance Improvements

* **analytics:** add cache pre-warming and SWR pattern for instant page load ([69e6a32](https://github.com/kaitranntt/ccs/commit/69e6a322248d3952156784520a9e264b7f24c0e8))
2025-12-09 04:27:54 +00:00
Kai (Tam Nhu) TranandGitHub df0a751fd9 feat!: web dashboard, analytics, and CLIProxy multi-account support 2025-12-08 23:26:55 -05:00
github-actions[bot] 0075afa48f chore(release): 5.11.0-dev.8 [skip ci] 2025-12-09 04:23:15 +00:00
kaitranntt 1475adb616 feat(cliproxy): promote thinking models as default for agy provider
- Remove deprecated flag from Claude Opus 4.5 Thinking and Sonnet 4.5 Thinking
- Reorder models with thinking models at top (Opus → Sonnet Thinking → Sonnet → Gemini)
- Change default model to gemini-claude-opus-4-5-thinking
- Update tests to reflect new ordering and non-deprecated status
2025-12-08 23:21:17 -05:00
github-actions[bot] f15754d30f chore(release): 5.11.0-dev.7 [skip ci] 2025-12-09 04:11:45 +00:00
kaitranntt 69e6a32224 perf(analytics): add cache pre-warming and SWR pattern for instant page load
- Add server-side cache pre-warming on startup (non-blocking)
- Implement stale-while-revalidate pattern (1hr stale window)
- Add /api/usage/status endpoint for cache status
- Remove full-page blocking skeleton, use per-component loading
- Add "Updated X ago" timestamp indicator in UI header
- Export AnalyticsSkeleton component for potential future use
2025-12-08 23:09:01 -05:00
github-actions[bot] 382150f312 chore(release): 5.11.0-dev.6 [skip ci] 2025-12-09 02:50:22 +00:00
kaitranntt a721af3cf3 feat(analytics): add usage analytics page with caching layer
- Add Analytics page with usage trends, model breakdown, sessions table
- Add server-side caching layer for better-ccusage data (TTL-based)
- Add request coalescing to prevent duplicate concurrent API calls
- Add /api/usage/refresh endpoint to manually clear cache
- Add date-range filter, summary cards, trend charts components
- Fix API parameter mismatch (since/until in YYYYMMDD format)
- Wire up Refresh button with loading state animation
2025-12-08 21:47:36 -05:00
github-actions[bot] 57032eec5e chore(release): 5.11.0-dev.5 [skip ci] 2025-12-08 21:34:41 +00:00
kaitranntt efb42ba8f6 fix(security): improve API key detection patterns to prevent false positives
- Change from substring to pattern-based matching for sensitive keys
- Prevents ANTHROPIC_MAX_TOKENS from being incorrectly censored
- Synchronize backend and UI detection logic for consistency
2025-12-08 16:32:52 -05:00
kaitranntt 639eec7930 fix(ui): reduce focus ring size to prevent overlapping content 2025-12-08 16:32:52 -05:00
github-actions[bot] 792c5244ac chore(release): 5.11.0-dev.4 [skip ci] 2025-12-08 21:16:56 +00:00
kaitranntt 13194fecbe fix(web): correct skill detection to look for SKILL.md instead of prompt.md
The Skills page was only showing 4 skills instead of 38 because it was
looking for prompt.md files instead of SKILL.md files in the skills
directory. Updated the detection logic to check for SKILL.md for skills
and prompt.md for agents.
2025-12-08 16:14:30 -05:00
kaitranntt ed5c3fc83a fix(ui): update dropdown menu item SVG color on focus
- Add focus:[&_svg:not([class*='text-'])]:text-current to DropdownMenuItem
- Add focus:[&_svg:not([class*='text-'])]:text-current to DropdownMenuSubTrigger
- Ensures SVG icons inherit text color on focus for better visibility
2025-12-08 16:08:15 -05:00
github-actions[bot] 393992377e chore(release): 5.11.0-dev.3 [skip ci] 2025-12-08 20:20:26 +00:00
kaitranntt 4ff6f08512 feat(ui): add modular health dashboard components
- Add health-gauge component for visual status representation
- Add health-group-section for organized health checks display
- Add health-stats-bar for summary statistics
- Refactor health-check-item with improved structure
- Update health.tsx to use new modular components
2025-12-08 15:18:02 -05:00
github-actions[bot] 9c3004294d chore(release): 5.11.0-dev.2 [skip ci] 2025-12-08 20:02:37 +00:00
kaitranntt 8aae0db7da feat(ui): redesign health dashboard to match ccs doctor output
- Rewrite health-service.ts with 20+ comprehensive checks in 5 groups
  (System, Configuration, Profiles & Delegation, System Health, CLIProxy)
- Add async support for port checking functionality
- Create new health-check-item.tsx component with collapsible design
- Redesign health.tsx with professional grouped layout, hero section,
  summary stats, and issues panel with actionable fix commands
- Update use-health.ts with HealthGroup type support
- Add development server documentation to CLAUDE.md
2025-12-08 15:00:07 -05:00
github-actions[bot] e8a39d75c8 chore(release): 5.11.0-dev.1 [skip ci] 2025-12-08 19:14:11 +00:00
kaitranntt cc1655624c feat(ui): Enhance web overview with new components and data 2025-12-08 14:11:44 -05:00
kaitranntt d77f07e093 feat(cli): Introduce version utility and command updates 2025-12-08 14:11:11 -05:00
semantic-release-bot b321edd99d chore(release): 5.11.0 [skip ci]
# [5.11.0](https://github.com/kaitranntt/ccs/compare/v5.10.0...v5.11.0) (2025-12-08)

### Bug Fixes

* **cliproxy:** map token type values to provider names for account discovery ([17caf80](https://github.com/kaitranntt/ccs/commit/17caf804ba02cab878b3f1476ec02f0f0697d6f1))
* **ui:** improve cliproxy dashboard layout and dropdown styling ([10d0550](https://github.com/kaitranntt/ccs/commit/10d05502f305f5f351562da8b0aa2b64dca41a4c))
* **ui:** remove padding from cliproxy card ([3a1e8c0](https://github.com/kaitranntt/ccs/commit/3a1e8c0afc69b1ca612a267e373b62f80a34c8ce))

### Features

* **cliproxy:** add multi-account support for CLIProxy providers ([4dc17fa](https://github.com/kaitranntt/ccs/commit/4dc17fac4f655e31afc0e491aa43f7a9c3f64df1))
2025-12-08 06:14:28 +00:00
Kai (Tam Nhu) TranandGitHub 12334bf79f Merge pull request #67 from kaitranntt/dev
feat(web-dashboard): add multi-account support and reactive dashboard
2025-12-08 01:13:35 -05:00
github-actions[bot] a7a4954092 chore(release): 5.10.0-dev.1 [skip ci] 2025-12-08 06:06:39 +00:00
Kai (Tam Nhu) TranandGitHub f6f8bf98fa Merge pull request #66 from kaitranntt/kai/fix/cliproxy-gemini-auth
feat(ui): standardize layout across all dashboard pages
2025-12-08 01:04:53 -05:00
kaitranntt ffb6e066a7 refactor(ui): standardize page layout across all routes
Applied consistent centered layout (max-w-6xl mx-auto) from cliproxy page
to all pages except home page. Updated spacing to space-y-8 for uniformity.
2025-12-08 01:01:32 -05:00
kaitranntt 17caf804ba fix(cliproxy): map token type values to provider names for account discovery 2025-12-08 00:40:03 -05:00
kaitranntt 3a1e8c0afc fix(ui): remove padding from cliproxy card 2025-12-08 00:34:07 -05:00
kaitranntt 10d05502f3 fix(ui): improve cliproxy dashboard layout and dropdown styling 2025-12-08 00:28:06 -05:00
kaitranntt 4dc17fac4f feat(cliproxy): add multi-account support for CLIProxy providers
- Implement account-manager.ts for managing multiple OAuth accounts per provider
- Add account selector in UI dialog with dropdown for authenticated accounts
- Extend auth-handler.ts to support account registration and multi-account authentication
- Update web-server routes with account management endpoints (GET/POST/DELETE)
- Add account badges and management UI in cliproxy page
- Support account field in CLIProxy variant configuration
- Add Badge component from shadcn/ui for UI styling
- Enable default account selection and account removal functionality
2025-12-08 00:16:49 -05:00
semantic-release-bot 68f165e9ed chore(release): 5.10.0 [skip ci]
# [5.10.0](https://github.com/kaitranntt/ccs/compare/v5.9.0...v5.10.0) (2025-12-08)

### Bug Fixes

* **glmt:** add bearer prefix for openai-compatible endpoints ([077a406](https://github.com/kaitranntt/ccs/commit/077a406df6f79fdd0e343c3b6b3d0860a3d41a87)), closes [#61](https://github.com/kaitranntt/ccs/issues/61)
* **glmt:** pass env vars to proxy subprocess ([e17a068](https://github.com/kaitranntt/ccs/commit/e17a068a58c7dee67a33852860e5bcae051a7f37))
* **ui:** adjust layout of localhost disclaimer ([ad5859c](https://github.com/kaitranntt/ccs/commit/ad5859c157271c111f1bbc437060770746d3394e))
* **ui:** improve table column widths and spacing ([9b4a5d8](https://github.com/kaitranntt/ccs/commit/9b4a5d80c5c398c7165426dac2a88a8e9443ff3a))
* **ui:** prettier formatting for documentation link ([d11071a](https://github.com/kaitranntt/ccs/commit/d11071ad90d6ed3886b437b3ac15b3818d5b2585))
* **ui:** suppress react compiler warning in profiles-table ([cf072c0](https://github.com/kaitranntt/ccs/commit/cf072c03b269d9df93ec014905b50d41a78a83bd))

### Features

* **build:** disable commitlint subject-case rule and add clean-dist script ([5947532](https://github.com/kaitranntt/ccs/commit/5947532fc65ba39a70f422b314fad103603e00af))
* **cliproxy:** add authentication status display to web dashboard ([a283f94](https://github.com/kaitranntt/ccs/commit/a283f942a9712f97c5789ea39a508da1d5305a79))
* **cliproxy:** deprecate claude thinking models in agy provider ([63b3ca7](https://github.com/kaitranntt/ccs/commit/63b3ca776079634fcf59f231e51ad8947795b2a0))
* **completions:** enhance cliproxy help and update shell completion scripts ([59a2f2b](https://github.com/kaitranntt/ccs/commit/59a2f2b717a97447759ff68fdb8eca81908a9d88))
* **doctor:** improve port detection with process identification ([98fd1be](https://github.com/kaitranntt/ccs/commit/98fd1bedb9b38c4900f8cc4049d74347d407d499))
* **ui:** add accounts and cliproxy management dashboard ([03059db](https://github.com/kaitranntt/ccs/commit/03059dbdccaca9736ae45c0754543e59c2a3e0f6))
* **ui:** add ccs branding assets and logo component ([1b16305](https://github.com/kaitranntt/ccs/commit/1b163050f795f1a7a75be203895f1addd6d21f8e))
* **ui:** add comprehensive quality gates and fix linting issues ([707af2f](https://github.com/kaitranntt/ccs/commit/707af2f01a67264f7722afcd53ac3f6246aefc89))
* **ui:** enhance settings dialog with tabbed interface and scrollable areas ([4adb94b](https://github.com/kaitranntt/ccs/commit/4adb94b90cf9e16929fef14ed46d474e07e9c131))
* **ui:** enhance visual contrast and update project link ([c65d9c9](https://github.com/kaitranntt/ccs/commit/c65d9c9c3484f8053e2b4315198ee29a4c3be2b0))
* **ui:** redesign sidebar and fix disclaimer ([c8890f3](https://github.com/kaitranntt/ccs/commit/c8890f33c2e9e15fdf89bb2b467eda2c836d95d2))
* **ui:** reorganize theme colors and add dev script ([235bd6b](https://github.com/kaitranntt/ccs/commit/235bd6b36a28e63661123344c983f5d06ee1b3aa))
* **ui:** update theme colors to match brand palette ([b5f22e4](https://github.com/kaitranntt/ccs/commit/b5f22e415b865eba59c6458488409f2db4e29f5a))
* **web-dashboard:** add dev mode with hmr and optimize build ([23a3382](https://github.com/kaitranntt/ccs/commit/23a33820c03fe26bcf12bd3b2432ce50a88b90d1))
* **web-dashboard:** add express server and react ui scaffolding ([6a6f2a2](https://github.com/kaitranntt/ccs/commit/6a6f2a24638cdaeec7868e9742da066c0d8cdc6b))
* **web-dashboard:** add rest api and real-time sync ([56502ab](https://github.com/kaitranntt/ccs/commit/56502ab6a8deae4d7cafe76de46b5cc156398f85))
* **web-dashboard:** complete settings, health, shared data and build integration ([5975802](https://github.com/kaitranntt/ccs/commit/59758024c92005016087264ed5caa0738cbcb1b2))
* **web:** enhance dashboard functionality and ui components ([6e2da64](https://github.com/kaitranntt/ccs/commit/6e2da6458a0f574dbe32e555c9725d766e3c861c))
* **web:** update shared routes and home page for dashboard ([e078f15](https://github.com/kaitranntt/ccs/commit/e078f152976661c410ca0a8cd502a6bd3b56e056))
2025-12-08 04:46:53 +00:00
Kai (Tam Nhu) TranandGitHub 4bde7da93f Merge pull request #65 from kaitranntt/dev
feat(web-dashboard): add complete dashboard ui and improve cliproxy functionality
2025-12-07 23:46:00 -05:00
github-actions[bot] 2a5292bd77 chore(release): 5.9.0-dev.7 [skip ci] 2025-12-08 04:35:18 +00:00
kaitranntt 5947532fc6 feat(build): disable commitlint subject-case rule and add clean-dist script
- Disable subject-case rule in commitlint to allow capital letters in commit subjects
- Add clean-dist.js script to preserve UI bundle during TypeScript builds
- Update package.json prebuild script to use new clean-dist.js
2025-12-07 23:33:03 -05:00
github-actions[bot] f0309ed8db chore(release): 5.9.0-dev.6 [skip ci] 2025-12-08 04:13:19 +00:00
Kai (Tam Nhu) TranandGitHub 845e219174 Merge pull request #64 from kaitranntt/kai/fix/glmt-auth-fix
fix(glmt): add bearer prefix for openai-compatible endpoints
2025-12-07 23:11:30 -05:00
kaitranntt e17a068a58 fix(glmt): pass env vars to proxy subprocess
The spawn() call was missing the env option, so ANTHROPIC_AUTH_TOKEN
and ANTHROPIC_BASE_URL were not being passed to the proxy subprocess.
This caused 401 Unauthorized errors.
2025-12-07 23:09:06 -05:00
github-actions[bot] ab5e51fb69 chore(release): 5.9.0-dev.5 [skip ci] 2025-12-08 03:56:42 +00:00
kaitranntt f6d6d03f01 chore(ci): increase bundle size limit to 1mb for react dashboard 2025-12-07 22:54:28 -05:00
kaitranntt 077a406df6 fix(glmt): add bearer prefix for openai-compatible endpoints
OpenAI-compatible endpoints like /chat/completions require Authorization header
with 'Bearer ' prefix. Previously the token was sent without prefix, causing
401 Unauthorized errors.

Auto-detects endpoint type based on URL path and formats header accordingly.

Fixes #61
2025-12-07 22:52:31 -05:00
kaitranntt befecf9fb1 ci: trigger dev release with ui build fix 2025-12-07 22:49:40 -05:00
kaitranntt 55197ee42e chore(project): update package.json metadata 2025-12-07 22:25:36 -05:00
kaitranntt 8bffd5fc17 ci(release): update release workflows 2025-12-07 22:25:01 -05:00