dsh-connect-qoder:把本机 Qoder / Qoder CN 模型接入 DeepSeek Harness

前言

DSH 的理念是「一切皆插件」,模型侧也不例外:如果你已经在用 Qoder 的国内版或国际版账号,想在 DSH 的模型选择器里直接挑到同一批模型,你就得自己写一个 provider 去适配 Qoder 的网关。Qoder 并不提供 OpenAI 兼容端点,官方 SDK 只是 agent 启动器,协议上的三样东西(COSY 签名头、置换 base64 请求体、双层 SSE)都得自己实现。

下面介绍的 dsh-connect-qoder 就是把这件事做成一个现成插件。在阅读前有一点必须先说清楚:这个仓库已停更,README 首页明确写着最高只支持 dsh-0.21.5,且相关能力已合并到 dingminhua 的同名仓库。所以本文介绍的对象是「插件线索给的这个仓库」,同时把它的实际状态和可用替代写在前面的位置。

仓库现状与来源归属

插件线索给的仓库是 hdhgsysh/dsh-connect-qoder,GitHub 上的 README 直接说明了两件事:

  1. 此项目已停更,最高支持 dsh-0.21.5;
  2. 相关功能已合并到 dingminhua 版。

同一个 README 里还有一段 fork 说明:该仓库是 eghrhegpe 的同名仓库的 fork,自带的 scoped npm 包是 @eghrhegpe/dsh-connect-qoder(不带 scope 的 dsh-connect-qoder 由上游发布,装到的是上游那份),当前版本 0.7.6,更新时间 2026-11-03,README 上标注 MIT license。插件包的 keywords 是 dsh-plugin / deepseek-harness / qoder / model-provider,engines 要求 Node ^22.19.0 || >=24.0.0。

也就是说,现在能装上、并且在维护的那份,是 scoped 包这一支。社区插件目录把它归到「模型推理」一类(dshfind 插件页显示 11 stars,近 7 天 +2)。

核心功能

插件做的事情是把 Qoder 桌面端或插件自有登录的账号额度搬进 DSH,不需要用户自己管签名和编码。以下能力都来自 README。

1、双 provider 并行:国内版 qoder-cn(https://gateway.qoder.com.cn/)和国际版 qoder(https://api3.qoder.sh/)是两个独立 provider。装哪个出现哪组模型,两个都装就两组并存,各自用自己的账号与额度。

2、三种凭据来源,桌面端优先:
- Qoder 桌面应用自己的登录状态(Windows 上通过 PowerShell + DPAPI 解密 Chromium OSCrypt 格式的凭据,新版读 auth.v1.dat,旧版读 state.vscdb);
- 插件自己的设备登录:浏览器里批准一个码,可刷新令牌存入 $DSH_HOME/.qoder-auth.<region>.json,按 region 分文件;
- 环境变量 PAT:国内版 QODERCN_PAT,国际版 QODER_PAT。

三条都拿不出可用凭据时,插件才会报「没登录」;过期的桌面端凭据不再压住后两条。

3、用量胶囊:输入框旁显示区域前缀加主额度剩余 Credits(例如 Qoder CN · 2,222),点开是用量面板,包含套餐内额度与剩余、今日经本客户端的请求数与 token 消耗(含缓存命中)、7 天趋势、今日签到状态。名册里出现本机此前没记过的模型时,胶囊会多出第三段 · 3 新模型,只列最近 7 天内首见的。

4、协议适配:每个网关请求都带 Cosy-* 签名头和 Authorization: Bearer COSY.<payload>.<sig>;Encode=1 的请求体先 base64、再按置换字母表逐字符替换、最后按三分之一旋转;每个 data: 帧是信封对象,body 字段本身又是 JSON 字符串,里面才是 OpenAI 风格的 chunk。这三样是 Qoder 不是 OpenAI 兼容端点的原因,也是这个插件的主要工作量所在。

5、上游错误可见:上游失败时返回的是普通 200 帧里的错误对象而不是 chunk,插件把它翻译成可读错误。部分模型(README 例子是 GLM-5.3-Flash、Kimi-K3)声明了推理档位但不允许关闭思考,插件识别后完全省略 enable_thinking 字段,让模型用自己的默认档位,而不是发一个会被 provider_error 1210 拒绝的请求。

安装

安装命令来自 README,不要凭名称拼接 dsh plugin add github:owner/repo。

从 npm 安装(README 标注推荐):

dsh plugin --profile web add @eghrhegpe/dsh-connect-qoder

--profile 后面是你自己起的 profile 名。改完记得重启 DSH 进程,bundle 的 patch 在启动时读取。

DSH 桌面用户也可以在「插件市场」里粘贴这个源:

github:eghrhegpe/dsh-connect-qoder

github: 源是零配置的:宿主产物 lib/(host + client bundle)随仓库提交,克隆即可加载,安装过程不需要批准构建脚本,也不需要拉 devDependencies。若 DSH 反而提示该包有待批准的构建脚本,说明拿到的是一份缺 lib/ 的旧克隆,删掉重装即可(lib/ 自 docs/issues/19 起必须入库,CI 有新鲜度门禁)。

本地开发模式:

dsh plugin --profile web add <本仓库路径>

本地开发时 lib/ 对应提交时刻的源码,改过 src/ 后要先 npm install && npm run build,再让 DSH 指向本目录,否则跑的还是旧产物。

追新的话走 npm:npm 每次发布都会现场重建产物(prepack),同版本号下 npm 的产物比仓库提交里更新的可能性更大;github: 源装的是对应提交时刻的产物。

典型用法

1、装入插件后重启 DSH。若 Qoder 桌面应用正在本机运行且登录未过期,插件直接复用它,模型出现在 DSH 的模型选择器里,无需额外配置。

2、没有桌面端时,走插件自有的设备登录:在浏览器里批准一个码,返回的可刷新令牌落在 $DSH_HOME/.qoder-auth.<region>.json。这一路径不读桌面端任何东西,平台无关。README 也诚实注明:这条路径只在 Windows 上真机跑过两区各一次授权闭环,在 macOS / Linux 上「确实能用」仍属待验证。

3、连设备登录也不想走时,设环境变量兜底:

# 国内版
export QODERCN_PAT=<你的长期令牌>

# 国际版
export QODER_PAT=<你的长期令牌>

插件用 PAT 换取 job token 再发请求。

4、查用量时点输入框旁的用量胶囊,展开的面板与 Plugins 页卡片同一套读数和阈值。退出插件登录只删 $DSH_HOME/.qoder-auth.<region>.json,不影响桌面端登录,也不影响环境变量里的 PAT。

适用场景与注意

适合的是这类人:本机已经登录了 Qoder(国内版或国际版),想在 DSH 里直接调用那批模型、顺便看到额度和签到状态,不想自己写网关适配。

需要知道的几点:

1、只支持 Windows 的桌面端凭据解密。README 明确写了 src/host/ 里没有 macOS / Linux 的解包分支:非 Windows 平台上应用目录能按平台正确解析出来(Windows %APPDATA、macOS ~/Library/Application Support、Linux $XDG_CONFIG_HOME/~/.config),但凭据读不出来,loadCredential 返回 undefined,账号面板会如实提示改用设备登录或 PAT。CI 的 Ubuntu 绿灯只说明测试能跑,不等于零配置在 Linux 上存在。

2、插件以当前 DSH 进程的权限运行,会读取本地凭据文件、读写 $DSH_HOME 下的 JSON,并在 %TEMP% 短暂明文落盘解密主密钥。安装前应打开仓库看一遍源码与许可证(README 标注 MIT)。

3、本仓库已停更,最高支持 dsh-0.21.5。需要登录态复用、双 provider 接入这类能力的,可以试试合并后的后续版本;后续版本还提供了账号池、每日签到和模型管理能力,社区目录上另有 eghrhegpe 的 scoped 包在更新。

结尾

这个插件的价值在于把 Qoder 的私有协议细节收掉了:签名、置换 base64、双层 SSE 都由插件完成,用户只负责选择账号和看额度。需要留意的是它停在了 dsh-0.21.5,并且只有 Windows 上能复用桌面端登录态;其余平台可以走设备登录或 PAT。

插件线索给的仓库页:https://github.com/hdhgsysh/dsh-connect-qoder
目录页:https://www.skillhub.cn/plugins/hdhgsysh/dsh-connect-qoder
可直接安装的 scoped 包:https://www.npmjs.com/package/@eghrhegpe/dsh-connect-qoder
合并后的后续仓库:https://github.com/dingminhua/dsh-connect-qoder
社区插件页:https://dshfind.com/plugins/eghrhegpe/dsh-connect-qoder

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

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

小夜