DeepSeek Harness 的插件化架构允许开发者扩展功能,但也带来了兼容性冲突。dsh-claude-ux 插件提供了风险控制界面,但其底层机制(如区域封锁、对话接管、分类请求)有时过于严格。foliotemp/dsh-claude-antidote 旨在解决这一矛盾:允许该插件与 dsh-claude-ux 同时安装,保持设置页显示总开关为“开启”,但实际中和风险控制带来的负面影响。
插件定位¶
这是一个由 FolioTemp 维护的兼容性补丁插件,属于 admin-security 类别。它的核心价值在于“伪装”与“中和”:在 UI 层面维持上游插件的正常状态,在底层逻辑层面禁用其带来的限制性功能。
核心功能¶
插件通过拦截和修改上游请求与响应,实现以下效果:
- UI 状态伪装:精确拦截
/_dsh/claude/status请求,返回开启状态。这使得 DeepSeek Harness 的设置页继续显示“Claude 风控:已启用”,点击保存也能正常回显。 - 保存时禁用:在保存配置请求到达宿主之前,将唯一的真实总开关强制改回
false。其他配置字段(如阈值、模型选择)正常保存。 - 拦截分类请求:拦截带有
purpose: dsh-claude-classify的请求,并在本地直接返回全否结果,避免消耗模型 Token。 - 移除系统提示注入:删除上游添加的
claude:geo和claude:region-policy系统提示节,恢复日期隐写格式。 - 恢复输入框:当上游返回
chatEnded时,插件以priority: -100的优先级抢占输入框控制权,显示 DeepSeek Harness 原生的后台输入框。 - 重新调用模型:若上游短暂生效并返回合成回复,插件能识别该回复并重新调用真实模型进行响应。
安装与启用¶
安装顺序有严格要求:必须先安装上游插件 dsh-claude-ux,再安装此解药。
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
安装完成后,重启 dsh web 进程,并在浏览器中进行硬刷新以加载新插件。
验证方法¶
安装成功后,可以通过日志和接口调用验证实际状态:
- 查看日志:运行
npm test,日志中应包含[dsh-claude-antidote] active和[dsh-claude-antidote] upstream disabled (startup)。 - 检查实际状态:在浏览器设置页中,应看到“Claude 风控”总开关为开启。在浏览器外直接请求诊断接口,实际值应仍为
false。
curl.exe --noproxy "*" http://127.0.0.1:3099/_dsh/claude/status
适用场景与注意事项¶
该插件主要服务于需要绕过 dsh-claude-ux 风控限制的开发者。使用时需注意以下限制:
- 自动启用风险:卸载
dsh-claude-antidote后,不会自动重新启用上游插件dsh-claude-ux。这避免了卸载后突然恢复区域封锁或对话结束接管的风险。 - 数据保留:插件不会删除或改写历史会话事件,已经显示过的拒绝文案或
blocked记录仍保留在时间线中。 - 请求隔离:插件仅拦截同源、路径精确匹配的
/_dsh/claude/status请求,不会修改其他插件的fetch请求。 - 环境依赖:DeepSeek Harness 当前处于 developer preview 阶段,若宿主改变
conversation.composeroverlay 或 waterfall API,可能需要更新前端恢复层。
总结¶
foliotemp/dsh-claude-antidote 是一个针对 dsh-claude-ux 的功能性兼容补丁。它通过在 UI 层维持正常显示,在逻辑层完全禁用风险控制,解决了两个插件共存时的冲突。对于需要精细控制 DeepSeek Harness 行为的开发者而言,这是一个实用的工具。
- 目录页:https://www.skillhub.cn/plugins/FolioTemp/dsh-claude-antidote
- 源码仓库:https://github.com/FolioTemp/dsh-claude-antidote