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:
- UI state spoofing: It precisely intercepts
/_dsh/claude/statusrequests 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. - 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. - Intercepting classification requests: It intercepts requests with
purpose: dsh-claude-classifyand directly returns an all-false result locally, avoiding model token consumption. - Removing system-prompt injection: It removes the
claude:geoandclaude:region-policysystem-prompt sections added upstream, restoring the date steganography format. - Restoring the input box: When the upstream returns
chatEnded, the plugin takes over control of the input box withpriority: -100, displaying the native background input box of DeepSeek Harness. - 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:
- View logs: Run
npm test. The logs should contain[dsh-claude-antidote] activeand[dsh-claude-antidote] upstream disabled (startup). - 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 plugindsh-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
blockedrecords remain in the timeline. - Request isolation: The plugin only intercepts same-origin, exact-path-matched
/_dsh/claude/statusrequests and does not modifyfetchrequests from other plugins. - Environment dependencies: DeepSeek Harness is currently in developer preview. If the host changes the
conversation.composeroverlay 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