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

Retr67/dsh-model-fix

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

修复特定模型在 DeepSeek HarnessDSH里「流式内容正常但回合必报错」的流式收尾缺陷。

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

修复:流在没有 finish_reason 的情况下结束 opencodeGo Dsh

综合分
27.7
GitHub 分
27.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Retr67/dsh-model-fix
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 33 天前

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

数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

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

修复特定模型在 DeepSeek Harness(DSH)里「流式内容正常但回合必报错」的流式收尾缺陷。

本仓库是 bitterSmilezzz/dsh-model-fix 的增强版:
在原版(muse-spark-1.2)基础上,加入了对 gpt-5.6-luna 的支持(同一缺陷,实测
2026-08-23:gpt-5.6-luna 流式/非流式响应的 finish_reason 均为 null,且流式不发 [DONE])。

背景:缺陷根因

opencode 聚合端点(https://opencode.ai/zen/go/v1)上的 muse-spark-1.2 与
gpt-5.6-luna 实现有缺陷:流式响应正常吐出内容,但从不发送 finish_reason、也不发送
[DONE],流直接关闭(同端点对照 deepseek-v4-flash / glm-5.2 均正常发送
finish_reason: 'stop' + [DONE])。

DSH 的 llm-pi-ai 走 pi-ai SDK(强制 stream: true 且要求流以 finish_reason 收尾),
于是每次对话的真实表现是:

1. 内容正常流式显示;
2. 结尾报 Stream ended without finish_reason(映射为 TRANSPORT 错误);
3. 回合被判失败,且 TRANSPORT 在默认可重试列表里 → agent 级重试插件按
maxRetries 反复重跑整步,烧多份 token。

这与代理无关:直连与走代理的响应完全相同,换代理解决不了。

⚠️ 重要说明:无需开启 opencode 的「Allow models that train on request data」

使用 muse-spark-1.2 / gpt-5.6-luna(经 opencode-go 路由)不需要在 opencode 平台设置里
开启「Allow models that train on request data」。

- 该开关是 opencode 的数据训练授权:开启后你的请求数据可能被用于模型训练,属于
需要慎重对待的隐私授权,不要为了使用这些模型而开启它;
- 实测:不开启该开关,直连 https://opencode.ai/zen/go/v1 即可正常
返回内容(本插件修复的只是流式收尾缺陷,与训练授权无关);
- 若在 opencode 设置里看到该开关,保持关闭即可;本文档所述修复不依赖它。

开关位置见下图(opencode 设置页 → 提供商区域,与「启用部署在中国的模型」相邻):

opencode 设置页中的「Allow models that train on request data」开关(opencode 设置页 → 提供商区域)

本插件做什么

在 llm/stream waterfall 上,对匹配的模型把上述缺陷收尾为正常 stop:

- 仅当流已输出内容(text-delta / reasoning-delta / tool-call-delta)且
结尾错误代码为 TRANSPORT / STREAM_CLOSED 且错误信息明确是「缺少终止事件」
(如 Stream ended without finish_reason)时才改写;
- 真实传输故障(如 SocketError: other side closed)不受影响,照常失败;
- 无内容的空响应也照常失败,不会被误吞。

修复后 muse-spark-1.2 / gpt-5.6-luna 直连即可正常使用,无需代理、不触发重试。

安装

从 GitHub 安装(推荐)
npx -y @deepseek-ai/dsh plugin --profile web add github:Retr67/dsh-model-fix

本地路径
dsh plugin --profile web add /path/to/dsh-model-fix

安装后重启目标 profile(如 dsh web)生效。

配置

cordis.patch.yml 中 config 两个字段:

| 字段 | 默认 | 说明 |
| --- | --- | --- |
| modelPattern | ^(muse-spark\|gpt-5\.6-luna) | 对模型 id 测试的正则;只修复匹配的模型 |
| providers | [] | provider 路由键白名单(如 opencode-go3);空 = 所有 provider 中匹配的模型 |

- id: model-fix
name: dsh-model-fix
config:
modelPattern: '^(muse-spark|gpt-5\.6-luna)'
providers: []

只修 luna 可改为 modelPattern: '^gpt-5\.6-luna';只想限定某个路由可加
providers: [ 'opencode-go' ]。

开发

pnpm install
pnpm verify    # typecheck + build + node --test

验证矩阵

- 单元测试:tests/fix.test.mjs 覆盖缺陷识别、内容保留、空响应放行、真实故障放行等 10 例。
- 真实端点集成验证:用 pi-ai 同款 SDK 直连 muse-spark-1.2 / gpt-5.6-luna,内容经本插件转换后
结尾由 error(Stream ended without finish_reason) 变为 {"kind":"stop"}。

致谢

- 上游:bitterSmilezzz/dsh-model-fix(MIT)
- 缺陷取证(gpt-5.6-luna):2026-08-23 直连 opencode.ai/zen/go/v1 复现——流式 10 个 chunk
中 finish_reason 全程 null、无 [DONE],尾部为 data: {"choices":[],"cost":"0"};
非流式响应 finish_reason 同样为 null。

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

💬 加入社群

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

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