dsh-smooth:用配置 bundle 缓解 DSH 卡顿、重连与启动慢

前言

在 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

在 %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 再启动 后配置才会生效。

典型用法

  1. 先只启用基础 bundle,观察卡顿与启动是否改善。
  2. 若上下文变长、首字变慢,按 optional/compaction-preset.md 覆盖对应 preset-<id>,勿改顶层无效项;覆盖后复制 profile,执行:
dsh --profile <副本> --dump-config

在输出中确认 thresholdRatio 出现在 preset-* 相关段落之后。

  1. 若工具表过长,按需合并或引用 optional/tool-slimming.yml 中的 patch(具体合并方式见仓库 optional 说明)。
  2. 若账号区频繁「重新连接」,参考 optional/reconnect.yml。
  3. 若启动慢且日志中有不兼容子代理,按 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
羽毛球分组比赛记分
小程序二维码

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

小夜