The plugin-based architecture of DeepSeek Harness allows developers to extend functionality, but it also introduces compatibility conflicts. The dsh-claude-ux plugin provides a risk-control interface, but its underlying mechanisms (such as regional blocking, conversation takeover, and classification requests) are sometimes overly strict. foliotemp/dsh-claude-antidote is designed to resolve this conflict: it allows dsh-claude-antidote and dsh-claude-ux to be installed simultaneously, keeps the settings page showing the master switch as “on,” but actually neutralizes the negative effects caused by risk control.

Plugin Positioning

This is a compatibility patch plugin maintained by FolioTemp, belonging to the admin-security category. Its core value lies in “spoofing” and “neutralizing”: maintaining the normal state of the upstream plugin at the UI level while disabling the restrictive functionality it introduces at the underlying logic level.

Core Functionality

The plugin intercepts and modifies upstream requests and responses to achieve the following effects:

  1. UI state spoofing: It precisely intercepts /_dsh/claude/status requests and returns an “on” state. This allows the DeepSeek Harness settings page to continue displaying “Claude risk control: enabled,” and saving the settings also displays the state correctly.
  2. Disabled on save: Before the configuration-save request reaches the host, it forces the only real master switch back to false. Other configuration fields (such as thresholds and model selection) are saved normally.
  3. Intercepting classification requests: It intercepts requests with purpose: dsh-claude-classify and directly returns an all-false result locally, avoiding model token consumption.
  4. Removing system-prompt injection: It removes the claude:geo and claude:region-policy system-prompt sections added upstream, restoring the date steganography format.
  5. Restoring the input box: When the upstream returns chatEnded, the plugin takes over control of the input box with priority: -100, displaying the native background input box of DeepSeek Harness.
  6. Re-invoking the model: If the upstream temporarily takes effect and returns a synthetic response, the plugin can recognize the response and re-invoke the real model to generate a response.

Installation and Activation

The installation order is strictly required: you must install the upstream plugin dsh-claude-ux first, then install this antidote.

npx -y @deepseek-ai/dsh plugin --profile web add github:eri64/dsh-claude-ux
npx -y @deepseek-ai/dsh plugin --profile web add github:FolioTemp/dsh-claude-antidote

After installation, restart the dsh web process and perform a hard refresh in the browser to load the new plugin.

Verification

After a successful installation, you can verify the actual state through logs and API calls:

  1. View logs: Run npm test. The logs should contain [dsh-claude-antidote] active and [dsh-claude-antidote] upstream disabled (startup).
  2. Check the actual state: In the browser settings page, the “Claude risk control” master switch should appear on. When requesting the diagnostic endpoint directly outside the browser, the actual value should still be false.
curl.exe --noproxy "*" http://127.0.0.1:3099/_dsh/claude/status

Use Cases and Cautions

This plugin primarily serves developers who need to bypass the risk-control restrictions of dsh-claude-ux. When using it, note the following limitations:

  • Automatic re-enablement risk: After uninstalling dsh-claude-antidote, it does not automatically re-enable the upstream plugin dsh-claude-ux. This avoids the risk of regional blocking or conversation-end takeover suddenly returning after uninstallation.
  • Data retention: The plugin does not delete or rewrite historical conversation events; previously displayed rejection text or blocked records remain in the timeline.
  • Request isolation: The plugin only intercepts same-origin, exact-path-matched /_dsh/claude/status requests and does not modify fetch requests from other plugins.
  • Environment dependencies: DeepSeek Harness is currently in developer preview. If the host changes the conversation.composer overlay or waterfall API, the frontend restoration layer may need to be updated.

Summary

foliotemp/dsh-claude-antidote is a functional compatibility patch for dsh-claude-ux. By maintaining a normal display at the UI layer and completely disabling risk control at the logic layer, it resolves conflicts when the two plugins coexist. For developers who need fine-grained control over DeepSeek Harness behavior, this is a practical tool.

  • Directory page: https://www.skillhub.cn/plugins/FolioTemp/dsh-claude-antidote
  • Source repository: https://github.com/FolioTemp/dsh-claude-antidote