dsh-switch:将 CC Switch 数据实时同步至 DeepSeek Harness

前言

DeepSeek Harness (DSH) 负责模型推理路由与对话编排,而 cc-switch 负责供应商配置与用量查询。两者在数据层面通常是割裂的:在 cc-switch 中配置的模型和供应商,无法直接在 DSH 中使用,且用量状态难以在 DSH 界面中查看。dsh-switch 是一个 DSH 插件,其核心作用是作为桥接层,将 cc-switch 的数据库内容实时镜像到 DSH 的设置命名空间中,并同步展示供应商的用量信息。

核心功能

该插件主要实现以下功能:

  1. 实时同步配置
    插件通过文件监听机制监视 cc-switch 的数据库(~/.cc-switch/cc-switch.db)。当你在 cc-switch 中保存配置时,插件会将所有可用的供应商和模型镜像到 DSH 的 llm-pi-ai 设置命名空间。同步过程通过 DSH 的事件总线(llm/adapters-updated)触发,模型在保存后约一秒内即可在 DSH 中使用,无需重启应用。

  2. 全类型供应商支持
    插件支持将多种类型的供应商转换为 DSH 路由:

    • Claude:映射为 anthropic-messages。
    • Codex/GPT (API Key):通过 wire_api 映射为 openai-responses 或 openai-completions。
    • Gemini 形状中继:映射为 openai-completions。
    • OpenClaw:直接使用 DSH 形状配置。
    • 对于无法转换为 DSH 路由的供应商(如 OAuth 登录类或原生 Gemini 端点),插件会列出跳过原因。
  3. 用量可视化
    插件在 DSH 的会话输入栏模型选择器旁显示实时用量徽章。当模型所属供应商配置了用量查询时,徽章会显示余额或套餐窗口。

    • 余额模板:支持 balance 模板(DeepSeek、StepFun、SiliconFlow、OpenRouter、Novita AI 等)和 general/newapi 脚本。
    • 套餐模板:支持 token_plan(火山方舟、MiniMax)。
    • 查询结果在客户端缓存,切换模型时零延迟更新。
    • 插件的设置卡片会为每一个启用了用量查询的供应商显示独立的用量行。

安装与配置

使用该插件前,需满足以下环境要求:
* 本地已安装 cc-switch(数据库路径为 ~/.cc-switch/cc-switch.db)。
* DSH 版本 >= 0.1.5-rc.1。
* Node.js 版本 >= 24。

安装命令如下:

dsh plugin --profile desktop add github:a981008/dsh-switch

安装完成后,重启 DSH Desktop 即可生效。

使用示例

  1. 在 cc-switch 中配置供应商(如 Claude、GPT 等)和模型,并设置用量查询脚本。
  2. 保存 cc-switch 配置。插件会自动将新的供应商和模型同步到 DSH。
  3. 在 DSH 的会话中选择已同步的模型。如果该供应商配置了用量查询,输入栏模型选择器旁会出现实时用量徽章。
  4. 在 DSH 插件的设置卡片中,可以查看所有供应商的用量状态。

注意事项

  • 隐私安全:插件以只读模式打开 cc-switch 数据库,API Key 值不会发送到浏览器,设置文件中只引用名称,不保存明文。错误信息中的凭据也会被脱敏。
  • 认证限制:OAuth/订阅登录类供应商(如 ChatGPT、Gemini 官方)无法用于 DSH 路由认证,会被跳过。
  • 默认模型跟随:在 cc-switch 中切换“当前供应商”时,DSH 的 agent-default-model 会自动跟随。但如果该默认值已固定指向非同步路由(如自定义供应商或第三方包装),则不会被覆盖。
  • 许可证:MIT License。

结语

dsh-switch 通过消除 DSH 与 cc-switch 之间的数据隔阂,实现了配置的自动同步与用量的即时监控。对于同时使用 DSH 进行推理管理和 cc-switch 进行供应商管理的用户,该插件提供了必要的连接层,减少了手动维护成本。

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

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

小夜