dsh-promote:用次模型只读审核执行契约,通过前不把初稿当终稿

前言

在 DeepSeek Harness(DSH)里写执行契约(execution prompt)时,常见做法是主对话一次性定稿,再复制到新会话执行。主模型容易在范围、验收、调用链或与本机 AGENTS.md 冲突上留下漏洞,而同一轮对话里又缺少独立的「挑错」环节。

Promote 是 DSH 桌面端插件(维护者 yueyexiayu,仓库 yueyexiayu/dsh-promote),写作端始终是当前主对话:正文出现未引用的 [END OF EXECUTION PROMPT] 时进入审核,次模型以只读子代理查仓挑错,通过后才标终稿;不通过或超时再唤醒主模型改稿。仓库还附带 prompt skill,用于把已确认目标编译成可复制的契约,不负责执行任务。

这是什么

一句话定位:DSH desktop plugin——对当前对话里写出的执行契约草稿做次模型只读审核,并附带编译契约的 prompt / promote skill。

分类为客户端插件;社区目录页见 skillhub.cn/plugins/yueyexiayu/dsh-promote。许可 MIT,当前 README 标注版本 0.1.5。插件在本机 DSH 进程权限下运行,安装前应自行查看源码与 LICENSE。

核心功能

下面介绍 README 中已列出的能力,均围绕「初稿先审再当终稿」。

自动审核。 可见正文里出现未引用的结束标记时,插件标「审核中」,并在 turn-stopping 钩子内等待次模型审完;写作轮此时不标完成,不依赖主模型去调 promote。通过才标终稿。

次模型 A / B。 先使用 A;若 A 与当前会话主模型相同则改用 B。可为 A、B 分别选择推理强度,并写入真实 agentOptions。未配齐 A/B、A 等于 B、或两者都等于当前主模型时,本轮不审,禁止主模型自审。

只读子代理。 禁止改文件;必须打开工作区源码,pathsRead 为空不能通过。

七条审核规则。 现场、调用链、事实分层、范围、验收、本机规则、可执行且够短;侧栏与审核端同源。

循环有上限。 默认最多 3 轮修改(可配置 1–5);未见终稿或未通过标记前,初稿不算合格。

prompt skill。 把已确认目标编成可复制到新会话的执行契约,安装到 ~/.dsh/skills/prompt;只编译契约,不改项目。skill 与插件可单独使用。

工作方式

  1. 当前对话(或通过 skill)写出契约,正文含 [END OF EXECUTION PROMPT]。
  2. 插件注入「审核中」,在 turn-stopping 里等待次模型返回。
  3. 通过则标终稿;不通过则唤醒主模型改稿;超时或失败可再调 promote 重试(默认审核超时 120s,Host 常量)。
  4. 显式 promote 仍可等待或接入进行中的同一哈希审核。

引用行(>)和行内代码里的结束标记不触发审核;prompt skill 那种围栏契约会审。

安装与启用

前置条件

  • 本机 DeepSeek Harness 桌面端
  • 已登录可用于次模型的账号(例如 Grok / GPT 或其它已配置路由)
  • 改插件或配置后须完全退出再打开(macOS 为 ⌘Q),热重载不够

安装插件

复制仓库到 $DSH_HOME/plugins/promote(macOS 默认 ~/.dsh/plugins/promote)。在 $DSH_HOME/profiles/desktop/package.json 加入 link 依赖和 bundle:

{
  "dependencies": {
    "promote": "link:/Users/YOU/.dsh/plugins/promote"
  },
  "dsh": {
    "profile": {
      "bundles": ["promote"]
    }
  }
}

将路径中的 /Users/YOU 换成本机实际路径。在该 desktop 目录安装 link,使包可解析:

cd "$DSH_HOME/profiles/desktop"
pnpm install

包内 cordis.patch.yml 会插入 id: promote;不要清空已有的 profiles/desktop/cordis.patch.yml。

安装 prompt skill

mkdir -p "$DSH_HOME/skills"
cp -R skills/prompt "$DSH_HOME/skills/prompt"

(skills/prompt 来自插件仓库目录。)

配置

完全退出 DSH 再打开后,在右侧栏打开 Promote:

  • 配置次模型 A、B 和各自推理强度(A、B 不能相同)
  • 点击「保存设置」(写入 $DSH_HOME/storages/promote/settings.json,权限 0600)
  • 当前会话主模型若等于 A,本轮审核改用 B
项 默认 说明
次模型 A / B 未配置 provider/model,可带 reasoningEffort
最大修改次数 3 范围 1–5
自动审核 开 关闭后可用显式工具 promote
审核超时 120s 不上侧栏

侧栏下拉有值也须点「保存设置」;改 A/B 或刷新审核状态可点「刷新」(侧栏不再 4 秒自动拉设置)。

典型用法

用 skill 编译契约。 在对话里说「生成 prompt」「生成 promote」,或使用 /prompt。得到含结束标记的契约正文后,由插件自动进入审核流程。

手动 promote。 关闭自动审核后,可显式调用 promote;仍可与进行中的同一哈希审核衔接。

本地验证插件包。 在插件目录、使用本机 Node(README 示例为 /usr/local/bin/node):

/usr/local/bin/node --check lib/index.js
/usr/local/bin/node --check lib/client.js
/usr/local/bin/node --test

单测不能代替完全退出后桌面侧的可见行为。

适用场景与注意

适合:经常在 DSH 主对话里写 execution prompt、希望第二模型只读对照源码和 AGENTS.md 再定稿的开发者。

注意:

  • 插件以当前 DSH 桌面进程权限运行,次模型账号与路由需自行配置。
  • API 为 /api/promote(GET/POST);设置与侧栏 kind 为独有的 promote。
  • 写了契约但没有「审核中」时,检查结束标记是否被引用或行内代码包裹;改插件后须 ⌘Q。
  • 0.1.5 起在钩子内等审完,失败或超时再唤醒主模型;这与官方 subagent 的 pending 工具心跳不是同一机制。

DSH 社区插件目录独立于 DeepSeek / 幻方,并非官方应用商店;生态理念是「一切皆插件」。

结尾

Promote 把「执行契约初稿」和「次模型只读验收」绑在同一轮主对话里:结束标记触发审核,turn-stopping 内等结果,通过前不把初稿当终稿;配套的 prompt skill 负责编译契约,插件负责审核已写出的正文。

  • 目录页:https://www.skillhub.cn/plugins/yueyexiayu/dsh-promote
  • GitHub:https://github.com/yueyexiayu/dsh-promote
羽毛球分组比赛记分
小程序二维码

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

Xiaoye