前言¶
在 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 与插件可单独使用。
工作方式¶
- 当前对话(或通过 skill)写出契约,正文含
[END OF EXECUTION PROMPT]。 - 插件注入「审核中」,在
turn-stopping里等待次模型返回。 - 通过则标终稿;不通过则唤醒主模型改稿;超时或失败可再调
promote重试(默认审核超时 120s,Host 常量)。 - 显式
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