DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-oracle-gate

Verified Development & operations ★ 3 0.2.0

Freeze the acceptance criteria first, then honor only execution receipts. An acceptance gate plugin for DSH (DeepSeek Harness).

What it is

Freeze the acceptance criteria first, then honor only execution receipts. An acceptance gate plugin for DSH (DeepSeek Harness).

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add dsh-oracle-gate@0.2.0

DSH versions accepted

>=0.2.0-rc.2 <0.3.0-0

Author and traction

CresBigB · ★ 3 · Updated 2026-11-04

About this plugin

dsh-oracle-gate

> 把验收标准先冻住,再只认执行回执的准入闸门。

DSH(DeepSeek Harness)插件。目标只有一句话:让「做完了」这件事不再由做的人说了算。

---

它解决什么问题

多 agent 协作里最贵的一次事故,不是写错代码,而是双方对「做完了」的定义不一致:

  • 实现者说「我跑过了,没问题」——但跑的是改过之后的脚本,或者干脆是嘴上说的
  • 验收者事后放宽了门槛——因为原来的门槛过不去
  • 真实失败被包装成「环境问题」——然后重试三次,每次都记成通过

本插件的做法是把顺序反过来:先让验收标准落成带哈希的不可变文件,之后每一次执行都只能按冻结过的判据 id 进行,执行结果由代码自己记账,裁决不看任何人的自我评价。

---

核心机制

四步,每一步都堵死一种作弊路径。

1. 冻结 oracle_gate_freeze

把判据写进 /.protocol-kit//oracles.json,同时记录内容哈希。冻结后:

  • 再次冻结同一个 run_id 会被拒绝(一个 run 只能冻一次)
  • 判据里点到的每个本地文件(脚本、数据、基线)都会记下 sha256 + 字节数
  • 冻结之后一行代码都还没写,门槛就先定死了

2. 执行 oracle_gate_exec

只接受判据 id,不接受临时指定的命令。

执行前做两件事:先校验判据文件哈希,再校验它引用的每个本地文件的哈希。任何一项对不上就直接拒绝执行——不是警告,是不跑。

预算在预留阶段就消耗,失败不退。

3. 裁决 oracle_gate_gate

把「真实执行回执」和「人工/LLM 评审结论」分开收集,再统一裁决。四种结果:

| 裁决 | 含义 |

|---|---|

| pass | 全部可执行判据通过,人工判据也有明确结论 |

| rejected | 有硬失败(退出码不对、超时、起不来)——人工评审传 pass 也拦不住 |

| insufficient-evidence | 证据不足:缺回执、缺引用 |

| blocked-on-human | 在等人,不算失败 |

人工判据的结论必须以结构化形式传入,并带 evidence_refs。评审说自己过了但给不出引用,就是没过。

4. 归因 oracle_gate_failures

每类失败绑定固定的回退目标,避免「所有失败都当成 bug 再实现一遍」:

requirement-misread → clarify、design → design、implementation → implement、evidence-gap → evidence、oracle-gamed → freeze、infrastructure → no-replay

---

实测:两种作弊都被挡住了

篡改判据脚本——把 check-pass.mjs 里的一个字符串改掉,再执行:

判据「L0-pass」引用的文件在冻结后被改过,判定已不可信,拒绝执行:
check-pass.mjs:期望 7678979105da…,实际 58eee9e63492…

硬门 vs 人情——判据 L0-fail 退出码 1,同时给人工判据传 verdict: "pass":

{ "verdict": "rejected", "blocking": [{ "id": "L0-fail", "reason": "failed", "exit_code": 1 }] }

裁决不读自我评价,也不做「综合判断」。

---

工具清单

12 个工具,统一前缀 oracle_gate_。不确定该用哪个时先调 oracle_gate —— 它扫一遍台账,告诉你每个 run 卡在哪一步、下一步该调谁。

总入口

| 工具 | 作用 |

|---|---|

| oracle_gate | 验收台账总入口:列出项目里全部 run 的裁决状态与下一步建议。无参数也能调(缺省用当前目录),严格只读 |

执行内核

| 工具 | 作用 |

|---|---|

| oracle_gate_freeze | 冻结判据。支持直接传 oracles,或传 acceptance 由 src/kernel/compile.js 编译;dry_run 只编译不落盘 |

| oracle_gate_exec | 按判据 id 执行,写回执 |

| oracle_gate_gate | 四态裁决 |

| oracle_gate_failures | 记录 / 检索失败归因 |

查看进度

| 工具 | 作用 |

|---|---|

| oracle_gate_status | 一次回答「这个 run 跑到哪一步」:哪些判据通过/失败/未跑、七个预算桶各剩多少、下一步该做什么。纯只读,连查三次字节不变 |

Compare in this category

The five most-starred plugins in the same category.

PluginAuthor StarsVersionUpdated
brooks-lint hyhmrright 1.6K 1.9.1 2026-11-10
helm-d ADWMC 1.2K 0.0.0 2026-11-04
dsh-startup-screen 6shenhonghong9 814 1.3.0 2026-10-31
dsh-reverse-skill dhicoc 341 1.0.5 2026-10-08
dsh-startup-secret huzhengcai471-crypto 197 1.5.2 2026-10-29