🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

a981008/dsh-switch

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
未验证

一个 DeepSeek Harness DSH 插件,用于桥接 cc-switch:

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/18 · 已提供中文文档

DeepSeek Harness 的 CC Switch 桥接:将 cc-switch 的提供商和模型镜像到 DSH,并显示每个提供商的配额或余额。

综合分
29.2
GitHub 分
29.2
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add a981008/dsh-switch
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 7 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-switch

English

一个 DeepSeek Harness (DSH) 插件,用于桥接 cc-switch:

- 实时同步——无需点击应用——该插件监视 cc-switch 数据库文件,并在你在 cc-switch 中点击保存的那一刻,将每个可用的提供商镜像到 DSH 的 llm-pi-ai 设置命名空间中(一个缓慢的签名轮询作为安全网保留)。你在 cc-switch 中配置或切换到的任何内容都能在一秒内在 DSH 中使用;提供商密钥存储在 DSH 凭据服务中(设置仅引用其名称,值永远不会落入 settings.yaml)。同步是自我修复的:外部丢失或被编辑的 ccs- 条目会自动恢复。当你在 cc-switch 中切换当前提供商时,DSH 的 agent-default-model 会跟随——但仅当该默认值未设置或已指向某个已同步的 ccs- 路由时。你固定到其他任何内容的默认值(你自己的提供商条目,或我们路由的第三方包装器,例如 modlens 的 modlens-ccs-… "(modlens vision)" 孪生项)永远不会被覆盖。
- 所有提供商类型——Claude(→ anthropic-messages)、使用 API 密钥认证的 Codex/GPT(→ 通过 wire_api 的 openai-responses / openai-completions)、Gemini 形态的 OpenAI 兼容中继(→ openai-completions),以及 DSH 形态的 OpenClaw 配置。OAuth 登录提供商(ChatGPT/Gemini 官方)和原生 Gemini 端点无法表达为 DSH 路由,会被列出并注明跳过原因。
- 模型在 cc-switch 保存的那一刻出现——一次更改提供商或模型的同步会在 DSH 自己的事件总线(llm/adapters-updated)上宣布该更改,并且该插件的设置卡片 + 编辑器徽章也会在 DSH 转发的 settings/document-updated / llm/adapters-updated 事件上重新读取。因此,在 cc-switch 中添加、重命名或赋予新模型的提供商会在大约一秒内在 DSH 模型选择器和该插件的界面中可见——无需重启,无需重新打开设置选项卡,无需等待轮询周期。每个提供商行还会额外报告 DSH 是否已在提供它(live in DSH / awaiting DSH)以及 DSH 列出了它的多少个模型,因此半应用状态是可见的,而不是静默的。
- 使用模型时的用量徽章 — 当正在使用的模型所属的提供商在 cc-switch 中配置了用量查询时,会话编辑器的模型选择器旁边会出现一个小徽章,实时显示该提供商的配额/余额:对于 token_plan(火山方舟、MiniMax — 从基础 URL 检测 CN/Intl)显示套餐窗口,或对于内置的 balance 模板(DeepSeek、StepFun、SiliconFlow CN/EN、OpenRouter、Novita AI — 从基础 URL 检测,与 cc-switch 自身的余额服务保持一致)以及 general/newapi 脚本(在沙箱化的 node:vm 中执行,使用来自 cc-switch 脚本的 request/extractor,对 {{baseUrl}}/{{apiKey}}/{{accessToken}}/{{userId}} 进行占位符替换)显示剩余余额。结果按路由缓存,遵循脚本的自动查询间隔;错误消息中会清除该行贡献的每一项凭据。徽章跟随会话自身的模型:它订阅客户端的模型选择存储,因此在编辑器中选择不同的模型会立即切换用量(每个提供商的最后一次应答会在客户端缓存,因此来回切换时能即时渲染)。对于没有用量查询的提供商,不显示徽章。此外,插件的设置卡片会为每一个在 cc-switch 中启用了用量查询的提供商(而不仅仅是正在使用的那个)显示一行用量信息 — 套餐窗口或剩余余额,并带有每行的刷新按钮。

安装

from a clone / local checkout
dsh plugin --profile desktop add link:/path/to/dsh-switch

or straight from this repository (no build step — lib/ is committed)
dsh plugin --profile desktop add github:a981008/dsh-switch

(或者将 "dsh-switch": "link:/path/to/dsh-switch" 添加到 profile 的 package.json 依赖项 + dsh.profile.bundles 中,然后运行 pnpm install。)

lib/(构建后的宿主 + 客户端 bundle)已提交,且该包未声明 prepare 脚本,因此 git 安装无需构建步骤,pnpm 也绝不会要求你批准构建脚本。要在编辑 src/ 后重新构建:

node build.mjs && node test/run.mjs   # run.mjs typechecks first, then runs smoke + integration

之后重启 DSH Desktop,以便下一代组合新的 bundle。

面向代理的贡献者指南:AGENTS.md — 命令、架构图、硬性不变量、调试路径以及测试约定。编码代理应在首次编辑前阅读它(Claude 系列工具会通过 CLAUDE.md 被指向那里)。

卸载 / 恢复

dsh plugin --profile desktop remove dsh-switch

移除插件后,同步的 ccs- 提供商条目会保留在你的 DSH 设置中;如不需要,请手动删除它们。如果安装后 DSH Desktop 无法启动,请从 ~/.dsh/profiles/desktop/package.json 的 dependencies 和 dsh.profile.bundles 中移除 dsh-switch,然后重新启动。

要求

- 本地已安装 cc-switch(~/.cc-switch/cc-switch.db)
- 可同步的供应商需要在 cc-switch 中提供 API key:OAuth/订阅登录(ChatGPT、Gemini 官方)无法认证 DSH 路由

隐私

数据库以只读方式打开。密钥值绝不会发送到浏览器——UI 只显示最后 4 个字符。Volcano AK/SK 以及所有其他用量查询凭据仅在宿主端从 cc-switch 自己的 usage_script 配置中读取,绝不回显(上游错误消息中的凭据已被擦除);任何内容都不会写入 settings.yaml。

中文

一个打通 cc-switch 的 DeepSeek Harness(DSH)插件:

- 实时同步,无需手动应用 — 插件通过文件监听(fs.watch)监视 cc-switch 数据库:在 cc-switch 里保存供应商的瞬间即触发同步,把所有可用供应商镜像到 DSH 的 llm-pi-ai 设置命名空间(另有一个慢速签名轮询作为兜底)。保存后约一秒内 DSH 即可使用;API key 存入 DSH 凭据服务(配置只引用名称,明文不落 settings.yaml)。同步是自愈式的:外部丢失或被改动的 ccs- 条目会自动恢复。在 cc-switch 中切换「当前供应商」时,DSH 的 agent-default-model 会自动跟随 —— 但仅当该默认模型未设置、或本就指向同步进来的 ccs- 路由时。若你把它钉在别处(自己的供应商条目,或第三方对我们路由的包装,例如 modlens 的 modlens-ccs-…「(modlens vision)」变体),插件绝不会改写你的选择。
- 全类型支持 — Claude(→ anthropic-messages)、API key 方式的 Codex/GPT(→ 按 wire_api 映射 openai-responses / openai-completions)、Gemini 形状的 OpenAI 兼容中转(→ openai-completions)、以及本身就是 DSH 形状的 OpenClaw 配置。OAuth 登录类供应商(ChatGPT / Gemini 官方)与 Gemini 原生端点无法表达为 DSH 路由,会在列表中标出跳过原因。
- cc-switch 一保存,模型立刻可用 —— 同步改动了供应商或模型后,插件会在 DSH 自己的事件总线上广播 llm/adapters-updated,同时设置卡片与输入栏徽章也会在 DSH 转发的 settings/document-updated / llm/adapters-updated 事件上重新读取。因此在 cc-switch 中新增、改名或改了模型列表的供应商,约一秒内就会出现在 DSH 模型选择器和本插件的界面上 —— 无需重启、无需重新打开设置页、无需等轮询。每个供应商行还会显示 DSH 是否已经提供该路由(已在 DSH 生效 / 待 DSH 注册)以及 DSH 已加载的模型数量,半生效状态一眼可见。
- 使用模型时显示用量 — 当正在使用的模型属于配置了「用量查询」的供应商时,会话输入栏模型选择器旁会出现一个小徽章,实时显示该供应商的套餐/余额:token_plan(火山方舟、MiniMax —— 按 base_url 自动区分国内/国际站)显示套餐窗口,内置 balance 模板(DeepSeek、StepFun、SiliconFlow 国内/国际、OpenRouter、Novita AI —— 按 base_url 自动识别,与 cc-switch 自带余额服务一致)和 general/newapi 脚本显示剩余余额(脚本在 node:vm 沙箱中执行 request/extractor,自动替换 {{baseUrl}}/{{apiKey}}/{{accessToken}}/{{userId}} 占位符)。结果按路由缓存(遵循脚本配置的自动查询间隔);错误信息中的所有凭据都会被脱敏。徽章跟随会话自己的模型:它订阅客户端的模型选择状态,在输入栏切换模型的瞬间即换成该供应商的用量(每个供应商的上次结果在客户端缓存,来回切换零等待)。未配置用量查询的供应商不显示徽章。此外,插件设置卡片会为每一个启用了用量查询的供应商显示一行用量(不限于正在使用的那个)—— 套餐窗口或剩余余额,每行带独立刷新按钮。

安装

本地目录
dsh plugin --profile desktop add link:/path/to/dsh-switch

或直接从本仓库安装(无需构建 —— lib/ 已提交入库)
dsh plugin --profile desktop add github:a981008/dsh-switch

(或手动在 profile 的 package.json 依赖中加入 "dsh-switch": "link:/path/to/dsh-switch" 并加入 dsh.profile.bundles,然后 pnpm install。)

lib/(构建后的宿主端与客户端 bundle)已提交入库,且包内没有 prepare 脚本 —— 从 git 安装无需额外构建,pnpm 也不会要求你审批构建脚本。修改 src/ 后重新构建:

node build.mjs && node test/run.mjs

安装后需重启 DSH Desktop,下一个 generation 才会组合新 bundle。

面向 coding agent 的贡献者指南见 AGENTS.md —— 构建与测试命令、架构与数据流、硬性不变量、调试路径与测试约定都在里面(Claude 系工具经 CLAUDE.md 指向它)。改代码前请先读它。

卸载 / 恢复

dsh plugin --profile desktop remove dsh-switch
卸载插件不会删除已同步到 DSH 设置里的 ccs- 供应商条目;不需要的话请手动删除。如果安装后 DSH Desktop 无法启动:从 ~/.dsh/profiles/desktop/package.json 的 dependencies 与 dsh.profile.bundles 中移除 dsh-switch,再重新启动即可。

要求

- 本机已安装 cc-switch(~/.cc-switch/cc-switch.db)
- 可同步的供应商需要在 cc-switch 里配置了 API key;OAuth/订阅登录(ChatGPT、Gemini 官方)无法为 DSH 路由鉴权

隐私

数据库以只读方式打开。密钥值不会发送到浏览器 —— 界面只显示末 4 位。火山 AK/SK 及其他用量查询凭据一律自动读取 cc-switch 自带的「用量查询」配置,只在宿主侧使用,绝不下发(上游报错信息中的凭据也会被脱敏),绝不写入 settings.yaml。

开发

pnpm install
pnpm build        # 产出 lib/index.js(宿主)+ lib/client.js(浏览器,__ModuleLoader__ 包装)
pnpm watch        # watch 模式
pnpm typecheck    # tsc --noEmit:esbuild 只剥离类型不做检查,这一步能拦住接口形状写错
pnpm test         # 先类型检查,再跑 smoke(多类型解析/同步引擎/签名)+ integration(mock ctx 驱动全部路由与自动同步循环)

可选:设置 DSH_SWITCH_TEST_AK/DSH_SWITCH_TEST_SK 环境变量可让 smoke 测试额外跑一次真实的火山方舟额度查询。

设置

| 字段 | 说明 |
| --- | --- |
| enabled | 总开关;关闭后同步暂停、路由返回 disabled |
| dbPath | cc-switch 数据库路径覆盖(默认 ~/.cc-switch/cc-switch.db) |
| syncInterval | 兜底轮询间隔(秒,1–3600,默认 30);保存 cc-switch 会通过文件监听立即触发同步,此间隔仅覆盖监听可能遗漏的事件 |

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群