Rhymer-Lcy/dsh-plugin-loud-failure ↗★ 1
dsh-plugin-loud-failure
DeepSeek Harness plugin that turns silent tool failures into loud ones: a tools/post-execute policy that matches warning signatures in successful tool output and blocks the result or attaches a notice
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Rhymer-Lcy/dsh-plugin-loud-failure说明文档
阅读完整 README ↗Configuration
The bundle inserts one row, id: loud-failure, with the schema defaults restated. A patch replaces a row's whole config, so an override in your profile's cordis.patch.yml must restate every key it keeps.
| Key | Type | Default | Meaning |
|---|---|---|---|
builtinRules | boolean | true | Load the built-in rule table before user rules. |
rules | Rule[] | [] | User rules. An id shared with a built-in rule replaces that rule in place; new ids append in order; two user rules with the same id fail the load. |
shellTools | string[] | [bash, pwsh, job_output] | Tools inspected by rules that omit tools. Add other shell-like tools here (for example a terminal-read tool from another bundle). |
excerptChars | natural | 240 | Maximum characters of the matched excerpt shown to the model. |
scanValue | boolean | false | Also scan the JSON of a successful canonical value, for tools whose text projection hides stderr. Note: this JSON.stringifys the whole value before matching, and a match shows up to excerptChars characters of that otherwise hidden value to the model and the session log. |
A rule:
| Field | Type | Meaning |
|---|---|---|
id | string, required | Stable identifier. |
pattern | string, required | JavaScript regular-expression source. |
flags | string | Any of i, m, s, u. g and y are rejected because they carry state between calls. |
tools | string[] | Tools the rule applies to. Omitted or empty: shellTools. ['*']: every tool. |
when | success | error | any | Which outcomes the rule inspects. Default success, so a result that already failed is not decorated twice. |
action | error | context | off, required | error blocks, context attaches a notice, off disables the rule. |
message | string, required | What the signature means and what the model should do next. It is shown to the model verbatim. |
Disable one built-in rule and add one of your own: