yu969774/dsh-ccswitch-sync ↗★ 0
dsh-ccswitch-sync
将 CC Switch 提供商和模型同步至 DeepSeek Harness 自定义提供商的插件。
AI 分析
核心用途是多模型提供商的自动同步与路由映射。适合使用 CC Switch 且需要将其无缝接入 DSH 的用户。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yu969774/dsh-ccswitch-sync说明文档
阅读完整 README ↗使用
聊天命令(重启后可用)
| 命令 | 说明 |
|---|---|
/ccswitch-sync | 立即执行一次同步(启动时与 db 变化时也会自动执行) |
/ccswitch-status | 查看当前映射计划:每个提供方 → 路由、协议、模型 |
独立 CLI(无需重启应用即可用)
node cli.mjs --dry-run # 只预览映射计划(默认)
node cli.mjs --apply # 实际写入 settings.yaml + .credentials.yaml(自动备份原文件)
node cli.mjs --apply --remove-stale # 同时删除来源已不存在的 cc-* 路由
node cli.mjs --apply --exclude cc-deepseek,cc-deepseek-codex # 永不导入指定路由/提供方
node cli.mjs --dry-run --include-official
node cli.mjs --apply --prefix mycc # 自定义路由前缀
CLI 直接编辑 ~/.dsh/settings.yaml 与 ~/.dsh/.credentials.yaml,运行中的 DSH 通过文件监听热发布,无需重启。
配置项
插件入口(~/.dsh/profiles/ /cordis.patch.yml 里对 ccswitch-sync 打补丁,或安装时传入):
| 字段 | 默认值 | 说明 |
|---|---|---|
ccswitchDbPath | ~/.cc-switch/cc-switch.db | CC Switch 数据库路径 |
codexModelCatalogDir | ~/.codex | codex 模型目录(model_catalog_json 相对路径的解析基址) |
routePrefix | cc | 导入路由的前缀,如 cc-sub2api |
syncOnStart | true | 启动时自动同步 |
watchDb | true | 监听 cc-switch.db 变化自动重同步 |
watchDebounceMs | 2000 | 重同步防抖(毫秒) |
removeStale | false | 删除来源已消失的 cc-* 路由 |
includeOfficial | false | 是否也导入官方服务商(OpenAI/Claude/Google) |
excludeRoutes | [] | 永不导入的路由或提供方名(如 ["cc-deepseek"]),适合与内置提供方重复的情况 |
discoverModels | true | 对没有模型目录的 OpenAI 兼容网关,查询其 /models 接口拉全模型列表(同 Codex 的做法) |
discoverModelsTimeoutMs | 6000 | 模型发现单次请求超时(毫秒) |
maxDiscoveredModels | 50 | 每个提供方最多导入的发现模型数 |
discoveryCachePath | ~/.dsh/cache/ccswitch-model-discovery.json | 发现结果磁盘缓存(按 baseURL+密钥哈希键控) |
discoveryCacheTtlMs | 24h | 发现缓存有效期 |
模型发现说明:Sub2API、镜花 Coding 这类网关在 Codex 里能选的模型远不止配置里那一个;同步时插件会调用 GET {baseURL}/models 拉取全部可用模型(自动过滤 image/realtime/audio/embedding 等非对话模型),失败时回退到配置中选定的模型(如 AI-Tokens、超级羲和不支持 /models,则只导入配置模型,可在 DSH 设置页手动补充)。查询结果带 24 小时磁盘缓存,不会反复请求。
示例(~/.dsh/profiles/desktop/cordis.patch.yml):
- patch:
- id: ccswitch-sync
config:
removeStale: true
excludeRoutes:
- cc-deepseek
- cc-deepseek-codex