When building agents in DeepSeek Harness (DSH), permission management is a core pain point. Frequent manual approvals slow down iteration, while fully opening permissions introduces security risks. The native DSH approval flow requires confirming each item individually and lacks automated handling for deterministic operations.

dsh-auto-pass plugin introduces a “model review” mechanism, adding an “Auto Approval” permission preset to DSH. It does not blindly allow requests; instead, the model performs a single review of each operation that requires approval, automatically approving only the requests that pass review and returning all other cases to manual handling.

Core Features

The plugin provides the following core capabilities:

  • Model review mechanism: Each approval request goes through a single model invocation (no subagents, no tool calls). The model decides whether to allow the request based on the operation’s safety and intent.
  • Allow/deny list management: Supports dual allow lists and deny lists at both the global and project scopes. Operations that match a list are directly allowed or denied without going through model review.
  • Approval timeline panel: Provides a visualized approval record panel in the Web UI, supporting filtering by status.
  • Deny list switch: Disabled by default. When enabled, operations that match the deny list are directly denied and no longer enter the manual approval flow.

Working Principle

The plugin’s workflow follows the path: “sandbox check -> review -> decision”.

  1. Basic check: The operation first checks whether it satisfies the basic workspace write permission. If it does, it is executed directly.
  2. Priority check: For operations that require elevated permissions, the plugin first checks the allow list and deny list.
    • Allow list: If matched, the operation is allowed directly without calling the model.
    • Deny list: If matched, the outcome depends on the switch. If the switch is off, it is handed to manual processing; if on, it is denied directly.
  3. Model review: For operations that do not match a list, the plugin constructs a prompt containing the normalized operation description and evidence (the last direct message), then calls the model for a single review.
  4. Result handling: If the model review passes, the operation is executed once automatically. If the review is denied, times out, or the model cannot make a judgment, the case is handed to manual processing.

Configuration and Usage

Enabling this plugin in the DSH Web UI is straightforward:

  1. Select a preset: In the permission preset option, select Auto Approval.
  2. Configure thresholds: By default, after the same permission is approved three consecutive times within the same project, that permission is automatically added to the allow list (project level). If it is denied three consecutive times, it is added to the deny list.
  3. Use the deny list: In the “Approval Policy” panel, find and enable the “Deny List” switch. After enabling, operations that match the deny list will no longer trigger an approval card.

Technical Requirements

  • Runtime environment: This plugin is built with Node.js and requires Node.js version ^22.19.0 || >=24.0.0.
  • Permission fingerprint: Allow list and deny list matching is based on the “permission fingerprint”, which is the tool name plus normalized parameters (excluding descriptive fields, pipes, output redirection, and other non-essential features, while retaining key parameters).
  • Review prompt: The model only receives the normalized operation description and limited evidence. It cannot access subagents or the filesystem, ensuring independence and security of the review.

Notes

  • This plugin cannot resolve unattended operation. Operations that are denied by the model or fail review must be decided by the user.
  • List checks take precedence over model review, and project-level rules take precedence over global rules.
  • The plugin only takes effect when using the Auto Approval permission preset; all other presets follow the native DSH flow.