dsh-model-gear:DSH 输入框里的模型挡位与闪电编排

前言

在 DeepSeek Harness(DSH)里写对话、调模型时,常见做法是依赖宿主自带的模型选择组件,或在提示词里手写编排说明。模型列表、推理强度(reasoning effort)和「快一点 / 多开子代理」往往分散在不同入口,改强度时也不一定和宿主目录里该模型声明的档位一致。

下面介绍社区插件 dsh-model-gear(维护者 chenyuxuan-official):在 composer 输入区挂一块面板,集中做模型选择、强度滑条、本机显示名,以及闪电编排三档;除闪电相关契约外,不向提示词注入人设、身份或核查段落。分类为「模型推理」,仓库当前约 1 star(以目录页与 GitHub 为准)。

这是什么

dsh-model-gear 是 DSH 桌面版插件:替换 conversation.input.model 槽位上的 composer 控件(priority -10),提供模型目录、按宿主 reasoning.efforts 绘制的强度滑条、localStorage 里的显示名别名,和 off / fast / tree 三档 Lightning 编排开关。宿主侧通过 agent/pre-step 按会话档位追加契约与每轮提醒;子会话则根据提示词首行 Tier: N of 2 注入分层说明。

许可为 MIT;包版本以仓库 package.json 为准(资料中为 0.4.2)。衍生于 dsh-codex-ui 一脉,上游同为 MIT。

核心功能

模型与强度面板

面板通过槽位 inject(sessionId) 接入宿主模型目录的 directory / load / select,以及编排档位的 gear.read / gear.select。子会话里 available 为 false,不提供选择。

  1. 模型列表:按 provider 分组、可搜索;「默认」组为当前模型加最近五个(键 dsh-model-gear/recent-models,仅存本机 localStorage)。
  2. 强度滑条:档位全部来自该模型在宿主目录中的 reasoning.efforts,不造虚拟档;拖动仅本地预览,松手或键盘操作才写回;「重置」写回模型的 defaultEffort。
  3. 显示名:以 provider/model 为键写入 localStorage(键名沿用 dsh-codex-ui/model-aliases),只影响列表展示。
  4. 未同步:读不到宿主档位状态时不猜测「标准」——滑条不画填充、闪电为灰、三档菜单禁用并提示「未同步」。

说明:官方模型选择组件在 conversation.input.model.label 子槽位上挂发布徽标等装饰;本插件替换整个 composer 控件后,框架不允许第二个注册项复用该子槽位,因此这类装饰不会出现在本面板里。

闪电编排三档

编排状态由宿主持有,客户端挂载时读一次、切换时乐观更新(失败回滚)、每次打开面板再对齐。持久化文件为 $DSH_HOME/storages/dsh-model-gear-orchestration.json(无 DSH_HOME 时落在 ~/.dsh/storages/),最多保留 40 个会话;off 即删行。

模式 父会话注入要点
fast LIGHTNING_POLICY(首次或换档时)
tree LIGHTNING_POLICY + SUPERFAST_POLICY
每轮 step 1–3 带 turn / step 的提醒(每轮每条不同)
切回 off 一次性关闭说明(按日志去重)
子会话 仅当首行含 Tier: N of 2 时注入对应分层说明

去重依据载体(本 step 消息、会话日志、inbox 队列),不依赖进程内记忆;切换档位以日志里最新契约为准。

超快第二层:SUPERFAST_POLICY 要求 tier-1 子代理再开孙代理;宿主默认子代理 maxDepth 为 1 时,超快实际约为 2 个直接子代理。要把第二层跑起来需将 maxDepth 调到 2,改法见仓库 docs/subagent-depth.md。

提示词边界

插件往提示词里追加的内容以 src/orchestration-policy.js 导出的 Lightning / Superfast 契约、每轮提醒、子会话分层说明与关闭提示为主;source.kind 为 plugin:dsh-model-gear,form 为 instructions。路由、写盘、注入均用 try/catch 兜底,失败不应拖垮宿主的一步或一次请求。

安装与启用

当前正式方式是从 GitHub 安装(安装后需重启一次应用):

dsh plugin --profile desktop add github:chenyuxuan-official/dsh-model-gear

发布到 npm 之后可用:

dsh plugin --profile desktop add dsh-model-gear

dsh 为桌面版自带 CLI;dsh plugin --profile <名字> <参数> 的参数原样交给 pnpm。GitHub 安装锁定提交号,仓库有新提交后需重新执行 add 才会更新。卸载:

dsh plugin --profile desktop remove dsh-model-gear

装完后插件会出现在 profile 的 package.json 依赖里。本地开发可 dsh plugin --profile desktop add link:<本目录绝对路径>,改 src/ 后执行 node scripts/build.mjs 并刷新;宿主段(src/host.js、src/orchestration-policy.js)改动需重启应用,面板显示「未同步」通常表示仍在跑旧宿主。

典型用法

  1. 安装并重启 DSH 桌面版,打开任意会话,在输入框上方使用模型挡位面板选模型、拖强度滑条,必要时为本机改显示名。
  2. 在闪电三档菜单中选择 off、fast 或 tree;父会话发送消息后,观察 step 前是否按档位注入契约与 1–3 步提醒(可在会话日志中查看 plugin:dsh-model-gear 来源的 instructions)。
  3. 若使用 tree 且需要孙代理层,按 docs/subagent-depth.md 调整宿主子代理 maxDepth 并验证,不满意再按文档回滚。

编排读写走宿主 Connection,例如:

{ "action": "read",   "sessionId": "…" }                  // → { mode: "off" | "fast" | "tree" }
{ "action": "update", "sessionId": "…", "mode": "tree" }

路由为 POST /api/dsh-model-gear/orchestration(信封 client-request / server-response,rpcId 对齐)。

适用场景与注意

适合经常在 DSH composer 里换模型、调 reasoning effort,又希望用固定契约驱动「快速 / 超快」子代理编排的开发者。不需要替换整块模型 UI、也不打算在父会话开 Lightning 的用户可以只当参考,或保持编排为 off。

安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。插件以当前 DSH 进程权限运行,会读写本机 localStorage 与 ~/.dsh/storages/(或 $DSH_HOME 下路径);编排契约会进入会话 instructions,换档与去重逻辑以 README 描述为准。

DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-model-gear 把模型选择、宿主声明的强度档位与 Lightning 三档编排收进输入区一块面板,并把额外的提示词收敛为闪电契约及相关提醒。进一步了解与 issue 见 GitHub,目录入口见 SkillHub。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye