DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Pr Gate — DSH Plugin for DeepSeek Harness
← Plugins
P

dsh-pr-gate

Pr Gate

Deterministic write gate for DeepSeek Harness: scope policy + residue scan on every file the agent writes, live in the session — the CI gate moved to the moment of the write

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:zhengqiuyang/dsh-pr-gate#7e4e936555da3e1b82bdf5e0d55b90f8962a0a49
READMECompatibilityVersions

Compatibility and provenance

Pr Gate is published as dsh-pr-gate and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/12/2026

Versions

0.1.0stable
10/12/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/12/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspection

README

dsh-pr-gate

Deterministic write gate for DeepSeek Harness (dsh) — the CI gate moved to the moment of the write.

Every file the agent writes (write / edit / str_replace_editor) passes the same scope policy and residue rules that agent-pr-gate applies to PRs in CI — deny-before-write in tools/pre-execute, residue scan of the written text in tools/post-execute, and a durable content-hashed JSONL ledger of every decision. Zero LLM calls in the trust path: the parts of the gate that must NOT be an LLM live here.

Why now (checked 2026-10-12)

The review/guard lane in the dsh ecosystem is entirely LLM-shaped: answer-reviewer plugins re-read turns with a second model, dsh-gungnir verifies goal completion from exit codes, and the closest action-guard (cc-safety-net, 1.6k★ in the Claude ecosystem) blocks destructive commands. Nobody gates what the agent writes deterministically — scope policy, residue markers, or a durable record the CI can consume. That slot is empty, and this plugin is the agent-pr-gate engine living inside the runtime instead of waiting for the PR.

What it does

StageHookDeterministic action
Before the writetools/pre-executeScope policy: deny globs always win; a non-empty allow list means "only these". Denied writes never touch the disk
After the writetools/post-executeResidue scan of the written text: injection text aimed at reviewers, skipped tests, debug markers. warn (default) logs + ledgers; block also fails the write with corrective feedback
AlwaysJSONL ledgerOne line per decision — tool, path, action, sha256 of content, matched pattern, residue kinds. agent-pr-gate CI can consume it as the session-side record

One policy, two enforcement points

Point policyFile at your repo's agent-pr-gate.yaml and the live session enforces the same allow/deny the CI gate enforces on PRs — all policy entries are unioned. Inline allow/deny config works without a file.

Install

dsh plugin --profile default add github:zhengqiuyang/dsh-pr-gate

git installs build from source; authorize the build once in the profile's pnpm-workspace.yaml:

allowBuilds:
  dsh-pr-gate: true

Configure

- id: dsh-pr-gate
  name: dsh-pr-gate
  config:
    tools: [write, edit, str_replace_editor]
    allow: [src/**, docs/**]     # non-empty = only these
    deny: ["**/*.pem", .github/workflows/**]
    policyFile: ""               # or e.g. agent-pr-gate.yaml
    residueMode: warn            # warn | block
    ledgerPath: .dsh-pr-gate/session.jsonl

Develop

npm install
npm test   # syncs the vendored agent-pr-gate core, builds, runs unit tests

The scope glob semantics and residue rules are vendored from the sibling agent-pr-gate checkout (npm run sync; CI runs sync --check).

Roadmap

  • bash command write-heuristics (redirect/shell-write detection, warn-only)
  • Ledger → GitHub check-run bridge (session attestations surfaced in CI)
  • Per-policy selection by agent preset, matching the CI gate's policy classes
  • Claims-vs-diff at turn end (the agent's final summary vs. the session ledger)

Kill criteria

If dsh ships first-party deterministic write gating, or reviewer plugins converge on deterministic enforcement (they are all LLM-based today), this freezes at its last working version with a postmortem here. The engine stays owned by agent-pr-gate either way.