Switch between Claude accounts, Gemini, Copilot, OpenRouter (300+ models) via CLIProxyAPI OAuth proxy. Visual dashboard, remote proxy support, WebSearch fallback. Zero-config to production-ready.
$ npx -y skills add kaitranntt/ccs --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: kaitranntt/ccs
What's inside

Run Claude, Codex, Droid-routed profiles, GLM, local models, and Anthropic-compatible APIs without config thrash.
Website | Documentation | Product Tour | CLI Reference
[Docker]
ghcr.io/kaitranntt/ccs-dashboard:latestis deprecated. Useghcr.io/kaitranntt/ccs:latestinstead. See #1251 and docker/README.md for migration details. To wire a sibling container to CLIProxy, see Connect your app to CLIProxy.
With Docker installed:
curl -fsSL https://ccs.kaitran.ca/docker-compose.yaml -o docker-compose.yaml
docker compose up -d
Dashboard at http://localhost:3000 · CLIProxy at http://localhost:8317.
Need a corporate-proxy alternative? Download directly:
https://raw.githubusercontent.com/kaitranntt/ccs/main/docker/compose.yaml
npm install -g @kaitranntt/ccs
ccs config
Then launch whatever runtime fits the task:
ccs
ccs codex
ccs xai # Alias: ccs grok
ccs --target droid glm
ccs glm
ccs ollama
CCS gives you one stable command surface while letting you switch between:
Qwen Code account linking is not available in the bundled CLIProxy runtime yet; use an API-key Qwen profile such as Alibaba Coding Plan for Qwen models.
The goal is simple: stop rewriting config files, stop breaking active sessions, and move between providers in seconds.
CCS can now bridge Claude Code into OpenAI-compatible providers through a local Anthropic-compatible proxy instead of requiring a native Anthropic upstream.
ccs api create --preset hf
ccs hf
Need to manage the proxy manually?
ccs proxy start hf
eval "$(ccs proxy activate)"
The proxy also supports request-time profile:model selectors, scenario-based
model routing through proxy.routing, and explicit activation helpers such as
ccs proxy activate --fish.
Guide: OpenAI-Compatible Provider Routing.
claude-code-router is an excellent standalone tool for routing Claude Code requests to OpenAI-compatible providers. CCS's local proxy and SSE transformation work was directly informed by CCR's transformer architecture.
Use CCR when you want a standalone router without CCS profile management.
Use CCS when you want the routing flow integrated with CCS profiles, runtime
bridges, and the existing ccs command surface.
Need the full setup path instead of the short version?
| Need | Start here |
|---|---|
| Install and verify CCS | /getting-started/installation |
| First successful session | /getting-started/first-session |
| Visual walkthrough | /getting-started/product-tour |
| Provider selection | /providers/concepts/overview |
| Full command reference | /reference/cli-commands |
| Troubleshooting | /reference/troubleshooting |

CCS Bar puts live subscription quota, daily spend, and account controls in the
macOS menu bar. Install it with ccs bar install, launch it with ccs bar, and
tell us what would make it more useful: issues and ideas are welcome in
GitHub Issues.
Deep dive: CCS Bar.

Track usage, costs, and session patterns across profiles. Deep dive: Dashboard Analytics.

See auth state, account health, and provider readiness without dropping into raw config. Deep dive: Live Auth Monitor.

Manage OAuth-backed providers, quota visibility, and proxy-wide routing from one place. CCS now surfaces round-robin vs fill-first natively in both CLI and dashboard flows instead of hiding that choice inside raw upstream controls. The original CLIProxyAPI backend remains the default; the community-maintained CLIProxyAPIPlus fork is opt-in for plus-only providers. When Plus is selected, CCS points the embedded management panel at the maintained CPAMC dashboard fork by default. Deep dive: CLIProxy API.

CCS can provision first-class local tools like WebSearch and image analysis for third-party launches instead of leaving you to wire them by hand. Browser automation now has a first-class setup path as well. Deep dive: WebSearch | Browser Automation.
The README stays short on purpose. The docs site owns the detailed guides and reference material.
| If you want to... | Read this |
|---|---|
| Understand what CCS is and how the pieces fit together | Introduction |
| Install CCS cleanly on a new machine | Installation |
| Go from install to a successful first run | Your First CCS Session |
| See the dashboard and workflow surfaces before setup | Product Tour |
| Install the native macOS menu-bar companion | CCS Bar |
| Compare OAuth providers, Claude accounts, and API profiles | Provider Overview |
| Learn the dashboard structure and feature pages | Dashboard Overview |
| Configure profiles, paths, and environment variables | Configuration |
| Understand browser attach vs Codex browser tooling | Browser Automation |
| Keep OpenCode aligned with your live CCS setup | OpenCode Sync Plugin |
| Browse every command and flag | CLI Commands |
| Recover from install, auth, or provider failures | Troubleshooting |
| Understand storage, config, and architecture details | Reference |
# Design with default Claude
ccs "design the auth flow"
# Implement with a different provider
ccs codex "implement the user service"
# Use a cheaper API profile for routine work
ccs glm "clean up tests and docs"
# Run a local model when you need privacy or offline access
ccs ollama "summarize these logs"
| Project | Author | Description |
|---|---|---|
| opencode-ccs-sync | @JasonLandbridge | Auto-sync CCS providers into OpenCode |
bun run format && bun run lint:fix && bun run validate (validate is the fast path only)bun run validate:ci-paritybun run test:runtime-matrix (Node 18/22/26 and Bun).claude/
commands/
ccs/
ccs.md
continue.md
skills/
ccs-delegation/
CLAUDE.md.template
references/
troubleshooting.md
SKILL.md
.dockerignore
.github/
CODE_OF_CONDUCT.md
FUNDING.yml
ISSUE_TEMPLATE/
bug-report.yml
config.yml
documentation.yml
feature-request.yml
question.yml
pr-assets/
1146/
logs-redesign.html
screenshots/
01-overview.png
02-trace-grouping.png
03-live-tail-paused.png
04-advanced-filters.png
05-empty-state.png
06-shortcuts-dialog.png
07-mobile.png
1151/
screenshots/
01-after-overview-mock.png
02-after-real-backend-clean.png
03-hide-internals-toggle.png
04-internals-shown-with-coalesce.png
05-after-mobile.png
1152/
screenshots/
01-overview-mock.png
02-real-backend-clean.png
03-mobile.png
1390/
after-disclaimer-as-tooltip.png
before-disclaimer-takes-space.png
1517/
ccs-bar-panel.webp
dashboard-header-ccs-bar-button.png
index.html
issue-1058/
codex-selector-variants.png
index.html
issue-1118/
index.html
pull_request_template.md
workflows/
ai-review.yml
bar-release.yml
breaking-change-guard.yml
ci.yml
deploy-ccs-worker.yml
dev-release.yml
docker-release.yml
docs-parity.yml
label-pending-release.yml
promote-release.yml
publish-npm.yml.deprecated
push-ci.yml
release.yml
smoke-test-compose-url.yml
sync-ccs-backlog-project.yml
sync-dev-after-release.yml
.gitignore
.gitmodules
.husky/
commit-msg
pre-commit
pre-push
.npmignore
.pr_agent.toml
.prettierignore
.prettierrc
.releaserc.cjs
AGENTS.md
assets/
ccs-logo-medium.png
ccs-logo-zoomed-web.png
screenshots/
analytics.webp
api-profiles-openrouter.webp
ccs-bar-panel.webp
cliproxyapi.webp
copilot-api.webp
live-auth-monitor.webp
websearch.webp
bun.lock
bunfig.toml
CHANGELOG.md
CLAUDE.md
commitlint.config.cjs
config/
base-agy.settings.json
base-claude.settings.json
base-codebuddy.settings.json
base-codex.settings.json
base-cursor.settings.json
base-gemini.settings.json
base-ghcp.settings.json
base-gitlab.settings.json
base-glm.settings.json
base-glmt.settings.json
base-iflow.settings.json
base-kilo.settings.json
base-kimi.settings.json
base-kiro.settings.json
base-km.settings.json
base-llamacpp.settings.json
base-mm.settings.json
base-ollama-cloud.settings.json
base-ollama.settings.json
base-qoder.settings.json
base-qwen.settings.json
base-xai.settings.json
config.example.json
CONTRIBUTING.md
docker/
compose.yaml
docker-compose.integrated.yml
docker-compose.yml
Dockerfile
Dockerfile.integrated
entrypoint-integrated.sh
entrypoint.sh
README.md
supervisord.conf
docs/
browser-automation.md
code-standards.md
codebase-summary.md
codex-auth.md
hardening-debt-burndown.md
i18n-dashboard.md
image-analysis.md
issue-900-ui-evidence/
control-panel-after-annotated.png
control-panel-after.png
control-panel-before-annotated.png
control-panel-before.png
index.html
logging-contract.md
openai-compatible-providers.md
project-overview-pdr.md
project-roadmap.md
quickstart-snippet.md
README.md
release-process.md
reports/
hardening-inventory.json
hardening-inventory.md
typed-error-exit-code-compat-audit.md
system-architecture/
index.md
provider-flows.md
target-adapters.md
websearch.md
eslint-rules/
no-new-throw-error.js
throw-error-baseline.json
eslint.config.mjs
lib/
ccs
ccs.ps1
error-codes.ps1
error-codes.sh
hooks/
block-websearch.cjs
image-analysis-runtime.cjs
image-analyzer-transformer.cjs
websearch-transformer.cjs
mcp/
ccs-browser-server.cjs
ccs-image-analysis-server.cjs
ccs-websearch-server.cjs
progress-indicator.ps1
progress-indicator.sh
prompt.ps1
prompt.sh
prompts/
image-analysis-default.txt
image-analysis-document.txt
image-analysis-screenshot.txt
LICENSE
macos-bar/
.gitignore
Package.swift
README.md
Resources/
AppIcon-source.png
Assets/
HeaderLogo.png
MenuBarColor.png
MenuBarTemplate.png
Info.plist
Scripts/
package_app.sh
Sources/
CCSBarApp/
BarAnalyticsView.swift
BarCardFormatting.swift
BarMenuView.swift
BarNotifier.swift
BarPreferences.swift
BarPreferencesView.swift
BarServerLauncher.swift
BarSubscriptionCard.swift
BarViewModel.swift
CCSBarApp.swift
DashboardLauncher.swift
MenuBarIcon.swift
ScrollerHider.swift
SettingsWindowController.swift
Sparkline.swift
WindowAppearanceForcer.swift
CCSBarCheck/
main.swift
CCSBarCore/
BarAlertEngine.swift
BarAlertPrefsStore.swift
BarAnalytics.swift
BarChartStyle.swift
BarDiscovery.swift
BarFormatting.swift
BarQuotaGauge.swift
BarServerProbe.swift
BarSummary.swift
BarTheme.swift
BarUpdateChecker.swift
BarVersionDisplay.swift
CCSBarClient.swift
VERSION
package.json
README.md
scripts/
add-shebang.js
bump-version.sh
check-executables.js
ci-parity-gate.sh
clean-dist.js
code-reviewer.ts
completion/
ccs.bash
ccs.fish
ccs.ps1
ccs.zsh
README.md
dev-install.sh
dev-release.sh
dev-symlink.sh
docker-dashboard-sunset-guard.js
ensure-deps.sh
generate-throw-error-baseline.js
get-version.sh
github/
ccs-backlog-sync-lib.mjs
ccs-backlog-sync.mjs
stable-release-issue-cleanup-lib.mjs
stable-release-issue-cleanup.mjs
hardening-inventory.js
maintainability-metrics.js
postinstall.js
postuninstall.js
pre-release.sh
preinstall.js
run-test-bucket.js
runtime-source-classifier.js
send-discord-release.cjs
verify-bundle.js
worker.js
wrangler.toml
SECURITY.md
src/
api/
index.ts
services/
__tests__/
cliproxy-profile-bridge.test.ts
cliproxy-profile-bridge.ts
index.ts
local-runtime-readiness.ts
openrouter-catalog.ts
openrouter-picker.ts
profile-lifecycle-service.ts
profile-lifecycle-validation.ts
profile-reader.ts
profile-types.ts
profile-writer.ts
provider-presets.ts
validation-service.ts
auth/
account-context.ts
account-profile-diagnostics.ts
auth-commands.ts
commands/
backup-command.ts
create-command-env.ts
create-command.ts
default-command.ts
index.ts
list-command.ts
remove-command.ts
resources-command.ts
show-command.ts
types.ts
index.ts
profile-continuity-inheritance.ts
profile-detector.ts
profile-registry.ts
resume-lane-diagnostics.ts
resume-lane-warning.ts
shared-resource-policy.ts
bin/
ccsxp-runtime.ts
codex-runtime-router.ts
codex-runtime.ts
droid-runtime.ts
ccs.ts
channels/
official-channels-ids.ts
official-channels-runtime.ts
official-channels-store.ts
cliproxy/
__tests__/
account-safety-ban-copy.test.ts
ai-provider-service-stable-id.test.ts
claude-shadow-warning.test.ts
cliproxy-retry-generator.test.ts
model-catalog-compat.test.ts
model-catalog.test.js
model-config.test.js
pool-onboarding-phase5.test.ts
pool-routing-phase3.test.ts
provider-capabilities.test.ts
session-tracker-port.test.js
session-tracker-target.test.ts
session-tracker.test.js
thinking-arg-parser.test.ts
thinking-override-resolver.test.ts
thinking-validator.test.ts
accounts/
__tests__/
account-manager-discover.test.js
account-registry-integrity.test.ts
account-registry-optional-nickname.test.ts
account-safety-quota-exhaustion.test.ts
account-safety.test.ts
drain-order.test.ts
pool-state.test.ts
account-manager.ts
account-safety-cross-lane.ts
account-safety.ts
account-stats-key.ts
bulk-ops.ts
drain-order.ts
email-account-identity.ts
index.ts
pool-state.ts
query.ts
registry.ts
token-file-ops.ts
types.ts
ai-providers/
__tests__/
codex-plan-compatibility-reconcile.test.ts
codex-plan-compatibility.test.ts
codex-reasoning-proxy-extended-context.test.ts
codex-reasoning-proxy.test.js
extended-context-config.test.ts
managed-model-prefixes.test.ts
model-id-normalizer.test.ts
model-routing-hints.test.ts
openai-compat-manager.test.js
schema-sanitizer.test.ts
tool-name-mapper.test.js
tool-name-sanitizer.test.js
codex-plan-compatibility.ts
codex-reasoning-proxy.ts
config-store.ts
config-yaml-sections.ts
index.ts
managed-model-prefixes.ts
model-id-normalizer.ts
openai-compat-manager.ts
schema-sanitizer.ts
service.ts
tool-name-mapper.ts
tool-name-sanitizer.ts
types.ts
auth/
... 1600 moreShowing a partial view of a very large repo.
FAQ
ccs is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes ccs-delegation. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.