dsh-ccswitch-sync:将 CC Switch 配置同步至 DeepSeek Harness

前言

DeepSeek Harness(DSH)通过插件体系支持自定义模型提供方。CC Switch 是一个用于管理 Claude Code / Codex API 配置的工具。dsh-ccswitch-sync 插件用于读取 CC Switch 的本地数据库配置,将其转换为 DSH 的自定义提供方,并处理 API 密钥的写入,实现配置迁移与统一管理。

核心功能

  1. 配置同步:读取 CC Switch 的 SQLite 数据库(~/.cc-switch/cc-switch.db),将其中的服务商和模型同步到 DSH 的 llm-pi-ai 路由。
  2. 自动映射:默认使用 cc- 前缀命名路由(如 cc-sub2api)。
  3. 协议适配:根据服务商类型自动选择协议(Codex 类型映射为 openai-responses 或 openai-completions,Claude 类型映射为 anthropic-messages)。
  4. 模型发现:支持通过网关的 /models 接口拉取模型列表,或读取本地模型目录(~/.codex/cc-switch-model-catalog.json)。
  5. 凭据管理:将 API 密钥写入 DSH 的凭据库(~/.dsh/.credentials.yaml),不污染主配置文件。
  6. 工具支持:提供聊天指令和独立的 CLI 工具。

安装与启用

插件通过文件方式安装到 DSH Desktop 的对应 profile:

  1. 修改 ~/.dsh/profiles/<profile>/package.json,添加依赖:
    // ~/.dsh/profiles/<profile>/package.json
    "dependencies": { "dsh-ccswitch-sync": "file:../../plugins/dsh-ccswitch-sync" }
  1. 在 dsh.profile.bundles 中加入 "dsh-ccswitch-sync"。
  2. 重启 DSH Desktop。

使用方法

插件安装后提供两种触发方式:

聊天命令

命令 说明
/ccswitch-sync 手动执行一次同步
/ccswitch-status 查看当前映射计划(路由、协议、模型)

独立 CLI

# 预览映射计划(默认)
node cli.mjs --dry-run

# 实际写入配置(自动备份原文件)
node cli.mjs --apply

# 实际写入并删除来源已不存在的路由
node cli.mjs --apply --remove-stale

# 自定义路由前缀
node cli.mjs --apply --prefix mycc

# 排除特定路由
node cli.mjs --apply --exclude cc-deepseek,cc-deepseek-codex

配置项

通过 ~/.dsh/profiles/<profile>/cordis.patch.yml 进行配置:

字段 默认值 说明
ccswitchDbPath ~/.cc-switch/cc-switch.db CC Switch 数据库路径
routePrefix cc 导入路由的前缀
syncOnStart false 启动时是否自动同步(默认关闭)
watchDb false 是否监听数据库变化自动重同步
removeStale false 删除来源已消失的 cc-* 路由
excludeRoutes [] 永不导入的路由列表
discoverModels true 是否通过 /models 接口发现模型
maxDiscoveredModels 50 每个提供方最多导入的模型数
discoverModelsTimeoutMs 6000 模型发现单次请求超时时间(毫秒)

注意事项

  • 手动触发:默认不自动拉取,避免重启或配置变化时意外覆盖手动修改的内容。
  • 覆盖风险:同步会覆盖 cc-* 前缀下已有的提供方和模型。如需保护手动调整的内容,可使用 excludeRoutes 配置。
  • 密钥存储:API 密钥以环境变量引用形式写入 ~/.dsh/.credentials.yaml,文件权限为 600。
  • 卸载:需从 package.json 移除依赖与 bundle 条目,执行安装命令并重启 DSH。

结语

该插件适用于需要将 CC Switch 的多服务商配置迁移到 DSH 管理场景。通过 CLI 工具,可以方便地进行预览、调整和批量更新。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜