kaitranntt
c0938e1c82
feat(websearch): add Grok CLI support and improve install guidance
...
- Add Grok CLI detection (grok-4-cli by lalomorales22) alongside Gemini CLI
- Add WebSearch health check group to health-service.ts
- Update settings UI to show both Gemini and Grok CLI providers
- Add detailed install hints when no WebSearch CLI is installed
- Update API routes to return grokCli status
- Both CLI and dashboard users now see clear installation guidance
Providers:
- Gemini CLI: FREE tier (1000 req/day), no API key needed
- Grok CLI: Requires xAI API key (XAI_API_KEY), web + X search
2025-12-16 21:00:35 -05:00
kaitranntt
66c3edc7e9
style(ui): apply prettier formatting
2025-12-16 05:57:47 -05:00
kaitranntt
cadd2e8241
feat(websearch): add advanced configuration and custom MCP support
2025-12-16 05:56:45 -05:00
kaitranntt
f7a1a40b42
feat(websearch): enhance Gemini CLI integration, package manager detection, and WebSearch status
...
- Improve Gemini CLI integration in websearch hook: use gemini-2.5-flash & --yolo.
- Update `dev-install.sh` for better package manager (npm/bun) auto-detection.
- Introduce `displayWebSearchStatus` for improved user experience.
- Refactor `mcp-manager.ts` to track CCS-managed MCP servers.
2025-12-16 04:18:40 -05:00
kaitranntt
fd99ebca98
feat(websearch): add MCP fallback and Gemini CLI hook for third-party profiles
...
- Add Gemini CLI transformer hook (websearch-gemini-transformer.cjs)
- Implement MCP auto-configuration with web-search-prime, brave, tavily fallback
- Add installWebSearchHook() to activate hook on profile launch
- Update settings.tsx to clarify web-search-prime requires z.ai subscription
- Add WebSearch config types and loader support
- Create implementation plan for WebSearch UX enhancement (startup status, dashboard)
Third-party profiles (gemini, agy, codex, qwen, glm, kimi) now have WebSearch
capability via Gemini CLI primary + MCP fallback chain.
2025-12-16 02:49:07 -05:00
kaitranntt
071ec041ed
feat(websearch): add multi-tier MCP fallback for third-party profiles
...
Implements CCS WebSearch Native Infrastructure (Phases 1-3):
Phase 1 - Multi-tier MCP Fallback:
- Add mcp-manager.ts with ensureMcpWebSearch() for auto-configuration
- Support web-search-prime (primary), Brave Search, and Tavily MCPs
- Case-insensitive detection of existing web search MCPs
- Block-websearch hook for optional native WebSearch blocking
Phase 2 - User Configuration:
- Add WebSearchConfig interface to unified-config-types.ts
- Add getWebSearchConfig() to unified-config-loader.ts
- Support configurable webSearchPrimeUrl for security
- Add GET/PUT /api/websearch endpoints in routes.ts
- Add WebSearch settings UI in settings.tsx dashboard
Phase 3 - Documentation & Testing:
- Add WebSearch section to README.md
- Create comprehensive docs/websearch.md guide
- Add 23 unit tests for MCP manager logic
Enables web search for gemini, codex, agy, qwen, glm, kimi profiles
that cannot access Anthropic's native WebSearch API.
2025-12-16 00:42:13 -05:00
semantic-release-bot
8ec7e99038
chore(release): 5.20.0 [skip ci]
...
# [5.20.0](https://github.com/kaitranntt/ccs/compare/v5.19.2...v5.20.0 ) (2025-12-15)
### Bug Fixes
* **auth:** improve default account hint and add reset-default command ([2fb266c ](https://github.com/kaitranntt/ccs/commit/2fb266c01f0a6a5bf10a0fe1662e1f315b732a61 )), closes [#106 ](https://github.com/kaitranntt/ccs/issues/106 )
* resolve ESM/CJS compatibility for Node.js 18 ([b915127 ](https://github.com/kaitranntt/ccs/commit/b915127b3a775667c171fd12a9756fc3d5d321d0 )), closes [#110 ](https://github.com/kaitranntt/ccs/issues/110 )
### Features
* **oauth:** enhance auth flow with detailed pre-flight checks and real-time progress ([e80c48c ](https://github.com/kaitranntt/ccs/commit/e80c48c55f8b74614d0bebb3336163588018ebd6 ))
2025-12-15 20:37:48 +00:00
Kai (Tam Nhu) Tran and GitHub
f043ce00d7
Merge pull request #109 from kaitranntt/dev
...
feat(release): OAuth real-time status display
2025-12-15 15:36:45 -05:00
github-actions[bot]
edf924ead0
chore(release): 5.19.2-dev.3 [skip ci]
2025-12-15 20:36:00 +00:00
Kai (Tam Nhu) Tran and GitHub
b5d751f83f
Merge pull request #112 from kaitranntt/kai/fix/config-esm-compat
...
fix: resolve ESM/CJS compatibility for Node.js 18 (#110 )
2025-12-15 15:34:58 -05:00
kaitranntt
b915127b3a
fix: resolve ESM/CJS compatibility for Node.js 18
...
Downgrade ESM-only packages to CJS-compatible versions:
- boxen: ^8.0.1 → ^5.1.2
- chalk: ^5.6.2 → ^4.1.2
- chokidar: ^5.0.0 → ^3.6.0
- get-port: ^7.0.0 → ^5.1.1
- gradient-string: ^3.0.0 → ^2.0.2
- listr2: ^9.0.5 → ^3.14.0
- open: ^10.1.0 → ^8.4.2
- ora: ^9.0.0 → ^5.4.1
Update dynamic import handling for CJS module compatibility.
Add type declarations for gradient-string.
Fixes #110
2025-12-15 15:32:34 -05:00
github-actions[bot]
d74c08148a
chore(release): 5.19.2-dev.2 [skip ci]
2025-12-15 04:28:25 +00:00
Kai (Tam Nhu) Tran and GitHub
980021bc14
Merge pull request #108 from kaitranntt/kai/feat/oauth-realtime-status
...
feat(oauth): enhance auth flow with detailed pre-flight checks and real-time progress
2025-12-14 23:27:31 -05:00
kaitranntt
e80c48c55f
feat(oauth): enhance auth flow with detailed pre-flight checks and real-time progress
2025-12-14 23:07:03 -05:00
github-actions[bot]
f0e8408abb
chore(release): 5.19.2-dev.1 [skip ci]
2025-12-15 02:42:44 +00:00
Kai (Tam Nhu) Tran and GitHub
acdd340ec9
Merge pull request #107 from kaitranntt/kai/fix/auth-create-default-warning
...
fix(auth): improve default account hint and add reset-default command
2025-12-14 21:41:42 -05:00
kaitranntt
2fb266c01f
fix(auth): improve default account hint and add reset-default command
...
- Change post-create hint from casual text to warning box
- Clearly state that running the command will SWITCH default account
- Add `ccs auth reset-default` command to restore original CCS behavior
- Add warnBox() UI helper for yellow-bordered warning boxes
- Update main help to show default/reset-default commands
Closes #106
2025-12-14 21:32:45 -05:00
semantic-release-bot
7408e42d89
chore(release): 5.19.2 [skip ci]
...
## [5.19.2](https://github.com/kaitranntt/ccs/compare/v5.19.1...v5.19.2 ) (2025-12-14)
### Bug Fixes
* **auth:** handle Windows spawn for profile creation ([5efab53 ](https://github.com/kaitranntt/ccs/commit/5efab53eb7f048b2a29a088508e1fcb19c4acd91 ))
2025-12-14 07:56:25 +00:00
Kai (Tam Nhu) Tran and GitHub
2d0460d37b
Merge pull request #102 from kaitranntt/dev
...
fix(auth): handle Windows spawn for profile creation
2025-12-14 02:55:27 -05:00
github-actions[bot]
e3e733daca
chore(release): 5.19.1-dev.1 [skip ci]
2025-12-14 07:51:44 +00:00
kaitranntt
5efab53eb7
fix(auth): handle Windows spawn for profile creation
2025-12-14 02:50:22 -05:00
semantic-release-bot
cd7e672821
chore(release): 5.19.1 [skip ci]
...
## [5.19.1](https://github.com/kaitranntt/ccs/compare/v5.19.0...v5.19.1 ) (2025-12-14)
### Bug Fixes
* **auth:** include unified config accounts in auth list command ([3cdf84b ](https://github.com/kaitranntt/ccs/commit/3cdf84b1ba232ec6e68a40cf90558afeee21154e ))
2025-12-14 06:47:34 +00:00
Kai (Tam Nhu) Tran and GitHub
1a81a58ac4
Merge pull request #101 from kaitranntt/dev
...
fix(auth): Account profile unified config fixes
2025-12-14 01:46:40 -05:00
github-actions[bot]
9c42511546
chore(release): 5.19.0-dev.1 [skip ci]
2025-12-14 06:43:32 +00:00
kaitranntt
3cdf84b1ba
fix(auth): include unified config accounts in auth list command
...
The `ccs auth list` command was only reading from legacy profiles.json,
missing accounts stored in unified config (config.yaml). Now merges
profiles from both sources, with unified config taking precedence.
2025-12-14 01:42:30 -05:00
semantic-release-bot
76a5582f1b
chore(release): 5.19.0 [skip ci]
...
# [5.19.0](https://github.com/kaitranntt/ccs/compare/v5.18.0...v5.19.0 ) (2025-12-14)
### Bug Fixes
* **auth:** use unified config for account profile touch in ccs.ts ([4ccde8a ](https://github.com/kaitranntt/ccs/commit/4ccde8a3f07d5ebb658213dfe9f69a7b11ec3aac )), closes [#98 ](https://github.com/kaitranntt/ccs/issues/98 )
* **ci:** prevent shell injection from PR body markdown ([5a8db2c ](https://github.com/kaitranntt/ccs/commit/5a8db2c1ee87b2a252f61759273863c0c521f27b ))
* **cliproxy:** add SSH port forwarding instructions for headless OAuth ([a6b95db ](https://github.com/kaitranntt/ccs/commit/a6b95dbac5f97a870c7ef58701726ad9733ea75d ))
### Features
* **cliproxy:** disable logging by default and add cleanup command ([e5cdf7c ](https://github.com/kaitranntt/ccs/commit/e5cdf7c083b1b220627dad711df6f6f1c746d9ad )), closes [#96 ](https://github.com/kaitranntt/ccs/issues/96 )
2025-12-14 06:35:27 +00:00
Kai (Tam Nhu) Tran and GitHub
913cfa2754
Merge pull request #100 from kaitranntt/dev
...
fix(release): v5.19.0 - Profile not found fix and CLIProxy improvements
2025-12-14 01:34:29 -05:00
github-actions[bot]
34abeb5436
chore(release): 5.18.0-dev.3 [skip ci]
2025-12-14 06:27:54 +00:00
Kai (Tam Nhu) Tran and GitHub
973e01f885
Merge pull request #99 from kaitranntt/kai/fix/98-profile-not-found-unified-config
...
fix(auth): Profile not found for account profiles in unified config mode
2025-12-14 01:26:54 -05:00
kaitranntt
4ccde8a3f0
fix(auth): use unified config for account profile touch in ccs.ts
...
Account profiles in unified config mode were failing with "Profile not found"
because touchProfile() only checked legacy profiles.json. Now checks unified
config first with hasAccountUnified() and calls touchAccountUnified() when
the profile exists there, falling back to legacy touchProfile() otherwise.
Fixes #98
2025-12-14 01:17:22 -05:00
github-actions[bot]
13d535e901
chore(release): 5.18.0-dev.2 [skip ci]
2025-12-14 06:08:27 +00:00
kaitranntt
a6b95dbac5
fix(cliproxy): add SSH port forwarding instructions for headless OAuth
...
When running OAuth in headless mode (SSH/remote), users now see clear
instructions about port forwarding requirement before the OAuth URL.
Previously, CLIProxyAPI's instructions were captured but not displayed.
- Show [!] PORT FORWARDING REQUIRED warning
- Explain that localhost:8085 callback must be reachable
- Show ssh -L command with <USER>@<HOST> placeholders
- Emphasize running on LOCAL machine, not remote
2025-12-14 01:07:20 -05:00
github-actions[bot]
9aedbfed72
chore(release): 5.18.0-dev.1 [skip ci]
2025-12-14 05:02:52 +00:00
Kai (Tam Nhu) Tran and GitHub
a5bb47b6f6
Merge pull request #97 from kaitranntt/kai/feat/cliproxy-logging
...
feat(cliproxy): disable logging by default and add cleanup command
2025-12-14 00:01:54 -05:00
kaitranntt
5a8db2c1ee
fix(ci): prevent shell injection from PR body markdown
...
Pass PR title and body via env vars instead of direct interpolation.
Prevents backticks in markdown code blocks from being executed as shell commands.
2025-12-13 23:31:52 -05:00
kaitranntt
e5cdf7c083
feat(cliproxy): disable logging by default and add cleanup command
...
- Disable CLIProxy logging by default to prevent 5-12GB disk bloat
- Add cliproxy.logging config option for user opt-in via ~/.ccs/config.yaml
- Add `ccs cleanup` command to remove old CLIProxy logs
- Bump CLIProxy config version to v3 to trigger config regeneration
Closes #96
2025-12-13 23:27:23 -05:00
semantic-release-bot
03dca41b2b
chore(release): 5.18.0 [skip ci]
...
# [5.18.0](https://github.com/kaitranntt/ccs/compare/v5.17.0...v5.18.0 ) (2025-12-13)
### Bug Fixes
* **analytics:** fill hourly gaps with zero values in 24H view ([4412d22 ](https://github.com/kaitranntt/ccs/commit/4412d22f3eee8f0b664f9fdad3562cb414aacacf ))
* **analytics:** guard against undefined data arrays in filtering ([e08935b ](https://github.com/kaitranntt/ccs/commit/e08935b411caec21abc1bd795f6af8a889687f03 ))
* **analytics:** use UTC dates and cap hourly chart at current time ([9fd0c1c ](https://github.com/kaitranntt/ccs/commit/9fd0c1cc074c2d14b6978aba001b3b6552b06642 ))
### Features
* **ui:** implement operational hub core components ([a2d049c ](https://github.com/kaitranntt/ccs/commit/a2d049c6045ab18a732171cd852b6c116f80e46f ))
* **ui:** premium home page with gradient glass design ([dbc1371 ](https://github.com/kaitranntt/ccs/commit/dbc13718ef4d194795fe1370aab005d971f96af0 ))
* **ui:** redesign home page as Interactive Status Board ([cf567bb ](https://github.com/kaitranntt/ccs/commit/cf567bb9246c50de446c47f426c4ad8790ee928c ))
2025-12-13 08:05:02 +00:00
Kai (Tam Nhu) Tran and GitHub
b43bef664a
Merge pull request #95 from kaitranntt/dev
...
feat(ui): dashboard improvements and docs migration to Mintlify
2025-12-13 03:04:07 -05:00
github-actions[bot]
ee7a0aa6a9
chore(release): 5.17.0-dev.8 [skip ci]
2025-12-13 07:56:34 +00:00
Kai (Tam Nhu) Tran and GitHub
8ed5babca1
Merge pull request #94 from kaitranntt/kai/feat/improve-config-home
...
feat(ui): refactor home page and remove unused progress component
2025-12-13 02:55:33 -05:00
kaitranntt
945920832f
Merge origin/dev into kai/feat/improve-config-home
...
Resolves conflicts:
- Accept dev branch structure (docs moved to external submodule)
- Keep README with extensibility messaging updates:
- Universal profile manager tagline
- Built-in Providers section (renamed from Supported Providers)
- API Profiles pillar emphasizes Anthropic-compatible APIs
- Added tip about custom provider support
2025-12-13 02:54:23 -05:00
kaitranntt
703d1aa2e3
docs: emphasize CCS extensibility and universal API support
...
- Update tagline: "universal AI profile manager for Claude Code"
- Add "Custom API Profiles" section for bring-your-own APIs
- Clarify built-in OAuth providers are not the only option
- Add note about Anthropic-compatible API extensibility
- Update Architecture section to highlight extensibility
- Add "Unlimited Profiles" to What CCS Gives You
- Update Japanese and Vietnamese READMEs with same messaging
2025-12-13 02:48:48 -05:00
kaitranntt
0bd54eb26b
refactor(ui/home-page): simplify and refactor home page layout
...
Remove deprecated components and logic from the home page,
including the progress bar, live clock, and old quick launch sections.
Introduce new components (HeroSection, QuickCommands, StatCard) to streamline the layout.
Delete unused component.
2025-12-13 02:42:48 -05:00
kaitranntt
cf567bb924
feat(ui): redesign home page as Interactive Status Board
...
- Full-width layout (removed max-w constraints)
- Restored CcsLogo in hero section with live clock
- Added real-time provider status cards with animated indicators
- Health progress bar with color-coded status
- Icon-based quick launch grid (G/C/A/K/L/D shortcuts)
- System navigation panel with all major routes
- Shared resources summary with counts
- Added Progress UI component for status bars
- Subtle grid background for control center aesthetic
Design Proposal 4: Interactive Status Board implementation
2025-12-13 02:26:57 -05:00
kaitranntt
dbc13718ef
feat(ui): premium home page with gradient glass design
...
- Gradient mesh background with brand colors
- Glass cards with backdrop-blur effects
- Three Pillars section matching README branding
- Command palette search bar with ⌘K hint
- Quick launch icons (G/C/A + accounts + doctor)
- Click-to-copy commands functionality
- Animated health status badge with pulse
- Micro-animations on hover (lift, scale, opacity)
- Responsive bento-style layout
2025-12-13 02:15:57 -05:00
github-actions[bot]
f7ef72f5e1
chore(release): 5.17.0-dev.7 [skip ci]
2025-12-13 06:57:22 +00:00
kaitranntt
f520b8919d
docs: add assets folder with images for README
2025-12-13 01:56:25 -05:00
github-actions[bot]
b84c4ca001
chore(release): 5.17.0-dev.6 [skip ci]
2025-12-13 06:55:53 +00:00
kaitranntt
0a8a22347c
docs: use Mintlify-hosted URLs for README images
2025-12-13 01:55:01 -05:00
github-actions[bot]
c412db0f75
chore(release): 5.17.0-dev.5 [skip ci]
2025-12-13 06:54:16 +00:00