前言¶
DeepSeek Harness (DSH) 使用上下文压缩来节省长对话的 token。然而,本地部署的 qwen3.8-27b 模型(特别是运行在 NInfer 引擎上时)默认推理级别为 xhigh。这导致模型在生成摘要前耗尽输出 token 预算,致使压缩检查点被截断,丢失上下文信息。
这是什么¶
这是 zhubaohi 维护的 DSH 插件,用于修复由 Neroued 的 NInfer 引擎提供服务的 qwen3.8-27b 网关的压缩失败问题。该插件通过调整推理策略,确保压缩和标题生成能正常完成。
核心功能¶
- 禁用思考以节省预算:仅对上下文压缩和会话标题生成调用禁用思考,防止
xhigh推理级别耗尽输出预算。 - 应用推荐采样参数:针对非思考模式应用模型推荐的采样参数(如
temperature: 0.7,top_p: 0.8等)。 - 提升输出上限:将压缩请求的
max_tokens提升到可配置的下限(默认 16384),防止上下文被过度压缩。 - 修复标题生成:通过控制标题请求中的推理强度,修复标题生成被截断的问题。
- 作用域限制:仅作用于 NInfer 引擎网关。
- 严格匹配模型:需要配置与模型 ID 完全一致的匹配规则。
安装与启用¶
通过 CLI 安装插件。安装后需重启 dsh web 或刷新 GUI 页面以生效。
dsh plugin --profile web add dsh-qwen38-ninfer-compaction-fix
配置与用法¶
插件需要在配置文件中指定目标模型 ID,采样参数,以及输出上限。
1. 配置 settings.yaml¶
在 $DSH_HOME/settings.yaml 中添加配置。该配置支持热加载(无需重启)。
qwen38-compaction-fix:
effort: off # 推理强度设为 off
models: [qwen3.8-27b] # 精确匹配的模型 ID
sampling: # 写入请求体的采样参数
temperature: 0.7
top_p: 0.8
top_k: 20
min_p: 0.0
presence_penalty: 1.5
repetition_penalty: 1.0
maxTokensFloor: 16384 # 输出 token 下限
titleReasoning: none # 标题生成推理强度
2. 配置 cordis.patch.yml¶
也可以在 cordis.patch.yml 中配置。这会在下一次 GUI 加载时生效。
- id: qwen38-compaction-fix
config:
models: [qwen3.8-27b]
注意事项¶
- 引擎限制:插件仅兼容 NInfer 引擎网关。如果使用 llama.cpp、vLLM 等其他引擎启动,虽然思路相同,但需自行适配参数。
- 重启生效:安装后必须重启
dsh web进程或刷新界面。 - 模型 ID 匹配:插件会对请求中的
model字段进行精确匹配。如果配置的 ID 不匹配(例如大小写不同),插件将静默放行请求,不做任何修改。若遇到压缩截断问题,请首先检查模型 ID 配置是否正确。