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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@playform/ets-hook-dsh-workspace-approve

Ets Hook Dsh Workspace Approve

The workspace-approve hook: a DeepSeek Harness plugin that binds the EXACT human approval - the candidate-bound approval + the constraints (the family's approve step of the invisible flow: the authority licenses -> the approve binds -> the merge commits).

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

npx -y @deepseek-ai/dsh plugin --profile web add @playform/ets-hook-dsh-workspace-approve@0.2.1
READMECompatibilityVersions

Compatibility and provenance

Ets Hook Dsh Workspace Approve is published as @playform/ets-hook-dsh-workspace-approve and currently resolves to version 0.2.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
11/4/2026

Versions

0.2.1stable
10/28/2026
0.2.0stable
10/25/2026
0.1.0stable
10/25/2026

Related plugins

Loading related plugins…

Latest
0.2.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
37.7 kB
Files
44
Surface
any
License
CC0-1.0
Source
npm
GitHub
★ 2
Weekly downloads
283
Security scan
✓ v0.2.1 scan passed
Last push
11/4/2026
View source ↗Project homepage ↗
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

Related plugins

More verified plugins in security-access.

Cc Safety Netcc-safety-netA coding agent CLI hook - block destructive commands and secret file accessDoctor@linxin666/dsh-doctorTransactional rescue mode for DSH profiles with a supervised launcher, isolated recovery capsule, deterministic repairs, health monitoring, and a local Web recovery consolePocketdsh-pocketPut DeepSeek Harness in your pocket: one package, one settings page, and scan a QR code on your phone to access DSH on your computer in sync (LAN + public network, real-time screen mirroring).Codex Subscriptiondsh-codex-subscriptionUse ChatGPT and Codex subscriptions in DeepSeek Harness with OAuth, quota, safe resets, web search, images and Fast mode, and control DSH from the ChatGPT mobile app (Beta)

README

@playform/hook-dsh-workspace-approve

v0.1.0 - UNPUBLISHED - plan: Workspace-Family/APPROVE

The role

The workspace-approve hook for the DeepSeek Harness plugin family (the Classic release).

It is a DeepSeek Harness plugin that binds the exact human approval (the candidate-bound approval plus the constraints), the approve step of the invisible flow of the workspace family:

... -> the authority licenses -> the approve binds -> the merge commits -> ...

The exact-approval semantics

An approval binds to the exact candidate: the concrete change set, identified by its path, its content fingerprint, and the file version observed at the approval, never a fuzzy intent.

The constraints travel with the approval: a changed constraint set at approval time is a rejection, not an amendment.

The decision records the Commitment (who accepted responsibility).

The merge/execute side derives its AuthorizationDecision from the check of the service.

An intent must not authorize its own means: the approval of an intention never authorizes the implementation the agent later produces.

The check only validates the implementation against the approved candidate, because the independent authority licensing happened earlier in the flow.

The service surface (ctx.workspaceApprove)

MethodBehavior
bind(candidate)Register an exact candidate (path + fingerprint + version + constraints) as a pending binding; rejected with its own ledger line when the identity is incomplete or constraints are required and missing.
approve(id, who, constraints?)A pending binding becomes approved; a changed constraint set rejects.
deny(id, who)A pending binding becomes denied.
revoke(id, who)An approved binding becomes revoked.
check(request)The exactness check: approved only when an approved binding covers the exact fingerprint AND the version is unchanged; otherwise unbound / the binding's decision / stale.
binding(id) / bindings(limit?) / statistics()The read surface.

The invalidation listener

On fs/observed (heard on the ROOT context through the Wire of the factory), a binding whose file is observed at a different version than the one bound in the approval is invalidated (decision: "invalidated", ledger invalidated <id> (version changed)).

The listener is a synchronous recorder: no awaits, no throws, no I/O, and own-actor events are ignored.

Storage and ledger

State lives in the own KV domain of the hook named workspace_approve (config domain): one record per binding plus a bounded ring snapshot (the last maxBindings, default 1000).

The sequence is the own monotonic counter of the plugin, never a wall clock.

Ledger lines (module-owned, prefixed approve:): activated, disabled, bound, decided, rejected, revoked, refused, unknown, invalidated, checked, capped, failed, storage open failed.

The configuration

Every knob is volatile (hot-editable without remounting): logFile (~/.dsh/playform/ets-hook-dsh-workspace-approve.log), log, enabled (false, the IDLE-forever posture), domain (workspace_approve), maxBindings (1000), and requireConstraints (true).

The plugin ships disabled and enables only by an explicit ACTIVATE.

The policy block (D6)

The config carries the shared per-action allowlist (policy: Policy(), composed from the block of the factory), mapped to State.Allow:

actiondefaultactiondefault
readautowriteapprove
indexautocommitapprove
recordautospawnapprove
suggestautomessageauto

The actions of this package are record, all AUTOMATIC; it has NO gated action (no file write, no batch commit, no spawn), so the block documents the posture and refuses nothing.

The block is one volatile object, so a policy flip is hot-editable without a remount, and the policy section of a resolved pack overrides the defaults per action (the wiring is the next refinement).

The plan

  • Workspace-Family/APPROVE - the approve step of the invisible flow.

License

CC0-1.0.