kaitranntt
c8890f33c2
feat(ui): redesign sidebar and fix disclaimer
...
- Redesign AppSidebar with collapsible groups ("Identity & Access", "System")
- Nest "Shared Data" under "Accounts" in sidebar
- Add collapsible UI component for sidebar nesting
- Fix LocalhostDisclaimer by moving it inside SidebarProvider
- Add roadmap entry for sidebar redesign
2025-12-07 17:21:24 -05:00
kaitranntt
cf072c03b2
fix(ui): suppress react compiler warning in profiles-table
2025-12-07 16:54:49 -05:00
kaitranntt
23a33820c0
feat(web-dashboard): add dev mode with hmr and optimize build
2025-12-07 16:44:34 -05:00
kaitranntt
235bd6b36a
feat(ui): reorganize theme colors and add dev script
...
Move Crail from primary to accent color and promote neutral grey to primary.
Update all related color variables for both light and dark themes to maintain
visual consistency. Add new dev script to streamline development workflow.
2025-12-07 15:54:38 -05:00
kaitranntt
b5f22e415b
feat(ui): update theme colors to match brand palette
2025-12-07 15:36:18 -05:00
kaitranntt
1b163050f7
feat(ui): add ccs branding assets and logo component
2025-12-07 15:05:23 -05:00
kaitranntt
707af2f01a
feat(ui): add comprehensive quality gates and fix linting issues
...
- Added ESLint, Prettier, TypeScript strict mode to ui/ directory
- Fixed 40+ lint/format issues across ui codebase
- Created extraction files for react-refresh compliance:
- button-variants.ts for Button component styles
- use-sidebar.ts, use-websocket-context.ts custom hooks
- ws-context.ts WebSocket context provider
- Fixed React hooks issues (setState ordering, dependency arrays)
- Added ui:validate script to enforce quality checks
- Updated husky pre-commit to validate UI files on change
2025-12-07 14:51:29 -05:00
kaitranntt
59758024c9
feat(web-dashboard): complete settings, health, shared data and build integration
...
- Settings editor with API key masking and conflict detection
- Health dashboard with status cards and one-click fixes
- Home dashboard with stats and quick actions
- Shared data viewer for commands/skills/agents
- Build scripts for UI + server bundle
- Bundle size verification (<500KB gzipped)
- Pre-release checklist script
2025-12-07 14:23:56 -05:00
kaitranntt
56502ab6a8
feat(web-dashboard): add rest api and real-time sync
...
REST API & CRUD:
- Add REST API routes for profiles, cliproxy, accounts
- Integrate React Query with data fetching hooks
- Create API client wrapper with TypeScript types
- Add shadcn/ui components (dialog, input, label, table)
- Build profiles table with edit/delete actions
- Create profile form dialog with zod validation
- Mount QueryClientProvider in App
Real-time Sync & WebSocket:
- Implement file watcher with chokidar for config changes
- Create WebSocket server with broadcast capability
- Add client auto-reconnect with exponential backoff
- Integrate React Query cache invalidation on WS messages
- Add connection status indicator in header
- Implement heartbeat keepalive (30s interval)
- Add graceful cleanup on server shutdown
- Show toast notifications for external config changes
Dependencies:
- Add @tanstack/react-query, react-table, react-hook-form, zod
- Add chokidar for file watching
2025-12-07 12:00:56 -05:00
kaitranntt
6a6f2a2463
feat(web-dashboard): add express server and react ui scaffolding
2025-12-07 11:37:28 -05:00
github-actions[bot]
e1cbee1074
chore(release): 5.9.0-dev.3 [skip ci]
2025-12-07 13:31:40 +00:00
kaitranntt
98fd1bedb9
feat(doctor): improve port detection with process identification
...
- Add port-utils.ts module to detect which process occupies CLIProxy port
- Enhance doctor command to show specific process (PID/name) using port
- Distinguish between CLIProxy process vs other conflicting processes
- Support cross-platform detection (Windows netstat, Unix lsof)
- Provide actionable guidance when port conflict detected
This helps users identify if CLIProxy is already running or if another
application needs to be terminated to free up the port.
2025-12-07 08:29:53 -05:00
github-actions[bot]
d65dd63042
chore(release): 5.9.0-dev.2 [skip ci]
2025-12-06 13:45:47 +00:00
kaitranntt
63b3ca7760
feat(cliproxy): deprecate claude thinking models in agy provider
...
Deprecated 2 Claude thinking models:
- gemini-claude-opus-4-5-thinking
- gemini-claude-sonnet-4-5-thinking
These models have compatibility issues with Antigravity.
A new deprecation system was added with badges and warnings in the UI.
2025-12-06 08:44:09 -05:00
github-actions[bot]
95e98313b8
chore(release): 5.9.0-dev.1 [skip ci]
2025-12-06 07:30:12 +00:00
kaitranntt
59a2f2b717
feat(completions): enhance cliproxy help and update shell completion scripts
...
- Styled cliproxy help output with UI primitives and added status hint
- Added cliproxy --help reference to main help command
- Updated bash, zsh, fish, and PowerShell completions with:
- Missing commands (api, cliproxy)
- CLIProxy OAuth profiles (gemini, codex, agy, qwen)
- Provider flags and update command flags
2025-12-06 02:28:34 -05:00
semantic-release-bot
244b441663
chore(release): 5.9.0 [skip ci]
...
# [5.9.0](https://github.com/kaitranntt/ccs/compare/v5.8.0...v5.9.0 ) (2025-12-06)
### Features
* **cliproxy:** add crud commands for variant profiles ([6427ecf ](https://github.com/kaitranntt/ccs/commit/6427ecf5af4a9be40f39c2a64bf72ac4e861d349 ))
2025-12-06 02:45:41 +00:00
kaitranntt
6427ecf5af
feat(cliproxy): add crud commands for variant profiles
...
- Add `ccs cliproxy create/list/remove` commands for variant management
- Interactive wizard with provider/model selection from catalog
- Settings file auto-generated with all 6 ANTHROPIC_* env fields
- Fix `ccs api create` to include all 4 model fields (was missing 3)
- Fix `--config` flag to save to correct variant settings file
- Remove paid tier badge from AGY models (all free via Antigravity)
- Add settings file format example to README for CLIProxy variants
- Add 22 unit tests for cliproxy command validation and config handling
2025-12-05 21:44:41 -05:00
semantic-release-bot
e103f21dde
chore(release): 5.8.0 [skip ci]
...
# [5.8.0](https://github.com/kaitranntt/ccs/compare/v5.7.0...v5.8.0 ) (2025-12-05)
### Bug Fixes
* **agy:** enable claude model thinking via antigravity profile ([6f19440 ](https://github.com/kaitranntt/ccs/commit/6f194404722e63990f64d250d08c5f5e33235e05 ))
* **agy:** preserve user settings during model switch ([f5c31da ](https://github.com/kaitranntt/ccs/commit/f5c31dab55033cd8db99247ca9eab8a47fcb24fb ))
* **agy:** remove max_thinking_tokens when switching to non-claude model ([6decd15 ](https://github.com/kaitranntt/ccs/commit/6decd157e5e7b4d19ed3dac2cfdcb0131ce9d782 ))
* **cliproxy:** consolidate download ui to single spinner ([ace5ba8 ](https://github.com/kaitranntt/ccs/commit/ace5ba87502c51a7e8fe35df5fe4a8f7aaacd173 ))
* **cliproxy:** only remove provider-specific auth files on logout ([4770047 ](https://github.com/kaitranntt/ccs/commit/47700474a40539fad85c58fc5c971b85ddab45c4 ))
* **skill:** use yaml block scalar for ccs-delegation description ([26154c3 ](https://github.com/kaitranntt/ccs/commit/26154c3e13b14d76fee87473b84365457139c553 ))
### Features
* **agy:** disable thinking toggle for claude models via antigravity ([f5a1b81 ](https://github.com/kaitranntt/ccs/commit/f5a1b81e553d2d057dc1f49fabac1945a83fc361 )), closes [#415 ](https://github.com/kaitranntt/ccs/issues/415 )
* **delegation:** add passthrough args for claude cli flags ([26d72cf ](https://github.com/kaitranntt/ccs/commit/26d72cfa5bbd7ea5d4a42dc7d5c4010ae5247711 ))
2025-12-05 22:45:27 +00:00
Kai (Tam Nhu) Tran and GitHub
b8d98a6b55
Merge pull request #59 from kaitranntt/dev
...
feat(release): v5.7.0 - claude thinking support via antigravity
2025-12-05 17:44:46 -05:00
github-actions[bot]
165c43aa9e
chore(release): 5.7.0-dev.8 [skip ci]
2025-12-05 22:42:45 +00:00
kaitranntt
6decd157e5
fix(agy): remove max_thinking_tokens when switching to non-claude model
...
Cleans up the thinking token limit setting when user switches from
a Claude model to a Gemini model via ccs agy --config.
2025-12-05 17:41:41 -05:00
github-actions[bot]
b2941abdb3
chore(release): 5.7.0-dev.7 [skip ci]
2025-12-05 22:38:46 +00:00
kaitranntt
6f19440472
fix(agy): enable claude model thinking via antigravity profile
...
- Removed broken: true and issueUrl from Claude thinking models
- Added MAX_THINKING_TOKENS=8191 for Antigravity-proxied Claude models
- Removed alwaysThinkingEnabled:false requirement
- Updated info message explaining thinking token limit
Claude models now work with extended thinking when using Antigravity
proxy (MAX_THINKING_TOKENS < 8192 is required).
2025-12-05 17:37:19 -05:00
github-actions[bot]
30eb5d2553
chore(release): 5.7.0-dev.6 [skip ci]
2025-12-05 22:25:40 +00:00
kaitranntt
ace5ba8750
fix(cliproxy): consolidate download ui to single spinner
...
Use single spinner with update() instead of multiple spinners.
Prevents UI jumping during download/verify/extract phases.
2025-12-05 17:24:12 -05:00
kaitranntt
47700474a4
fix(cliproxy): only remove provider-specific auth files on logout
...
Previously --logout cleared all files in shared auth directory.
Now filters by provider prefix or JSON type field to preserve other providers.
2025-12-05 17:23:28 -05:00
github-actions[bot]
9ddaa76c1b
chore(release): 5.7.0-dev.5 [skip ci]
2025-12-05 22:03:42 +00:00
kaitranntt
f5c31dab55
fix(agy): preserve user settings during model switch
...
Model configuration now uses selective merge instead of full replacement:
- Preserves all user customizations (includeCoAuthoredBy, MAX_TOKENS, etc.)
- Only updates CCS-controlled fields (model selection, base URL, auth token)
- Still enforces alwaysThinkingEnabled: false for Claude models
2025-12-05 17:02:19 -05:00
github-actions[bot]
c71b1b9889
chore(release): 5.7.0-dev.4 [skip ci]
2025-12-05 21:45:57 +00:00
kaitranntt
f5a1b81e55
feat(agy): disable thinking toggle for claude models via antigravity
...
Claude models routed through Google's Antigravity protocol don't support
the thinking toggle due to protocol conversion limitations.
Changes:
- Add alwaysThinkingEnabled: false when selecting Claude models
- Show warning about thinking toggle limitation after model selection
- Reference GitHub issue #415 for technical details
2025-12-05 16:44:33 -05:00
kaitranntt
26d72cfa5b
feat(delegation): add passthrough args for claude cli flags
...
Support passing through additional CLI flags like --agent, --system-prompt-file
to the underlying Claude CLI when using delegation mode.
2025-12-05 16:43:08 -05:00
github-actions[bot]
fff40b6a27
chore(release): 5.7.0-dev.2 [skip ci]
2025-12-05 20:03:06 +00:00
kaitranntt
9063c11e1f
ci: add pr validation workflow for install, build, and lint
2025-12-05 15:01:40 -05:00
github-actions[bot]
2f575c5434
chore(release): 5.7.0-dev.1 [skip ci]
2025-12-05 19:56:28 +00:00
kaitranntt
26154c3e13
fix(skill): use yaml block scalar for ccs-delegation description
2025-12-05 14:55:01 -05:00
semantic-release-bot
ff3599d108
chore(release): 5.7.0 [skip ci]
...
# [5.7.0](https://github.com/kaitranntt/ccs/compare/v5.6.0...v5.7.0 ) (2025-12-05)
### Bug Fixes
* **ci:** add path filtering to deploy-ccs-worker pull request trigger ([64a8e86 ](https://github.com/kaitranntt/ccs/commit/64a8e86db4be7dd96d19654e1e91827ae62e0f7e ))
* **doctor:** repair shared settings.json symlink broken by claude cli ([1471bd2 ](https://github.com/kaitranntt/ccs/commit/1471bd2152b8eec376b7c0b5d13499546477c0cb )), closes [#57 ](https://github.com/kaitranntt/ccs/issues/57 )
* **types:** add forceversion to binarymanagerconfig interface ([3bb1ea7 ](https://github.com/kaitranntt/ccs/commit/3bb1ea7541fcf1bd38818b941ef3c5997d8daeb5 ))
### Features
* **cliproxy:** add iFlow OAuth provider support ([#55 ](https://github.com/kaitranntt/ccs/issues/55 )) ([20bf626 ](https://github.com/kaitranntt/ccs/commit/20bf6266d2817bbceb8a9b5b7914f3ffc9164275 ))
2025-12-05 18:42:50 +00:00
Kai (Tam Nhu) Tran and GitHub
417f7a691d
Merge pull request #58 from kaitranntt/dev
...
feat(release): promote dev to main - v5.6.0
2025-12-05 13:42:14 -05:00
github-actions[bot]
656552ecda
chore(release): 5.6.0-dev.3 [skip ci]
2025-12-05 18:36:54 +00:00
kaitranntt
3bb1ea7541
fix(types): add forceversion to binarymanagerconfig interface
2025-12-05 13:35:29 -05:00
20bf6266d2
feat(cliproxy): add iFlow OAuth provider support ( #55 )
...
Add iFlow as a new OAuth-based provider for CLIProxy.
Changes:
- Add config/base-iflow.settings.json with iFlow provider configuration
- Add iFlow to CLIProxyProvider type
- Add iFlow OAuth config (authUrl, scopes, authFlag)
- Add iFlow to provider display names, auth prefixes, and type values
- Update config-generator to support iFlow provider
- Update base-qwen.settings.json models (qwen3-coder-plus)
Co-authored-by: kaitranntt <kaitran.ntt@gmail.com >
2025-12-05 13:31:42 -05:00
github-actions[bot]
8fee4040cb
chore(release): 5.6.0-dev.2 [skip ci]
2025-12-05 18:30:54 +00:00
kaitranntt
1471bd2152
fix(doctor): repair shared settings.json symlink broken by claude cli
...
claude cli's atomic writes (toggle thinking, etc.) replace symlinks with
regular files, breaking the settings sync chain. this adds:
- `ccs doctor --fix` to detect and repair broken shared symlinks
- `ccs sync` now also repairs shared symlinks automatically
fixes #57
2025-12-05 13:29:10 -05:00
github-actions[bot]
c96b0f9fb3
chore(release): 5.6.0-dev.1 [skip ci]
2025-12-04 20:53:16 +00:00
kaitranntt
64a8e86db4
fix(ci): add path filtering to deploy-ccs-worker pull request trigger
2025-12-04 15:51:36 -05:00
semantic-release-bot
2130855874
chore(release): 5.6.0 [skip ci]
...
# [5.6.0](https://github.com/kaitranntt/ccs/compare/v5.5.0...v5.6.0 ) (2025-12-04)
### Bug Fixes
* **cliproxy:** clarify paid tier messaging to reference google account tier ([848fbf4 ](https://github.com/kaitranntt/ccs/commit/848fbf4686b49305c26ef85da339b12dffa51b5b ))
* **cliproxy:** correct model selection default and update fallback version ([fdb8761 ](https://github.com/kaitranntt/ccs/commit/fdb8761cfac416831a8c3ae64f5718179517e3d0 ))
* **dev-release:** find next available dev version from npm ([482f3a7 ](https://github.com/kaitranntt/ccs/commit/482f3a7fc66f1b93a1b7e24e00a87c9858574ebd ))
* **doctor:** use actual installed clipproxy version instead of hardcoded ([e3edcf6 ](https://github.com/kaitranntt/ccs/commit/e3edcf613e28a48fb7cb5c2c90ffed3c80cb0c62 ))
* **prompt:** strip bracketed paste escape sequences from password input ([df31ffc ](https://github.com/kaitranntt/ccs/commit/df31ffcee7872b8d263451807818b368a9ba1eb4 ))
* **update:** add --help support and --dev alias for update command ([b18163c ](https://github.com/kaitranntt/ccs/commit/b18163c57b59cabbd7d18165b28933155d94d74a ))
### Features
* **cliproxy:** add model catalog with configuration management ([4654c15 ](https://github.com/kaitranntt/ccs/commit/4654c15577307457f8eb86ca9718b527460c7c40 ))
* **cliproxy:** add version management command ([7e07615 ](https://github.com/kaitranntt/ccs/commit/7e07615eedb7263aa359651abef8660ff0dcd95a ))
* **cliproxy:** add warning for broken claude proxy models on agy ([0e11426 ](https://github.com/kaitranntt/ccs/commit/0e11426daa8896ba58aa9d53889818ab3577e250 )), closes [CLIProxyAPI#415](https://github.com/CLIProxyAPI/issues/415 )
* **prompt:** add password input utility with masking ([3bdbff9 ](https://github.com/kaitranntt/ccs/commit/3bdbff9345c2eb21d861621e56430de5bac61fc4 ))
* **release:** simplify dev versioning with stable base ([942b4b9 ](https://github.com/kaitranntt/ccs/commit/942b4b92cfce054c0886d8508f1c15ad18fd4400 ))
2025-12-04 11:38:21 +00:00
Kai (Tam Nhu) Tran and GitHub
71d618a080
Merge pull request #54 from kaitranntt/dev
...
fix(cliproxy): model config improvements and fallback version update
2025-12-04 06:37:45 -05:00
github-actions[bot]
ebb4e77b6d
chore(release): 5.5.0-dev.11 [skip ci]
2025-12-04 11:37:12 +00:00
kaitranntt
7e07615eed
feat(cliproxy): add version management command
...
Allow users to install specific versions or update to latest CLIProxy
via 'ccs cliproxy' command with install/update subcommands.
2025-12-04 06:36:06 -05:00
github-actions[bot]
8cadf4d7fa
chore(release): 5.5.0-dev.10 [skip ci]
2025-12-04 11:23:45 +00:00