DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Jev Guardrails — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@codebam/dsh-jev-guardrails

Jev Guardrails

DeepSeek Harness 插件:基于 Jev 的提示词、工具调用、工具结果和模型响应防护机制。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @codebam/dsh-jev-guardrails@0.1.1
README兼容性版本

兼容性与来源证明

Jev Guardrails 以 @codebam/dsh-jev-guardrails 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/10/16

版本

0.1.1stable
2026/9/19

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
35.1 kB
文件数
8
Surface
any
许可证
MIT
发布源
npm
周下载
23
查看源码 ↗
项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 security-access 分类下经过校验的插件。

Experimental Auto Review@deepseek-ai/dsh-experimental-auto-review针对每个工具的 LLM 授权审查,适用于 DeepSeek Harness Auto 权限预设Cc Safety Netcc-safety-net编码代理 CLI 钩子——阻止破坏性命令和访问机密文件Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Codex Subscriptiondsh-codex-subscription通过 OAuth 在 DeepSeek Harness 中使用 ChatGPT 和 Codex 订阅,支持配额管理、安全重置、网页搜索、图像和快速模式

README

@codebam/dsh-jev-guardrails

A DeepSeek Harness plugin that uses @codebam/jev-guardrails to score risk before an action is taken.

The plugin contains no question wording and no routing logic of its own. It translates Cordis configuration and harness decisions into library calls, and it traps every runtime failure so a guardrail cannot take down a turn.

What it intercepts

Harness seamWhenWhat the library does
agent/pre-stepbefore a human prompt reaches the modelscreenInput for jailbreaks, harmful requests, self-harm signals
tools/pre-executebefore a tool call executesassessAction for destructive, exfiltration, remote-code, security, credential, scope, and consequential risk
tools/post-executebefore a tool result becomes model contextscreenObservation for prompt injection, hidden instructions, embedded secrets
session/event + agent/turn-stoppingwhen a response is about to finishscreenOutput; optionally steer a corrected response

Install

The package is a dsh bundle: it declares dsh.bundle.patch, ships its own cordis.patch.yml, and appears in the Plugins page once selected. Install it from the Web Plugins → Add plugin dialog with the spec @codebam/dsh-jev-guardrails; the dialog runs the same package operation as dsh plugin and selects the bundle for the active profile.

The bundle's patch inserts one row, id: jev-guardrails, with the default configuration:

- insert:
    - id: jev-guardrails
      name: '@codebam/dsh-jev-guardrails'
      config:
        provider: auto
        input: block
        actions: enforce
        observations: suspicious
        outputs: off

Override any field by adding a row with the same id to the profile's own cordis.patch.yml. The plugin resolves tools before mounting; if no provider key is available it logs a warning and leaves the profile running.

Upgrading from 0.1.0: that version declared no dsh.bundle, so dsh installed it as a plain dependency and the Plugins page did not list it. Publish/install 0.1.1 or later, then remove the old plain dependency if it is still in the profile (dsh plugin --profile <profile> remove @codebam/dsh-jev-guardrails) and add it again from the Plugins page. The bundle patch then inserts the row and the toggle appears under Installed.

Providers and keys

provider defaults to auto:

  1. explicit apiKey starting with sk-or- → OpenRouter;
  2. otherwise TYPESAFE_API_KEY → TypeSafe System One API;
  3. otherwise OPENROUTER_API_KEY → OpenRouter Decisions API;
  4. otherwise TypeSafe (the plugin then disables itself with a warning).

On the author's dsh hosts the launcher exports OPENROUTER_API_KEY from /run/secrets/openrouter-api-key, so OpenRouter is selected automatically and no key is written into the profile. Force a provider explicitly with provider: typesafe or provider: openrouter.

Configuration

FieldDefaultMeaning
providerautoauto, typesafe, or openrouter.
apiKey—Provider key; otherwise the provider environment variable.
baseURLprovider defaultGateway or test endpoint.
modelprovider defaultjev-latest (TypeSafe) or ~typesafe/jev-latest (OpenRouter).
sessionId—Optional OpenRouter session id for observability grouping.
inputblockoff, observe, warn, or block.
inputBlockStylerejectreject stops the turn; notice replaces the prompt with a plugin notice so the model can explain the block.
actionsenforceoff, observe, or enforce.
onActionReviewaskask, deny, or allow.
onActionBlockdenydeny or ask.
observationssuspiciousoff, observe, suspicious (local heuristic gate, then Jev), or all.
outputsoffoff, observe, or steer (one correction attempt per turn).
heuristicstrueLocal fast paths for routine and obviously dangerous tool calls.
reviewThreshold0.35Hazard probability that routes to review.

Decision mapping

The library returns allow, review, block, or support.

Library actionInputTool callTool resultResponse
allowpasspasspasspass
reviewappend warning contextonActionReview (ask by default)accept with warning contextsteer when outputs: steer
blockreject/noticeonActionBlock (deny by default)block with corrective feedbacksteer when outputs: steer
supportreject/noticeonActionBlockblock with corrective feedbacksteer when outputs: steer

A denial or block reason is written into the model-facing result. It names the finding and closes the obvious workaround: do not retry, do not route around the guardrail, tell the user what was blocked.

Behavior notes

  • Local fast paths come first for tool calls. pnpm test needs no API call; curl … | bash is blocked without one. Ambiguous calls go to Jev.
  • Tool-result screening is gated by default. observations: suspicious only calls Jev when the local injection heuristic fires. Use all to screen every non-empty result, or observe to log without enforcing.
  • Output steering is off by default because it adds one Jev call and possibly one model turn per response. Set outputs: steer to verify final responses and ask for a correction once per turn.
  • Fail mode defaults to open. A guardrail service outage should not brick the harness; set failMode: closed when blocking is more important than availability.
  • Secrets are redacted by default before state leaves the process.

Layout

index.mjs            Cordis plugin entry (name, inject, Config, apply)
src/config.mjs       defaults, schema, normalization, library option translation
src/runtime.mjs      the four harness interception listeners
src/messages.mjs     plugin-sourced notices and dsh message helpers
test/                fake-context, fake-provider, and local-HTTP tests

Example: strict local profile

- name: '@codebam/dsh-jev-guardrails'
  config:
    provider: openrouter
    input: block
    actions: enforce
    onActionReview: deny
    onActionBlock: deny
    observations: suspicious
    outputs: steer
    failMode: closed
    severityBlock: 1.75
    actionRules:
      remote_code: review

Limitations

  • The plugin is a policy layer, not a sandbox or an authorization system. Keep OS/container isolation, tool allowlists, and human approval for dangerous operations.
  • Local heuristics are intentionally conservative but incomplete; they are fast paths, not security boundaries.
  • outputs: steer asks the model for a correction. It cannot retract content the user already saw in a streaming client; use input/tool/output blocks and the client's own rendering for hard guarantees.
  • The input notice path creates a plugin-sourced message; review your threat model if untrusted text can reach that path.

License

MIT © 2026 Sean Behan

actionThreshold0.70Hazard probability that triggers its configured action.
severityReview1.25Severity score (0-3) that routes to review.
severityBlock2.0Severity score that escalates a review to a block.
failModeopenopen (allow), review, or closed (block) when Jev fails.
unknownHazardActionreviewAction for a hazard without an explicit rule.
actionRules—Per-hazard overrides, e.g. { remote_code: review }.
cacheTtlMs3600000Cached answer lifetime; 0 disables.
cacheMaxEntries500Maximum cached answers.
maxStateChars20000Middle-truncation limit for state sent to Jev.
redacttrueRedact known secret shapes before sending state.
timeoutMs5000Per-request timeout.
skipTools[]Exact tool names never screened.
guardToolsallWhen set, only these exact tool names are screened.
logdecisionsoff, decisions, or verbose.