kaitranntt
7653caba71
feat(copilot): add complete model catalog with plan tiers
...
Add 19 GitHub Copilot supported models with metadata:
- Anthropic: claude-sonnet-4.5, claude-sonnet-4, claude-opus-4.5,
claude-opus-4.1, claude-haiku-4.5
- OpenAI: gpt-5.2, gpt-5.1-codex-max, gpt-5.1-codex, gpt-5.1-codex-mini,
gpt-5.1, gpt-5-codex, gpt-5, gpt-5-mini, gpt-4.1
- Google: gemini-3-pro, gemini-3-flash, gemini-2.5-pro
- xAI: grok-code-fast-1
- Fine-tuned: raptor-mini
Each model includes:
- minPlan: free, pro, pro+, business, enterprise
- multiplier: 0 = free tier, 0.25-0.33 = cheap, 1 = standard, 3-10 = premium
- preview: boolean for non-GA models
Update default model to claude-sonnet-4.5 (standard multiplier).
2025-12-18 03:48:47 -05:00
kaitranntt
5f0fde9a61
feat(ui): expose auth result with device code in hook
...
- add CopilotAuthResult interface with deviceCode field
- expose startAuthAsync and authResult from useCopilot hook
- immediately refetch status on auth success
2025-12-18 03:01:12 -05:00
kaitranntt
4783632958
fix(copilot): use token file check for instant auth status
...
- add hasTokenFile() for fast auth check without subprocess
- capture device code from copilot-api auth output
- export AuthFlowResult type with deviceCode and verificationUrl
- echo auth output to terminal while capturing for UI
2025-12-18 03:00:43 -05:00
kaitranntt
3865747154
fix(ui): add install button to copilot page sidebar
...
- show Install copilot-api button when not installed
- display version in status when installed
2025-12-18 02:38:58 -05:00
kaitranntt
f813ad06f6
feat(ui): add copilot-api install button and version display
...
- add CopilotInfo type and install mutation to useCopilot hook
- show version in status card when installed
- add Install button with loading state when not installed
2025-12-18 02:27:35 -05:00
kaitranntt
fee241d00b
feat(api): add copilot install and info endpoints
...
- POST /api/copilot/install: install copilot-api (optional version)
- GET /api/copilot/info: get install status, version, path
- GET /api/copilot/status: include version in response
2025-12-18 02:27:11 -05:00
kaitranntt
9a8eea82c5
refactor(copilot): use local installation from package manager
...
- copilot-auth: use getCopilotApiBinPath() instead of npx
- copilot-daemon: move PID file to ~/.ccs/copilot/daemon.pid
- copilot-executor: auto-install copilot-api on first use
- index: export package manager functions
2025-12-18 02:26:46 -05:00
kaitranntt
ecdad1d6d0
feat(copilot): add self-managed package manager for copilot-api
...
- install copilot-api locally to ~/.ccs/copilot/
- auto-update with version caching (1hr TTL)
- version pinning support via .version-pin file
- mirrors CLIProxy binary-manager pattern
2025-12-18 02:26:11 -05:00
kaitranntt
63bdc3ae39
fix(copilot): widen sidebar and balance split-view layout
...
- Increase sidebar width from w-64 to w-80 (320px)
- Increase model name truncation from 100px to 160px
- Balance config form split-view to 50%/50%
2025-12-18 01:38:02 -05:00
kaitranntt
7886259c36
feat(copilot): redesign config form to match CLIProxy pattern
...
- Split-view layout (40% left / 60% right) matching CLIProxy design
- Left panel: Model Config tab with FlexibleModelSelector components,
Settings tab, and Info tab
- Right panel: Raw JSON editor for copilot.settings.json
- Add preset buttons for quick model tier mapping
- Bidirectional sync between UI and raw JSON
- Simplify copilot.tsx page layout with narrower sidebar
2025-12-18 00:22:14 -05:00
kaitranntt
882792a4fb
feat(copilot): add raw settings support to useCopilot hook
...
Add CopilotRawSettings interface and API functions for reading/writing
copilot.settings.json with conflict detection via expectedMtime.
2025-12-18 00:21:33 -05:00
kaitranntt
a3e2153498
feat(copilot): add raw settings API and model mapping routes
...
- add GET/PUT /api/copilot/settings/raw for copilot.settings.json
- update PUT /api/copilot/config to handle model mapping fields
- sync model mappings between settings file and unified config
2025-12-18 00:19:32 -05:00
kaitranntt
d21908ab63
feat(copilot): add model tier mapping support
...
- add opus_model, sonnet_model, haiku_model to CopilotConfig
- update generateCopilotEnv to use tier-specific models
- fall back to default model when tier not configured
2025-12-18 00:19:11 -05:00
kaitranntt
2145e62ddd
docs(help): add GitHub Copilot section to --help output
...
- add new major section for copilot integration
- document all copilot subcommands (auth, status, models, start, stop, enable, disable)
- show prerequisite: npm install -g copilot-api
2025-12-17 22:15:19 -05:00
kaitranntt
6b04532f41
feat(ui): add copilot dashboard page
...
- use-copilot.ts: React hook for copilot state management
- copilot-status-card.tsx: status display with auth/daemon controls
- copilot-config-form.tsx: configuration form with model selector
- copilot.tsx: main page combining status and config
- add /copilot route and sidebar navigation
2025-12-17 21:41:06 -05:00
kaitranntt
c84db38f6a
feat(api): add copilot REST API endpoints
...
- GET/PUT /api/copilot/config for configuration
- GET /api/copilot/status for integration status
- POST /api/copilot/auth/start for OAuth flow
- GET /api/copilot/models for available models
- POST /api/copilot/daemon/start|stop for daemon control
2025-12-17 21:39:37 -05:00
kaitranntt
d25db1fce1
feat(cli): add copilot CLI commands
...
- add 'ccs copilot' subcommand with auth, status, models, start, stop, enable, disable
- route 'ccs copilot' as profile name to copilot executor
- integrate copilot command into main CLI entry point
2025-12-17 21:39:01 -05:00
kaitranntt
e5a1f60bb6
feat(auth): add copilot profile detection
...
- add 'copilot' to ProfileType union
- detect copilot profile with enabled check
- include copilot in listAvailableProfiles() when enabled
2025-12-17 21:38:33 -05:00
kaitranntt
3b8a85c9ef
feat(copilot): add copilot manager module
...
- copilot-auth.ts: GitHub OAuth handling via copilot-api
- copilot-daemon.ts: daemon lifecycle (start/stop/status)
- copilot-models.ts: model catalog with Anthropic/OpenAI models
- copilot-executor.ts: profile execution and env generation
- types.ts: CopilotStatus, CopilotModel interfaces
2025-12-17 21:38:11 -05:00
kaitranntt
b87aeaeb01
feat(config): add copilot configuration types and loader
...
- add CopilotConfig interface with account_type, port, model settings
- add DEFAULT_COPILOT_CONFIG with safe opt-in defaults
- bump UNIFIED_CONFIG_VERSION from 3 to 4
- add YAML generation for copilot section
- add 'copilot' to reserved profile names
2025-12-17 21:36:59 -05:00
semantic-release-bot
afe0f66b9f
chore(release): 6.2.0 [skip ci]
...
# [6.2.0](https://github.com/kaitranntt/ccs/compare/v6.1.0...v6.2.0 ) (2025-12-18)
### Bug Fixes
* **ui:** improve account flow viz layout to fill available width ([7b876d2 ](https://github.com/kaitranntt/ccs/commit/7b876d23647eb190156e832df0b9bac6b7a6935f ))
* **ui:** improve account-flow-viz layout and styling ([ee85a1f ](https://github.com/kaitranntt/ccs/commit/ee85a1fd82c570e4c9296c746673c57a140f1677 ))
* **ui:** optimize bundle size and fix calendar crash ([572703f ](https://github.com/kaitranntt/ccs/commit/572703f4399ae49dc73c3e1bdf00611a859a0f0f ))
* **ui:** unify account card padding and fix SVG glow filter ([ab4c95b ](https://github.com/kaitranntt/ccs/commit/ab4c95bac9a64145ab24ccc1f8f143be4f64d06b ))
### Features
* **cliproxy:** remove thinking token cap and update agy haiku model ([925ac8e ](https://github.com/kaitranntt/ccs/commit/925ac8e1d47066bf6bfa2e9a36a31ee972a1beb8 ))
* **ui:** add ClaudeKit badge and Sponsor buttons to navbar ([9028b74 ](https://github.com/kaitranntt/ccs/commit/9028b742f8f764217ccb04335d94c88966cbbb71 ))
* **ui:** add multi-zone layout and enhanced drag features to account flow viz ([365f820 ](https://github.com/kaitranntt/ccs/commit/365f820c55106b7a4c1e2af40637144fb58c7644 ))
* **ui:** extend privacy mode to blur cost/token values in analytics ([2bf7992 ](https://github.com/kaitranntt/ccs/commit/2bf7992a8a6cb316b252c6b6e20df7860b1b2b8e ))
2025-12-18 00:02:11 +00:00
Kai (Tam Nhu) Tran and GitHub
4818eff71e
Merge pull request #122 from kaitranntt/dev
...
feat(release): v6.1.0 - UI enhancements and account flow improvements
2025-12-17 19:01:15 -05:00
github-actions[bot]
581be3ec12
chore(release): 6.1.0-dev.6 [skip ci]
2025-12-17 23:58:43 +00:00
kaitranntt
9028b742f8
feat(ui): add ClaudeKit badge and Sponsor buttons to navbar
...
- replace "CCS Config" header text with two promotional buttons
- add ClaudeKit badge with logo linking to claudekit.cc
- add Sponsor button with heart icon linking to GitHub Sponsors
- both buttons feature hover effects and consistent styling
- fix dark theme hover text visibility
2025-12-17 18:57:12 -05:00
kaitranntt
ab4c95bac9
fix(ui): unify account card padding and fix SVG glow filter
...
- add filterUnits="userSpaceOnUse" to flow-glow filter for consistent rendering
- unify connector-side padding to p*-4 across all zones (top/bottom/left/right)
- previous: top pb-5, left pr-6, right pl-6, bottom no extra
- now: all zones have consistent 16px padding on connector side
2025-12-17 18:33:58 -05:00
github-actions[bot]
ab61da1d85
chore(release): 6.1.0-dev.5 [skip ci]
2025-12-17 23:15:59 +00:00
kaitranntt
740f31b1b2
style(ui): use earthy sophisticated colors for flow connection lines
...
Replace generic gray connection lines with curated earthy palette
(Charcoal Brown, Forest Moss, Vintage Berry, Harvest Gold, Blue Slate,
Burnt Caramel) for more visually interesting bezier curves in account
flow visualization.
2025-12-17 18:14:35 -05:00
github-actions[bot]
e0bf535bc0
chore(release): 6.1.0-dev.4 [skip ci]
2025-12-17 23:06:06 +00:00
kaitranntt
572703f439
fix(ui): optimize bundle size and fix calendar crash
...
- optimize vite manualChunks to reduce bundle sizes
- update calendar to react-day-picker v9 API
- fix calendar crash by removing broken drag-to-select
- improve calendar UI with compact styling and better navigation
- resolve fast-refresh lint error by separating button variants
2025-12-17 18:04:50 -05:00
github-actions[bot]
1eec1bb4d2
chore(release): 6.1.0-dev.3 [skip ci]
2025-12-17 21:52:29 +00:00
kaitranntt
925ac8e1d4
feat(cliproxy): remove thinking token cap and update agy haiku model
...
- Removed MAX_THINKING_TOKENS (8191) limit for Claude models via agy.
- Updated default agy haiku model to gemini-3-flash-preview.
- Updated unit tests to match new model expectations.
2025-12-17 16:51:23 -05:00
github-actions[bot]
2a69c9beb8
chore(release): 6.1.0-dev.2 [skip ci]
2025-12-17 21:41:41 +00:00
kaitranntt
2bf7992a8a
feat(ui): extend privacy mode to blur cost/token values in analytics
2025-12-17 16:40:05 -05:00
kaitranntt
ee85a1fd82
fix(ui): improve account-flow-viz layout and styling
2025-12-17 16:40:01 -05:00
kaitranntt
7b876d2364
fix(ui): improve account flow viz layout to fill available width
...
- Change flow viz section from items-center to items-stretch
- Use justify-center with gap-8 instead of justify-between for middle row
- Add w-full to top/bottom zone containers
- Increase gap from gap-3 to gap-4 for consistent spacing
Fixes issue where visualization left huge blank spaces
2025-12-17 15:26:25 -05:00
github-actions[bot]
9cf9f0a902
chore(release): 6.1.0-dev.1 [skip ci]
2025-12-17 20:11:14 +00:00
kaitranntt
365f820c55
feat(ui): add multi-zone layout and enhanced drag features to account flow viz
...
- Add 4-zone layout (top/left/right/bottom) based on account count
- Dynamic provider card sizing scales with account count
- Add localStorage persistence for card positions with reset button
- Implement click-to-toggle for account detail panel
- Add drag vs click detection to prevent accidental selections
- Fix connection curves to properly follow dragged cards using getBoundingClientRect
- Add fixed widths (w-44) to all zone cards for consistency
- Add top/bottom connector points to provider card
2025-12-17 15:09:16 -05:00
semantic-release-bot
b0c6f74a80
chore(release): 6.1.0 [skip ci]
...
# [6.1.0](https://github.com/kaitranntt/ccs/compare/v6.0.0...v6.1.0 ) (2025-12-17)
### Bug Fixes
* **cliproxy:** prevent shared proxy termination on multi-session exit ([3629e3e ](https://github.com/kaitranntt/ccs/commit/3629e3e2fbe78e890ee8f618437660fbcf7a9901 )), closes [#118 ](https://github.com/kaitranntt/ccs/issues/118 )
### Features
* **privacy:** add privacy/demo mode for personal info blurring ([6f3fb54 ](https://github.com/kaitranntt/ccs/commit/6f3fb54cc3104eac8033137a9a9b297895fd93c0 ))
* **ui:** add iflow provider logo support ([cefb3a5 ](https://github.com/kaitranntt/ccs/commit/cefb3a59d2264f64d21a7f051c121011b7e16366 ))
2025-12-17 08:59:46 +00:00
Kai (Tam Nhu) Tran and GitHub
e2aa34ffa9
Merge pull request #121 from kaitranntt/dev
...
feat(release): v6.0.0 - privacy mode and CLIProxy stability
2025-12-17 03:58:43 -05:00
github-actions[bot]
1b0cfd2447
chore(release): 6.0.0-dev.2 [skip ci]
2025-12-17 08:50:17 +00:00
Kai (Tam Nhu) Tran and GitHub
f93c776ea0
Merge pull request #119 from kaitranntt/kai/fix/ui-patch
...
feat(ui): add privacy mode and improve CLIProxy UX
2025-12-17 03:49:16 -05:00
kaitranntt
6f3fb54cc3
feat(privacy): add privacy/demo mode for personal info blurring
2025-12-17 02:24:36 -05:00
github-actions[bot]
daa3f91938
chore(release): 6.0.0-dev.1 [skip ci]
2025-12-17 06:46:14 +00:00
Kai (Tam Nhu) Tran and GitHub
29bab3903a
Merge pull request #120 from kaitranntt/kai/fix/cliproxy-shared-port
...
fix(cliproxy): prevent shared proxy termination on multi-session exit
2025-12-17 01:45:13 -05:00
kaitranntt
3629e3e2fb
fix(cliproxy): prevent shared proxy termination on multi-session exit
...
Add session tracking with reference counting for CLIProxy instances.
Multiple CCS sessions now safely share a single proxy on port 8317.
When any session exits, proxy only terminates if it was the last session.
Changes:
- Add session-tracker.ts: lock file based reference counting
- Modify cliproxy-executor.ts: reuse existing proxy, conditional cleanup
- Add 21 unit tests for session tracker functionality
Fixes #118
2025-12-17 01:36:34 -05:00
kaitranntt
cefb3a59d2
feat(ui): add iflow provider logo support
2025-12-17 01:12:54 -05:00
kaitranntt
99ff14d420
style(ui): improve button variants for better UX
2025-12-17 01:08:39 -05:00
semantic-release-bot
38844540bb
chore(release): 6.0.0 [skip ci]
...
# [6.0.0](https://github.com/kaitranntt/ccs/compare/v5.20.0...v6.0.0 ) (2025-12-17)
### Bug Fixes
* **config:** force shutdown immediately instead of waiting ([6d69379 ](https://github.com/kaitranntt/ccs/commit/6d69379ead87dbf89d8b4d257e5134f45afc2e27 ))
* **dev-install:** prevent duplicate entries in bun global package.json ([13824b6 ](https://github.com/kaitranntt/ccs/commit/13824b61caa2905f267a2b0fdbeaeb1886352b46 ))
* **websearch:** preserve opencode and grok in mergeWithDefaults ([110925e ](https://github.com/kaitranntt/ccs/commit/110925e72e1a4a50dd641992c0b92429913b5309 ))
* **websearch:** update config.yaml comments to match CLI implementation ([81e46bd ](https://github.com/kaitranntt/ccs/commit/81e46bd0e12d1cae3755f556a8f8890f6d9c33ac ))
* **websearch:** update existing hook config when filename changes ([4959928 ](https://github.com/kaitranntt/ccs/commit/4959928a8e2152916f4639bf0824e25518001bf4 ))
* **websearch:** use correct @vibe-kit/grok-cli package ([b6c1ae4 ](https://github.com/kaitranntt/ccs/commit/b6c1ae48bab13c4c60084bec2d1f854b80a685b8 ))
### Features
* **build:** add preinstall script to manage UI dependencies ([78fb459 ](https://github.com/kaitranntt/ccs/commit/78fb459d956308a5a965c87d0382151eb5f8bd89 ))
* **cliproxy-stats:** Implement detailed stats fetching and integrate into UI ([3216a0e ](https://github.com/kaitranntt/ccs/commit/3216a0e8478ba9224b1c8ea36582a5166c8c01e0 ))
* **monitor:** Enhance auth monitor and account flow visualization ([994bd77 ](https://github.com/kaitranntt/ccs/commit/994bd7765acd735635d0c324acac1aea0bb8a165 ))
* **ui:** add connection timeline and improve account flow layout ([27de6af ](https://github.com/kaitranntt/ccs/commit/27de6af8aa5a5de72b2c34137cd1a5343e175bc9 ))
* **ui:** add documentation button to header ([6e4ee80 ](https://github.com/kaitranntt/ccs/commit/6e4ee805da23ac8969f4161d27047b5b82a07abc ))
* **ui:** enhance light theme contrast and animations ([197848a ](https://github.com/kaitranntt/ccs/commit/197848a71bbb26cbbd31ea5457ac917b82688d05 ))
* **ui:** implement auth monitor components & pages ([b97c3bf ](https://github.com/kaitranntt/ccs/commit/b97c3bfda4ad47787fbce53617a7ee5d5267c2bf ))
* **websearch:** add advanced configuration and custom MCP support ([cadd2e8 ](https://github.com/kaitranntt/ccs/commit/cadd2e824105d7beb0ccb04f554efda82470d29c ))
* **websearch:** add Grok CLI support and improve install guidance ([c0938e1 ](https://github.com/kaitranntt/ccs/commit/c0938e1c8286b0f9c262cc36472e3600a2b044bb ))
* **websearch:** add MCP fallback and Gemini CLI hook for third-party profiles ([fd99ebc ](https://github.com/kaitranntt/ccs/commit/fd99ebca983970b5fa1d5d366b0af5d136f9433e ))
* **websearch:** add model config + improve hook UX ([14c53d5 ](https://github.com/kaitranntt/ccs/commit/14c53d575f5eda6e49861d23c9eb22bfa6bf7058 ))
* **websearch:** add multi-tier MCP fallback for third-party profiles ([071ec04 ](https://github.com/kaitranntt/ccs/commit/071ec041ed7e2cfa21cadb7f55bfa93d9fe8cb1b ))
* **websearch:** add OpenCode CLI as third WebSearch provider ([482cda0 ](https://github.com/kaitranntt/ccs/commit/482cda0f8e61fa0bb63672db74b7e5efb1c3f1c8 ))
* **websearch:** dynamic hook timeout from config + grok-code default ([d33fefd ](https://github.com/kaitranntt/ccs/commit/d33fefd1336129572a03d983fae5c32bf5f4998f ))
* **websearch:** enhance Gemini CLI integration, package manager detection, and WebSearch status ([f7a1a40 ](https://github.com/kaitranntt/ccs/commit/f7a1a40b42a17e18a69c241614cf3f5853deace3 ))
* **websearch:** implement fallback chain for CLI providers ([e6aa8ac ](https://github.com/kaitranntt/ccs/commit/e6aa8ac453c70995307ea1fc5c819e0f891f1d61 ))
* **websearch:** respect config provider settings and consolidate prompts ([e71cb62 ](https://github.com/kaitranntt/ccs/commit/e71cb6227cfb114ca1864eea5198854604d83c52 ))
* **web:** update account manager and web routes ([127e0e6 ](https://github.com/kaitranntt/ccs/commit/127e0e60437f47cd445c1ce9ddf03415d51a06c7 ))
### BREAKING CHANGES
* **websearch:** Hook no longer falls back to all installed CLIs. It now
strictly respects config.yaml settings.
2025-12-17 05:22:41 +00:00
Kai (Tam Nhu) Tran and GitHub
94648ed301
Merge pull request #117 from kaitranntt/dev
...
feat(release): WebSearch CLI Fallback & Auth Monitor
2025-12-17 00:21:37 -05:00
github-actions[bot]
02a3d54907
chore(release): 5.20.0-dev.3 [skip ci]
2025-12-17 05:18:34 +00:00