Skip to content

agentic-control-plane/dsh-acp-plugin

30Last commit Aug 14, 2026

dsh-acp-plugin DSH plugin

dsh-plugin-acp is a native Cordis plugin that intercepts tool calls in DeepSeek Harness to enforce policy decisions. It checks every tool call against your policies before execution and records what was allowed, blocked, and why. The plugin works in both interactive and unattended modes with different failure postures.

How to install the dsh-acp-plugin DSH plugin

dsh plugin --profile <your-profile> add dsh-plugin-acp

This source command needs manual review. Copying does not run it.

dsh-acp-plugin DSH plugin data source

dsh-acp-plugin DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-acp-plugin DSH plugin can do

  • Pre-execute policy decisions: allow, deny, or ask for approval on tool calls.
  • Post-execute output scanning with server-side blocking or shadow-mode notifications.
  • Configurable govern base URL, agent tier, and timeout via YAML or environment variables.
  • Graceful failure handling: interactive sessions fail open with warnings, unattended agents fail closed.
  • No build step, no dependencies, plain ESM – installable from npm or GitHub directly.

Where the dsh-acp-plugin DSH plugin fits

  • Enforce organizational security policies on every tool call made by DSH agents.
  • Audit all tool call decisions for compliance and troubleshooting.
  • Prevent unauthorized actions in unattended automation workflows.
  • Gradually test policy enforcement with shadow-mode before full blocking.
  • Integrate with self-hosted or cloud-based Agentic Control Plane gateways.

Who the dsh-acp-plugin DSH plugin is for

  • Teams requiring governance and policy control over AI agent actions.
  • Enterprises using DeepSeek Harness in production with compliance requirements.

dsh-acp-plugin DSH plugin limitations

  • Requires a valid ACP bearer token or credentials file to function.
  • Depends on the Agentic Control Plane service (cloud or self-hosted) being reachable.
  • Does not support input rewriting – only pre-execution and post-execution checks.
  • Shadow-mode only logs what would be blocked, not actually block.

dsh-acp-plugin DSH plugin: from the repository README

Quoted from the agentic-control-plane/dsh-acp-plugin README, the upstream source of the dsh-acp-plugin DSH plugin. Copyright remains with the original authors.

This is a native Cordis plugin on dsh's typed interception points, not a shell-hook shim. It registers on: - `tools/pre-execute` — the policy decision. `allow` lets the call through, `deny` blocks it with the reason in the trajectory, `ask` hands off to dsh's own approval flow. - `tools/post-execute` — output scanning. A server-side block turns the result into corrective feedback; shadow-mode notices surface what enforcement *would* have done. ## Install ```sh dsh plugin --profile <your-profile> add dsh-plugin-acp export ACP_BEARER_TOKEN=gsk_... # or keep it in ~/.acp/credentials dsh --profile <your-profile> ``` No build step, no dependencies, plain ESM. Installing from git works too (`dsh plugin add github:agentic-control-plane/dsh-acp-plugin`) and needs no build allowance. Get a key at [cloud.agenticcontrolplane.com](https://cloud.agenticcontrolplane.com). No key? The plugin says so loudly and stays out of the way — it never bricks a session. ## Configuration Override the row in your profile's `cordis.patch.yml`: ```yaml - id: acp name: dsh-plugin-acp config: governBase: https://govern.agenticcontrolplane.com # or your self-hosted gateway agentTier: interac

Read the full READMERepository license: MIT

dsh-acp-plugin DSH plugin questions

How do I install the ACP plugin for DSH?

Run `dsh plugin --profile <your-profile> add dsh-plugin-acp`. Then set your `ACP_BEARER_TOKEN` environment variable or save your credentials in `~/.acp/credentials`. After that, start DSH with your profile and the plugin will be activated.

What happens if the control plane is unreachable?

For interactive sessions, the tool call proceeds but a warning `[ACP] ⚠ UNGOVERNED` is logged and a line is written to `~/.acp/lapse.log`. For unattended agents, the call is blocked (fail closed) to prevent ungoverned actions.

How do I configure the govern base URL?

You can set the `ACP_GOVERN_BASE` environment variable, or configure it in your profile's `cordis.patch.yml` under the `governBase` config key. The default is `https://govern.agenticcontrolplane.com`, but you can point it to your self-hosted gateway.

What is the difference between this plugin and the Claude Code hook?

This plugin is a native Cordis plugin using DSH's typed interception points, providing full policy enforcement. The Claude Code hook (`@deepseek-ai/dsh-hooks-claude-code`) runs an unmodified `hooks.json` and works with `govern.mjs` – it honors deny and ask, but does not support input rewriting. The native plugin is the recommended path.

Do I need a key to use this plugin?

Yes, you need a bearer token from Agentic Control Plane. You can get a key at [cloud.agenticcontrolplane.com](https://cloud.agenticcontrolplane.com). Without a key, the plugin will log a loud warning and stay out of the way – it will never brick a session, but it will not enforce any policies.