Promote
当前对话写执行契约,次模型只读挑错,通过之前不要把初稿当成终稿。
DeepSeek Harness 桌面插件,外加编译契约的 prompt / promote skill。
简体中文 · English
MIT · 版本 0.1.0
写作端始终是当前主对话。插件在可见正文出现未引用的 [END OF EXECUTION PROMPT] 时标「审核中」,用与主模型不同的次模型 fork(失败再 spawn)只读查仓,结构化意见回到同一对话由主模型改稿。通过才标终稿,用尽次数标未通过。仓库里的 skills/prompt 只负责编译契约,不执行任务。
核心能力
| 自动审核 未引用、非围栏的结束标记触发;引用块和代码围栏里的标记不审。 |
次模型 A / B 先 A;A 撞当前会话主模型则用 B。可分别选择推理强度,并写入真实 agentOptions。 |
| 只读子代理 禁止改文件。必须打开工作区源码; pathsRead 为空不能过。 |
七条审核规则 现场、调用链、事实分层、范围、验收、本机规则、可执行且够短。侧栏与审核端同源。 |
| 循环有上限 默认最多 3 轮(1–5)。未见终稿/未通过标记前,初稿不算合格。 |
prompt skill 把已确认目标编成可复制到新会话的执行契约。安装到 ~/.dsh/skills/prompt。 |
工作方式
- 当前对话(或 prompt skill)写出契约,正文含
[END OF EXECUTION PROMPT]。 - 插件立刻注入「审核中」,不把这一版称为终稿。
- 次模型在会话工作区只读调查,返回通过/问题/建议/已读路径。
- 不通过则 steer 主模型改稿;通过标终稿,用尽标未通过。
快速开始
1. 前置条件
- 本机 DeepSeek Harness 桌面端
- 已登录可用于次模型的账号(例如 Grok / GPT / 其它已配置路由)
- 完全退出再打开(⌘Q)后插件才会加载新代码
2. 安装插件
复制本仓库到 $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"]
}
}
}
在该 desktop 目录安装 link,使包可解析:
cd "$DSH_HOME/profiles/desktop"
pnpm install
包内 cordis.patch.yml 会插入 id: promote。不要清空已有的 profiles/desktop/cordis.patch.yml。
3. 安装 prompt / promote skill
mkdir -p "$DSH_HOME/skills"
cp -R skills/prompt "$DSH_HOME/skills/prompt"
在对话里说「生成 prompt」「生成 promote」或使用 /prompt。Skill 只编译契约,不改项目。
4. 配置并验证
完全退出 DeepSeek Harness(⌘Q)再打开。右侧栏打开 Promote:
- 配置次模型 A、B 和各自推理强度(A、B 不能相同)
- 保存设置(写入
$DSH_HOME/storages/promote/settings.json,权限 0600) - 当前会话主模型若等于 A,本轮审核改用 B
配置
| 项 | 默认 | 说明 |
|---|---|---|
| 次模型 A / B | 未配置 | provider/model,可带 reasoningEffort |
| 最大修改次数 | 3 | 范围 1–5 |
| 自动审核 | 开 | 关闭后可用显式工具 promote |
| 审核超时 | 120s | Host 常量,不上侧栏 |
未配齐 A/B、A=B、或两者都等于当前会话主模型时,本轮不审,对话和侧栏可见失败,禁止主模型自审。
进阶:API、数据位置与审核规则- API:
/api/promote(GET/POST) - 设置:
$DSH_HOME/storages/promote/settings.json - 右侧栏
kind为独有的promote - 审核规则与约束见侧栏,并写进审核子代理 prompt:现场对得上、调用链、事实分层、范围闭合、可验收、不与 AGENTS.md/skill 冲突、可执行且够短;只读、禁止 edit/write/multi_edit、
pathsRead为空不得通过
验证
在插件目录、本机 Node(/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
0.1.0 开发时 node --test 为 39 通过,覆盖撞模型、未配置、同哈希不双审、过期结果丢弃、引用块不自动审、注入不回环、推理强度写入 agentOptions。单测不能代替 ⌘Q 后的桌面可见性。
常见问题
改完代码页面没变? 必须 ⌘Q 完全退出,热重载不够。
侧栏提示未配置? 下拉框有值也要点「保存设置」。
A 选了当前对话同一个模型? 会改用 B,这是设计,避免自审。
skill 和插件什么关系? skill 生成契约;插件审核当前对话里已经写出来的契约。可以只用其中一个。
社区与许可
公开仓库 Topic 为 dsh-plugin。许可见 LICENSE(MIT)。不包含用户设置、凭据或会话记录。
No comments yet. Be the first to write one.