Commit Graph
537 Commits
Author SHA1 Message Date
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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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) TranandGitHub 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