DeepSeek Harness plugin

nexusclaw-agent-governance

DeepSeek Harness (dsh) approval answerer backed by the agent-governance sidecar — every approval/request is decided by the deny-by-default gate, L0–L4 rules and the organizational audit chain.

Jump to install

Source facts

Repository
NexusClawHQ/nexusclaw-agent-governance
Latest update
Aug 18, 2026
Category
Workflow & Automation
GitHub stars
1
Format
plugin
Package path
governance/adapters/dsh-plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
governance/adapters/dsh-plugin/package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/NexusClawHQ/nexusclaw-agent-governance/tree/HEAD/governance/adapters/dsh-plugin
Plugin: nexusclaw-agent-governance
Author: NexusClawHQ

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

dsh-plugin-governance-gate

A DeepSeek Harness (dsh) approval answerer backed by the agent-governance sidecar: every dsh approval/request is decided by the deny-by-default gate, L0–L4 risk rules and the organizational audit chain — with human approvals happening in the sidecar console instead of (or in addition to) dsh's own UI.

Spike conclusions (spec mcp-governance-gateway, Phase I1)

Verified against the dsh source and docs on 2026-08-18:

  • dsh's user-approval seam exposes a waterfall answerer event

'approval/request'(req, next) where a listener claims the request by

returning an ApprovalOutcome (`'allowed-once' | 'rejected' | 'cancelled' |

'unavailable') or delegates via next(); the chain is fail-closed (missing/throwing answerers resolve 'unavailable', callers deny). Source: packages/interaction/user-approval/src/index.ts` in the dsh repo.

  • Plugins ship as npm packages with a dsh.bundle manifest

(dsh: { bundle: { patch: "./cordis.patch.yml" } }), an ESM entry exporting name + apply(ctx), installed via dsh plugin add. Source: docs/user/develop/basic/publish.md.

  • Semantic alignment is exact: our gate's allow / blocked / paused maps

1:1 onto allowed-once / rejected / wait-for-human. No degradation to a docs-only recipe was needed.

Known v1 limitation (by dsh design): ApprovalRequest deliberately omits tool arguments (they are linked via callId), so input-matching risk rules see only the call reference, not the rendered arguments.

Install (into a dsh profile)

# 1. run the governance sidecar (one command, zero config):
npx @agent-governance/sidecar          # or the single-container Docker image
# 2. add the answerer to your dsh profile:
dsh plugin add dsh-plugin-governance-gate
# 3. point it at the sidecar (default http://127.0.0.1:7899):
export GOVERNANCE_SIDECAR_URL=http://127.0.0.1:7899

Grant the dsh tool names at the gate (deny by default), e.g.:

SIDECAR_GATE_ALLOWED_TOOLS="bash,read,write" npx @agent-governance/sidecar

Behavior

Gate verdictdsh outcome
allowallowed-once — dsh executes the tool locally
blockedrejected — the denial lands on the audit chain
paused (L2/L3)waits for the human in the sidecar console; approved → allowed-once, rejected → rejected
sidecar unreachable / wait timeoutnext() — dsh's own answerers stay in charge (still fail-closed); set GOVERNANCE_FAIL_CLOSED=1 to hard-reject instead

Env knobs: GOVERNANCE_SIDECAR_URL, GOVERNANCE_POLL_MS (default 1000), GOVERNANCE_TIMEOUT_MS (default 600000), GOVERNANCE_FAIL_CLOSED.

Apache-2.0. Parent project: agent-governance.