fire-disposal/dsh-mojibake-interceptor
fire-disposal★ 0JavaScript最后同步: 2026-08-15
Mojibake interceptor bundle for DeepSeek Harness: feature-based garbled-text detection, review-then-release, pwsh encoding audit.
README 摘要
dsh-mojibake-interceptor — DeepSeek Harness 乱码拦截器 在 AI 把乱码写进文件 之前 打断,要求复查;若 AI 复查后仍执意(原样重试同一次写入)则放行。 纯 特征值/算法 检测——不维护任何关键词表。 工作原理 两个挂载点 挂载点 事件 行为 写入前拦截 tools/pre-execute write / edit / str replace editor 的待写入文本,以及 pwsh / bash / bash persistent 的 命令文本 ,在落盘/执行前被扫描;命中乱码特征或危险编码则返回 deny 并附复查说明 输出监视 tools/post-execute pwsh / bash / bash persistent / read 的捕获结果被扫描;输出本身乱码时注入一条通知,警告模型「别把这段输出抄进文件」(Windows 上最常见的污染源) pwsh 命令执行前审计(Windows 批量乱码悲剧的主防线) AI 用 pwsh 写文件/替换内容时,命令文本在 执行前 被双重检查: 1. 内容层 :命令内嵌文本直接跑全部乱码特征( Set-Content -Value '䏿–‡' 、heredoc 等执行前即命中)。 2. 编码层 ( pwshEncodingGuard: warn ,默认):命中「写入原语 + 含非 ASCII 内容」时校验编码声明—— - 危险编码( -Encoding Default/ANSI/OEM/Unicode 、 [Text.Encoding]::Default 、 GetEncoding(936/950/…) 、 [Console]::OutputEncoding= 、 chcp 非 65001)→ 严重 拦截; - 未声明编码(PS 5.1 Set-Content 默认 ANSI/GBK、 Out-File / 默认 UTF-16LE)→ 中等 拦截,提示显式 -Encoding utf8 ; - 知情编码( -Encoding utf8 、 [Text.Encoding]::UTF8 、.NET WriteAllText 两参重载默认 UTF-8)→ 放行。 - 纯 ASCII 命令永不触发编码审计; if ($a $b) 的比较运算符不会被误判为重定向。 误报控制(正常操作不拦) - 注释剥离 : 中文注释 / 先剥离再审计,注释里的中文不会触发; - 文件名豁免 : -Path / -LiteralPath / -Destination 等参数值、读取命令( Get-Content 中文.txt )后的中文文件名不算内容; - 知情写法全识别 : -Enc utf8 参数缩写、 [System.Text.Encoding]::UTF8 、 [Syste…
在 GitHub 查看完整 README →