Short-Arm-Ape/dsh-sensitive-replace ↗★ 0
dsh-sensitive-replace
根据屏蔽表在进入上下文前自动替换敏感字符 适合需要规避 DeepSeek 官方敏感词拦截报错 400 的用户。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Short-Arm-Ape/dsh-sensitive-replace說明文件
閱讀完整 README ↗配置覆盖
按行 id 覆盖(用户 patch 层在 bundle 层之后,后者生效):
- id: sensitive-replace
config:
enabled: true
autoReplace: true
detectUnfiltered: true
blocklistPath: /abs/path/to/sensitive-blocklist.yaml
replaceWith: '[BLOCKED]'
配置(profile cordis.patch.yml 里按行 id 覆盖)
| 键 | 类型 | 默认 | 说明 |
|---|---|---|---|
| enabled | boolean | true | 总开关(工具面 + 自动面) |
| autoReplace | boolean | true | 进上下文前自动替换(agent/pre-step + tools/post-execute) |
| dispatchScrub | boolean | true | 出网前清洗整份请求(深拷贝后替换,含历史 / 模型输出 / tool-call 参数 / system) |
| detectUnfiltered | boolean | true | 未开启 dispatchScrub 时的只读扫描:仍有命中就记警告 |
| recoverOn400 | boolean | true | 400 时开启加硬清洗并 retry(对话保持连续) |
| aggressiveMs | number | 600000 | 加硬清洗持续时长(ms) |
| aggressive | boolean | false | 常开加硬清洗(不等 400 也额外剥离 emoji / 符号) |
| maxRecoveries | number | 2 | 10 分钟窗口内最多自动重试几次(防 400 循环) |
| blocklistPath | string | $DSH_HOME/sensitive-blocklist.yaml | 屏蔽表文档路径 |
| replaceWith | string | [BLOCKED] | 替换占位符——含 {n} 时按规则序号编号(便于还原),明示内容被屏蔽而非静默删除 |
replaceWith 用进 tool-call 参数时会自动做 JSON 转义,不会把参数弄成非法 JSON。