前言¶
在 DeepSeek Harness(DSH)里长时间跑任务时,常见现象包括界面整体发黏、切工作区无响应、上下文变长后首字变慢,以及账号区反复出现「重新连接」。逐项改 Cordis 配置可以治,但 id、枚举和 desktop profile 下的覆盖关系容易踩坑,改错还会出现 ValidationError 或提示词组装失败。
下面介绍社区插件 dsh-smooth(维护者 ayuanxx-max,分类:客户端)。它把已验证的 UI、jobs 轮询等调整收进一个 bundle,并用 optional 文档说明压缩阈值、工具瘦身、重连与子代理等可选层;不改 DSH 核心、不改其它插件源码,从 bundles 移除即可回滚。
这是什么¶
dsh-smooth(DSH SMOOTH · DSH 顺滑包)当前版本 1.2.0,许可证 MIT。实现方式是 纯配置 bundle(cordis.patch.yml)加排障说明(skill/SKILL.md 与 optional/ 下文档),通过 profile 的 bundles 注入 Cordis patch。
它针对 README 中归纳的几类现象给出对应处理思路,例如任务卡顿用 UI compact、字号 16、jobs 轮询 200ms;工具 schema token 开销见可选 tool-slimming.yml;「重新连接」见可选 reconnect.yml;启动慢与内存占用见可选 legacy-subagents.md。压缩上下文阈值在 desktop profile 上不能靠顶层 compaction-basic 配置生效,真正做法在 optional/compaction-preset.md(v1.2.0 已写明原因与验证步骤)。
核心功能¶
默认 bundle 层¶
cordis.patch.yml 覆盖的稳定 id 限于 README 所列:ui-chat、ui-settings-account、ui-theme、jobs、compaction-basic 等,并使用已验证的枚举(如 compact / standard / detailed)与键名(如 pumpPollMs),目的是减少 ValidationError。其中顶层压缩相关项在 v1.2.0 中保留但不再声称在 desktop 上有效;有效阈值需走 optional 的 preset 覆盖。
可选层¶
| 文件 | 作用 |
|---|---|
optional/compaction-preset.md |
在 agent preset 上覆盖 compaction-basic,含验证、dsh --dump-config 检查 thresholdRatio,以及 persona 不得含 {{cwd}} 等坑 |
optional/tool-slimming.yml |
关闭 5 组用不到的工具,缩短工具表 |
optional/reconnect.yml |
禁用 Agents-Anywhere 桥接并清理设备绑定,减轻「重新连接」 |
optional/legacy-subagents.md |
移除启动即报不兼容的 codex / claude-code 子代理(README 称约省 595 MB SDK) |
回滚¶
从 profile 的 bundles 移除 dsh-smooth 即可恢复默认行为。单项回滚可在用户自己的 cordis.patch.yml 里用相同 id 覆盖(用户层优先级更高)。
维护者公布的实测数据(环境见 README)¶
README 在 Windows 11 上给出前后对比,例如冷启动 starting→ready 均值约 3.69 s 到 2.61 s(近 8 次均值,约 -29%);启动 ValidationError 由 2 条/次到 0;bundle 数 23 到 21(移除不兼容子代理后)。Linux/macOS 配置层与平台无关,但 README 标明 未验证。
安装与启用¶
插件以当前 DSH 进程权限加载;安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。DSH 生态是「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。
方式一:DSH 插件命令(desktop profile)¶
在 PowerShell 中执行:
dsh plugin --profile desktop add dsh-smooth
方式二:本地 link + bundles¶
在 %USERPROFILE%\.dsh\profiles\desktop\package.json 中增加依赖并在 dsh.profile.bundles 中加入 dsh-smooth,例如:
// %USERPROFILE%\.dsh\profiles\desktop\package.json
"dependencies": {
"dsh-smooth": "link:E:/path/to/dsh-smooth"
},
"dsh": { "profile": { "bundles": [ ... , "dsh-smooth" ] } }
将 E:/path/to/dsh-smooth 换成本机解压或拉取后的插件目录。
方式三:按 GitHub tag 定位版本¶
README 示例以 v1.2.0 为准:取得该 tag 的源码后,同样在 package.json 里 link: 指向目录并写入 bundles。
完全退出 DSH 再启动 后配置才会生效。
典型用法¶
- 先只启用基础 bundle,观察卡顿与启动是否改善。
- 若上下文变长、首字变慢,按
optional/compaction-preset.md覆盖对应preset-<id>,勿改顶层无效项;覆盖后复制 profile,执行:
dsh --profile <副本> --dump-config
在输出中确认 thresholdRatio 出现在 preset-* 相关段落之后。
- 若工具表过长,按需合并或引用
optional/tool-slimming.yml中的 patch(具体合并方式见仓库 optional 说明)。 - 若账号区频繁「重新连接」,参考
optional/reconnect.yml。 - 若启动慢且日志中有不兼容子代理,按
optional/legacy-subagents.md操作。
可选层启用前建议先备份 profile;任何单项不满意,用用户层 patch 覆盖同一 id 即可局部回滚。
适用场景与注意¶
适合:日常在 desktop profile 跑任务、希望用已验证的 Cordis 键名做 UI 与 jobs 调优,并愿意按文档处理 preset 压缩、工具瘦身等进阶项的 DSH 用户。
注意:
- v1.1.0 及更早版本在 desktop 上改「压缩阈值 0.25→0.35」的顶层配置无效;请使用 v1.2.0 及
compaction-preset.md中的做法。 - 覆盖 preset 时 persona 不得包含
{{cwd}},否则会触发unknown prompt variable "{{cwd}}",整轮对话在提示词组装阶段失败。 - 插件仅发布配置与文档,不保证与未来 DSH /
@deepseek-ai/dsh-web-app行为完全一致;大版本升级后应重新--dump-config验证。
结尾¶
dsh-smooth 把 DSH 上常见的卡顿、重连提示与启动开销问题,收敛成可回滚的配置 bundle 与 optional 排障路径,适合不想动核心代码、又需要可验证调优步骤的使用者。
- 目录页:https://www.skillhub.cn/plugins/ayuanxx-max/dsh-smooth
- 源码与 README:https://github.com/ayuanxx-max/dsh-smooth