LKRCharon/dsh-cc-switch

将cc-switch提供者配置同步到DeepSeek Harness(DSH)模型路由中——包括CLI、斜杠命令和代理工具

项目介绍Project Overview

dsh-cc-switch 将 cc-switch 管理的 Claude Code/Codex 中转商配置同步为 DSH 模型路由,无需预配置模型即可引导全新 DSH 实例。支持终端 CLI、启动自动同步、/ccswitch 命令及 Agent 工具。以只读方式访问 cc-switch 数据库,密钥经 DSH 凭据机制引用。注意:已删除的供应商不会自动移除。

dsh-cc-switch syncs cc-switch provider profiles into DSH model routes, bootstrapping a fresh DSH install with zero models configured. It maps codex and claude providers onto llm-pi-ai routes via four planes: terminal CLI (npx dsh-cc-switch), startup auto-sync, /ccswitch command, and agent tool. It reads the cc-switch SQLite DB read-only; API keys are stored as DSH credential references. Use it to import existing providers into a new DSH instance. Caveat: removed providers are not auto-deleted from DSH settings.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

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

LKRCharon/dsh-cc-switch 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

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:

plane how needs a working model? needs DSH running?
Terminal CLI npx dsh-cc-switch (--dry-run to preview) no no — works before first boot
Startup automatic (syncOnStart, default on) no
Human command type /ccswitch in the composer (/ccswitch dry to preview) no yes
Agent tool ask the agent to run ccswitch_sync yes yes

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-switch DSH 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 providers skipped (pi-ai cannot OAuth)
gemini / claude-desktop skipped (roadmap)

Config

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

- id: cc-switch
  config:
    syncOnStart: false
key default
dbPath ~/.cc-switch/cc-switch.db cc-switch database location
prefix ccs- route id prefix
apps ['codex', 'claude'] app_types to sync
syncOnStart true run 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

上一个 Prev better-deepseek-harness 下一个 Next dsh-clawbot