DSH Plugin Store
Back to home

LKRCharon

dsh-cc-switch

Sync cc-switch provider profiles into DeepSeek Harness (DSH) model routes — CLI, slash command, and agent tool

Stars
0
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026
Other
GitHub repo

Introduction

dsh-cc-switch

cc-switch providers inside DeepSeek Harness.

把 cc-switch 里管理的 Claude Code / Codex 中转商配置一键同步成 DSH 模型路由。不需要任何已配置的模型——这正是它存在的理由:给一个还没有模型的 DSH 实例导入你已有的全部供应商。

Sync your cc-switch provider profiles into DSH model routes. Works with zero models configured — that is the whole point: bootstrap a fresh DSH install from providers you already manage.

Install

dsh plugin --profile web add dsh-cc-switch

Restart DSH. By default the plugin syncs on start (syncOnStart: true), so your cc-switch providers appear in the model picker immediately.

Never booted DSH before? Bootstrap from the terminal without installing anything:

npx dsh-cc-switch            # sync now
npx dsh-cc-switch --dry-run  # preview only

Usage

Three planes, pick any:

planehowneeds a working model?needs DSH running?
Terminal CLInpx dsh-cc-switch (--dry-run to preview)nono — works before first boot
Startupautomatic (syncOnStart, default on)no
Human commandtype /ccswitch in the composer (/ccswitch dry to preview)noyes
Agent toolask the agent to run ccswitch_syncyesyes

How it works

  • Opens the local cc-switch SQLite database read-only; cc-switch is never modified.
  • Maps providers onto llm-pi-ai routes through the DSH settings seam — changes take effect on the next request, no restart.
  • API keys are stored through the DSH credential seam as references (CCS_*_KEY); key values never appear in settings, tool output, or model context.
cc-switchDSH route
codex provider (API-key relays)openai-responses / openai-completions route, model from config TOML
claude provider (ANTHROPIC_BASE_URL relays)anthropic-messages route, models from ANTHROPIC_DEFAULT_*_MODEL_NAME
Official OAuth providersskipped (pi-ai cannot OAuth)
gemini / claude-desktopskipped (roadmap)

Config

Override per row in your profile cordis.patch.yml:

- id: cc-switch
  config:
    syncOnStart: false
keydefault
dbPath~/.cc-switch/cc-switch.dbcc-switch database location
prefixccs-route id prefix
apps['codex', 'claude']app_types to sync
syncOnStarttruerun a sync when the plugin loads

Limitations / roadmap

  • Removed cc-switch providers are not auto-removed from DSH settings yet; delete stale ccs-* routes in Settings → Models.
  • A "import from cc-switch" button on the Models settings page (Web UI plugin tree), gemini mapping, DB change watching: planned.

Compatibility

Tested against cc-switch DB schema as of 2026-08 and DSH v0.1 developer preview. Both sides move fast; pin versions.

Unofficial community plugin — not affiliated with cc-switch or DeepSeek.

MIT