dsh-llm-qoder:把 DSH 的 LLM 接缝路由到本机 Qoder CLI 的插件

前言

DeepSeek Harness(DSH)的插件机制允许把宿主能力拆成独立模块接入。其中一类常见需求是:不想在 DSH 里再配一组 API key 或 settings 段,而是直接复用本机已经登录的 CLI。dsh-llm-qoder 就是做这件事的适配器:它把 DSH 的 LLM 请求接到本机 qodercli,让宿主侧的模型选择、会话、工具调用与压缩恢复继续按 DSH 的插件机制运行。

这是什么

dsh-llm-qoder 是一个 DSH 插件,包名为 @jiamingzang/dsh-llm-qoder,许可证为 MIT。它解决的问题是:让 DSH 的 LLM 接缝可以走 qoderqoder-byok 两条 provider 路由,复用本机 qodercli 的登录态,不需要 API key 或 settings 段。

核心功能

插件提供的能力包括:

1、无配置接入
完全复用本机 qodercli 登录态,不需要 API key 或 settings 段。

2、双路由
注册 qoderqoder-byok 两个 provider 路由,供模型选择器选择。

3、长驻会话
宿主 session 对应一个 warm qodercli 会话;在 maxSessions 上限内按插入序 LRU 淘汰。

4、工具桥接
宿主工具通过进程内 MCP server dsh-host 暴露给内层模型。

5、模型目录
实时从 qodercli 拉取可用模型;拉取失败时回退静态目录。

6、思考强度与上下文窗口
上报 reasoning efforts、默认档位与 context window,供模型选择器切换。

7、旁路请求
标题生成、compaction 等 side-channel 请求走 cold 一次性调用。

8、溢出可恢复
上下文超限被映射为 CONTEXT_WINDOW_EXCEEDED,供 harness 做溢出恢复。

默认配置项如下:

maxSessions: 8
modelCacheTtlSeconds: 300

其中:

maxSessions

表示同时保持 warm 的内层 qodercli 会话上限;超出上限时按插入序 LRU 淘汰。

modelCacheTtlSeconds

表示 CLI 模型目录的缓存保鲜秒数。

安装与启用

前置条件

本机需要先安装并登录 qodercli,并且能运行:

qodercli --version

获取插件包

从本仓库 Releases 下载:

jiamingzang-dsh-llm-qoder-<version>.tgz

也可以在仓库根目录执行 pnpm pack 自行生成。

添加到目标 profile

执行:

dsh plugin --profile <profile> add jiamingzang-dsh-llm-qoder-<version>.tgz

其中 <profile><version> 需要按实际环境替换。

首次安装批准构建脚本

首次安装会涉及 @qoder-ai/qoder-agent-sdk 的构建脚本。pnpm 11+ 会默认拦截构建脚本并报错。

这时需要把 pnpm-workspace.yamlallowBuilds 对应的值改为 true,例如:

allowBuilds:
  '@qoder-ai/qoder-agent-sdk': true

然后重新执行上面的 add 命令完成安装。

验证安装

执行:

dsh --profile <profile> --dump-config | grep llm-qoder

如果输出中出现插件条目,说明 profile 已加载该插件。接着重启服务,模型选择器中应出现:

qoder
qoder-byok

手动挂载

不经过 plugin 命令时,也可以在 cordis.yml 或 patch 层直接声明:

- id: llm-qoder
  name: '@jiamingzang/dsh-llm-qoder'

典型用法

1、选择路由
在模型选择器或 Models 设置页选择 qoderqoder-byok 下的模型。

2、切换上下文窗口与思考强度
插件会上报 CLI 的 reasoning efforts、默认档位与 context window,因此这些选项可以在模型选择器中切换,并随每次请求下发。

3、模型目录恢复
如果实时模型目录拉取失败,插件会回退静态目录。拉取失败不会缓存,CLI 恢复后自动恢复实时目录,不需要重启服务。

上下文溢出与压缩

warm 内层会话会累积宿主历史,内层模型也可能遇到上下文超限。插件会把这类失败上报为:

CONTEXT_WINDOW_EXCEEDED

这样 harness 的溢出恢复流程可以接管,而不是让当前轮次直接失败。

溢出自动恢复需要部署中加载:

dsh-compaction-basic
dsh-token-meter

如果未安装压缩插件,上下文超限轮次仍会失败,只能新开会话或手动压缩。

适用场景与注意

这个插件适合本机已经安装并登录 qodercli、希望 DSH 直接复用该登录态的开发者。

安装前建议注意:

1、插件运行在 DSH 进程中,会以当前 dsh 进程权限访问本机 qodercli 及其登录态;
2、安装前应检查源码、依赖与 MIT 许可证;
3、资料中 GitHub 仓库地址与包名存在大小写和名称差异:GitHub URL 使用 JiamingZang/dsh-llm-qodersdk,包名使用 @jiamingzang/dsh-llm-qoder,安装包文件名使用 jiamingzang-dsh-llm-qoder-<version>.tgz。实际安装时以下载到的发布包文件名为准。

相关链接

这里给出的是社区目录页与 GitHub 仓库地址,不等同于官方应用商店。

  • 社区目录:https://www.skillhub.cn/plugins/JiamingZang/dsh-llm-qodersdk
  • GitHub:https://github.com/JiamingZang/dsh-llm-qodersdk
羽毛球分组比赛记分
小程序二维码

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

Xiaoye