Install verification: runtime verified (L5) · tested on dsh 0.2.1-rc.2 · last checked Install verification details →
What it does
「装一次,所有会话都得听。」DeepSeek Harness 全局提示词插件:中文思维链、内容保真、反八股;规则可编辑,改完即生效
Installation
dsh plugin --profile web add dsh-zh-cot-fidelityInstall method: npm · runtime verified (L5)
Verification & Compatibility
Grouped by plugin version: each card lists the dsh versions actually tested against that artifact version and their install verdicts (L5 wins). Untested combinations are omitted — absence means untested, never assumed compatible. L1–L3 are a plugin-level static archive (independent of the dsh version — the same verdict on every dsh row): they sit in each row's level grid next to L4/L5, marked "static", while their evidence is stored once per plugin inside that row's "checks & evidence" instead of being duplicated per version.
External credentials (plugin-level): none detected
○ The author declares no dsh version requirement — install is not blocked by version.
| plugin \ dsh | dsh 0.2.1-rc.2 current | dsh 0.2.1-alpha.4 |
|---|---|---|
| 1.6.2 | · | · |
| 1.5.0 | ✓ | ✓ |
| v1.2.0 | · | · |
1.6.2npm2026-10-21
dsh-zh-cot-fidelity
No runtime install test for this version (static scan only) — compatibility unknown, never assumed.
1.5.0npm✓ 2 runtime-verified2026-10-20
dsh-zh-cot-fidelity
✓dsh 0.2.1-rc.2current2026-10-20L5 · runtime verified
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • Plugin artifact: npm · dsh-zh-cot-fidelity@1.5.0
ID: dsh-zh-cot-fidelity@1.5.0@dsh0.2.1-rc.2 · profile: l4-sandbox
Issued: 2026-10-20 · expires: 2026-10-27
View checks & evidence
↳ carried from earlier record dsh-zh-cot-fidelity@1.6.2@dsh0.2.1-rc.2 (l3-fullscan)
↳ carried from earlier record dsh-zh-cot-fidelity@1.6.2@dsh0.2.1-rc.2 (l3-fullscan)
↳ carried from earlier record dsh-zh-cot-fidelity@1.6.2@dsh0.2.1-rc.2 (l3-fullscan)
active in loader tree (150 entries)
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
✓dsh 0.2.1-alpha.42026-10-18L5 · runtime verified
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • Plugin artifact: npm · dsh-zh-cot-fidelity@1.5.0
ID: dsh-zh-cot-fidelity@1.5.0@dsh0.2.1-alpha.4 · profile: l4-sandbox
Issued: 2026-10-18 · expires: 2026-10-25
View checks & evidence
↳ carried from earlier record dsh-zh-cot-fidelity@1.6.2@dsh0.2.1-rc.2 (l3-fullscan)
↳ carried from earlier record dsh-zh-cot-fidelity@1.6.2@dsh0.2.1-rc.2 (l3-fullscan)
↳ carried from earlier record dsh-zh-cot-fidelity@1.6.2@dsh0.2.1-rc.2 (l3-fullscan)
active in loader tree (150 entries)
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
v1.2.0github2026-10-18
https://github.com/SuangXX/dsh-zh-cot-fidelity
No runtime install test for this version (static scan only) — compatibility unknown, never assumed.
Only the latest 3 published versions are shown; source-snapshot (commit hash) groups, unstated groups and older versions are omitted — the full archive stays in the data layer (snapshot/unstated groups appear only when a plugin has no published version).
Author badges
Embed the official badges in your README to showcase security & install-test status:
`[](https://www.dsh.so/artifact/dsh-zh-cot-fidelity/)``[](https://www.dsh.so/artifact/dsh-zh-cot-fidelity/)`Security Report
Two automated layers, neither a manual review: a static scan (per-plugin rule checks) and a model-driven dynamic security audit that covers only the subset static-flagged at warn or above and never executes plugin code.
Static low, dynamic medium — stricter wins → overall medium.
v1.6.3dsh manifest1.6.3npm2026-10-211.6.3same versionclean · npmVet is an AST static scan (npm artifact or git source).
show static findings (7)
- warningfsWrite · files
audit.js:184fs.writeFileSync(file, `${JSON.stringify({ at: state.last.at, totalChars: state.last.totalChars, sections: state.last.sections, contexts: st - warningfsWrite · files
entries.js:124fs.writeFileSync(target, bundled) - warningfsWrite · files
entries.js:135fs.writeFileSync(target, bundled) - warningfsWrite · files
entries.js:144fs.writeFileSync(statePath, `${JSON.stringify({ files: state.files }, null, 2)}\n`, 'utf8') - warningfsWrite · files
index.js:98fs.writeFileSync(file, '# 这里放你自己的规则文本\n# 开了 file 入口(或在 config 里指 rulesFile)之后,本文件内容会作为一段系统提示词下发;改完下一轮生效,不需要重启。\n', 'utf8') - warningfsWrite · files
ui.js:75fs.writeFileSync(snapshotFile(), `${JSON.stringify({ at: Date.now(), entries }, null, 2)}\n`, 'utf8') - warningfsWrite · files
ui.js:384fs.writeFileSync(tmp, text, 'utf8')
show 4 audit findings
- mediumDefault-enabled rule group instructs the model not to refuse producing sensitive content, in every session
prompt.js:23The contentFidelity group defaults to true (config.js GROUP_FIELDS) and is rendered into the global body section (order 10150, enabled by default) for every session. Around line 20 the same group requires verbatim NSFW, gore and hateful text and forbids softening or safety rewrites, and line 23 removes the option to refuse. This is a persistent, always-on instruction that lowers the model's refusal behaviour in all sessions, not only in explicit translation/scene entries, and it directly conflicts with the plugin's own BOUNDARY text claiming not to bypass safety mechanisms.
- lowConfigurable entry can be assembled ahead of HARNESS_IDENTITY (order -100000)
config.js:64The head entry is disabled by default and its default source is fixed boundary text, but an operator (or a caller of the unauthenticated-in-plugin /toggle endpoint, subject to host auth) can enable it and set source to inline/file/rules:*, causing arbitrary text to be assembled before the host's HARNESS_IDENTITY and WEB_SURFACE sections. The change is hot-reloaded without restart.
- lowsuppressRuntimeContext removes sandbox/approval/subagent policy notices from the model's view
config.js:41When enabled, index.js calls ctx.systemPrompt.suppressRuntimeContext(), so the model no longer sees which approval policy and file policy are active. Enforcement is unchanged, but the model can misjudge what it is allowed to attempt, and audit.js's approval/sandbox attribution then reports '已撤下'. Default is off, so this is a hardening gap rather than a reachable exploit.
- lowAudit snapshots persist 200-char heads of all prompt sections/contexts to JSON on disk
audit.jswriteAudit() stores up to 200 characters of every assembled section and context, which may include runtime policy text or user-supplied prompt content, in a directory taken from config.auditDir, keeping 20 files. It only runs when auditDir is explicitly configured or /zhcot audit --json is invoked, so it is a local data-at-rest consideration, not an exfiltration channel (there is no network code).
Global system-prompt plugin; no RCE or exfiltration, but its default rule group tells the model not to refuse sensitive content, and an optional entry can be placed before the harness identity.
Rule: the dynamic audit can only raise risk, never lower it (raise-only, never an exemption); a wrong raise is withdrawn by human review and the tier falls back to the static verdict. Overall verdict = the stricter of the two layers.
Disclaimer: the static scan and the dynamic security audit are both automated analysis, not a security guarantee. Always review what you install.
Activity
Last commit 2026-10-21 · activity: Active
• Repo created: 2026-10-16
• Stars: ★ 0 · Forks: 0
• Health: Active — committed within last 30 days
Source
Author README
View on GitHub ↗The author's original README from the repository — fetched live, unedited (the English page loads the default README).
