DeepSeek Harness 插件

dsh-risk-guard

零打扰审计与保险丝拦截:静默记录每次工具调用并做纯规则风险评分(含累积加分、风险等级分布、归档保留期清理),只拦不可逆灾难(受保护路径删除、磁盘擦除、force push 到受保护分支/引用、凭据外发),/risk-guard 输出脱敏操作账单并支持 --since 时间过滤。

跳到安装方式

来源信息

GitHub 仓库
shuxue6662-a11y/dsh-risk-guard
最近更新
2026年8月18日
分类
安全与权限
GitHub stars
0

安装

默认先复制一段 Prompt,让 Agent 读页面和仓库;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读页面和仓库。

请先不要安装。阅读这个 DeepSeek Harness 插件,说明它解决什么问题、会访问哪些文件、网络或密钥,以及如何安装和卸载。

插件页面:https://deepseekplugins.org/zh/plugins/shuxue6662-a11y/dsh-risk-guard
GitHub:https://github.com/shuxue6662-a11y/dsh-risk-guard
插件名:dsh-risk-guard
作者:shuxue6662-a11y
安装命令:dsh plugin --profile web add dsh-risk-guard

确认前不要执行安装命令。

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-risk-guard

Zero-interruption audit + fuse blocking for DeepSeek Harness (dsh).

![npm](https://www.npmjs.com/package/dsh-risk-guard) ![License](LICENSE) ![CI](https://github.com/shuxue6662-a11y/dsh-risk-guard/actions) ![dsh](https://github.com/deepseek-ai/deepseek-harness)

Features

  • Silent audit — records every tool call (tool name, redacted arguments,

success/failure, risk tags, explainable score) into local JSONL files. No dialogs, no permission changes, no sandbox changes.

  • Deterministic risk scoring — zero LLM calls, zero extra cost. Covers

destructive deletes, credential reads, network egress, writes outside the workspace, dependency installs and heavy builds; rapid repeats and consecutive high-risk calls accumulate bonus score.

  • Insurance fuse — blocks only irreversible catastrophes before they

execute: protected-path deletion, disk wipe/format, force-push to protected branches, and network commands referencing credential files.

  • Operation bill/risk-guard answers "what did my agent actually do?",

with scores, tags, reasons and redacted details for the current session, one turn, or all history.

All data stays on your machine under <DSH_HOME>/risk-guard/. No network calls, no telemetry.

Install

Requires an existing DeepSeek Harness installation.

Option 1 — dsh plugin manager (recommended)

dsh plugin --profile web add dsh-risk-guard

Restart the Web UI, then use /risk-guard in any session.

Option 2 — npm

npm install dsh-risk-guard

or with pnpm:

pnpm add dsh-risk-guard

Then register the plugin in your profile's cordis.patch.yml:

- insert:
    - id: risk-guard
      name: 'dsh-risk-guard'

Option 3 — from source

git clone https://github.com/shuxue6662-a11y/dsh-risk-guard.git
cd dsh-risk-guard
pnpm install
pnpm build
dsh plugin --profile web add .

Usage

/risk-guard              operation bill for the current session
/risk-guard --turn       only the last turn
/risk-guard --all        summary + bills for every recorded session
/risk-guard --since=2026-08-01
                         only records from this date (with any other flag)
/risk-guard --json       machine-readable output

The bill includes the time range, call/turn counts, high-risk and fuse-block counts, max/total scores, tag distribution, a risky-calls table and every fuse denial.

Configuration

All options are optional; defaults are shown below.

OptionDefaultMeaning
fuseEnabledtruemaster switch for fuse blocking
maxFileSizeMb50gzip-archive the monthly JSONL above this size
retentionDays30delete gzip archives older than this many days
cumulativeRiskWindowMs600000rolling window for the repeat-tag risk bonus
highRiskThreshold60score floor for the consecutive-high-risk bonus
workspaceRootunsetdetect writes outside the workspace
homeDirOS homehome used by path rules and ~ expansion
dshHome~/.dsh or $DSH_HOMEaudit store at <dshHome>/risk-guard
protectedBranches['main', 'master']force-push to these branches is blocked
protectedRemotes[]force-push to these remotes is blocked
credentialFileNamescommon list.env, credentials, id_rsa, …

Example:

- insert:
    - id: risk-guard
      name: 'dsh-risk-guard'
      config:
        fuseEnabled: true
        workspaceRoot: 'C:/projects/my-app'
        protectedBranches: ['main', 'master']

Fuse rules (v1)

  • rm -rf / del / Remove-Item deleting the filesystem root, the home

directory itself, $HOME/*, DSH_HOME, or a credential file;

  • disk wipe/format commands (dd of=/dev/sdX, mkfs*, wipefs, diskpart,

shred /dev/…, format C:);

  • git push --force / -f targeting main/master or a configured protected

remote (feature branches are not blocked);

  • network commands (curl, wget, nc, scp, ssh, …) referencing a

credential file.

Everything else runs untouched. Set fuseEnabled: false to disable the fuse while keeping the audit recorder active.

Privacy & storage

  • Records are appended to <DSH_HOME>/risk-guard/<yyyy-mm>.jsonl through a

serialized write queue; oversized month files are gzip-archived.

  • Secret-shaped values (GitHub tokens, sk- keys, private-key blocks,

Bearer tokens, .env lines, password assignments) are redacted before storage; only a digest of the redacted value is kept.

  • The plugin makes no network calls and ships no telemetry.

Compatibility

EnvironmentStatus
dsh 0.1.0-rc.6 (npm next)tested
web profiletested
headless profileworks (command is conditionally registered)

Troubleshooting

  • All tool calls crash after install — host and profile versions of

@deepseek-ai/* differ. Reinstall the plugin in the profile and run pnpm dedupe.

  • The bill is empty — start a new turn and run a few tool calls; records

are written asynchronously.

  • I want zero blocking — set fuseEnabled: false.

Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) and [SECURITY.md](SECURITY.md).

License

MIT