- Add OpenCodeWebSearchConfig type with enabled, model, timeout options
- Implement getOpenCodeCliStatus() for CLI detection with caching
- Add hasOpenCodeCli() and clearOpenCodeCliCache() helper functions
- Update getWebSearchCliProviders() to include OpenCode provider info
- Update hasAnyWebSearchCli() to check all three providers
- Update getCliInstallHints() with OpenCode install command
- Update WebSearchStatus interface to include opencodeCli
- Update getWebSearchReadiness() to report OpenCode status
- Update routes.ts PUT /api/websearch to handle opencode config
- Update routes.ts GET /api/websearch/status to return opencodeCli
- Add OpenCode provider card in settings.tsx UI
- Add purple-themed installation hints for OpenCode
- Order providers: Gemini (1st) -> OpenCode (2nd) -> Grok (3rd/last)
OpenCode uses `opencode run` with `opencode/gpt-5-nano` model for
web search. FREE tier available via OpenCode Zen, no API key required.
- Update WebSearch section comments in unified-config-loader.ts
- Remove outdated MCP references (web-search-prime, brave, tavily, customMcp)
- Add accurate CLI provider info (Gemini CLI FREE, Grok CLI paid)
- Add GrokWebSearchConfig type to unified-config-types.ts
- Update PUT /api/websearch route to handle both gemini and grok
Old comments listed MCP-based providers that were never implemented.
New comments accurately reflect the CLI-based WebSearch implementation.
- Update install command to npm install -g @vibe-kit/grok-cli
- Update docs URL to github.com/superagent-ai/grok-cli
- Fix env var from XAI_API_KEY to GROK_API_KEY
- Update description to reflect AI coding agent capabilities
- 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
- 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
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.
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
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
- 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
- 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
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.
- 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