在使用 DeepSeek Harness (DSH) 处理文件时,开发者有时需要严格控制生成的内容,例如防止输出特定的禁用短语,或确保某些上下文信息始终存在。dsh-claim-guard 插件提供了一种基于规则的预写入检查机制,在 DSH 的原生文件工具执行写入前介入,通过匹配用户定义的规则来决定操作是否执行。
插件定位¶
这是一个非官方社区项目,由 xuxucodepractice-code 独立开发与维护。它利用 DSH 的原生 ask 决策机制,对文本进行确定性检查,而非直接写入目标文件或进行网络请求。
核心功能¶
- 读取用户维护的 JSON 规则文件。
- 检查新文本中是否包含
blocked短语。 - 检查新文本中是否包含
bounded短语(要求伴随特定上下文)。 - 将检查结果返回给 DSH 的原生
ask决策流程,由 DSH 的审批服务决定是否执行。 - 支持对
write、edit、str_replace_editor工具进行覆盖。
安装与启用¶
插件目前通过 GitHub Release 的 .tgz 包分发,不支持 npm 安装。
1. 获取与校验¶
从 GitHub Release 下载 dsh-claim-guard-0.1.0.tgz 及其校验文件。在安装前,建议使用 shasum 校验文件完整性:
shasum -a 256 -c dsh-claim-guard-0.1.0.tgz.sha256
2. 安装插件¶
使用 dsh plugin 命令安装到指定的 profile(建议使用 claim-guard-smoke 等临时 profile 进行测试):
dsh plugin --profile claim-guard-smoke add ./dsh-claim-guard-0.1.0.tgz
3. 配置¶
在 DSH 的配置文件中添加插件行。配置项 rulesPath 指向规则文件(默认为 claims.json),include 和 exclude 定义文件匹配模式:
- insert:
- id: dsh-claim-guard
name: dsh-claim-guard
config:
rulesPath: claims.json
include: ['**/*.md', '**/*.mdx', '**/*.txt']
exclude: []
规则文件示例¶
规则文件必须是严格的 UTF-8 JSON 格式。其结构包含版本、选项、被禁止的短语列表以及有界短语列表:
{
"version": 1,
"options": {
"window": 60,
"caseSensitive": false
},
"blocked": [
{
"id": "manuscript-status",
"match": "submitted",
"message": "The synthetic demo manuscript is only in preparation."
}
],
"bounded": [
{
"id": "demo-composite-score",
"match": "42.5%",
"mustAccompany": ["synthetic benchmark", "合成示例"],
"message": "This invented demo value must be labelled as synthetic."
}
]
}
工具覆盖与行为¶
插件对不同工具的检查范围不同:
write:检查全部新文本(包括blocked和bounded)。edit和str_replace_editor(str_replace/insert):仅检查新片段(仅blocked)。str_replace_editor(create):检查全部新文本(包括blocked和bounded)。view:不适用。
匹配成功会触发 DSH 的审批流程。如果匹配失败或未匹配,则将控制权交给下游策略。未匹配 bounded 短语的片段不会触发阻断,但下游策略仍可拒绝。
限制与注意事项¶
- 输入限制:输入文本限制为 1,000,000 JavaScript UTF-16 代码单元。
- 规则限制:规则文件大小不超过 262,144 字节,总规则数限制为 1 到 256 条。
- 绕过风险:Bash、PowerShell、Python、Node 脚本、MCP 工具等可能绕过此插件。插件不检测二进制内容或会话工作区外的路径。
- 安全与隐私:插件本身不进行网络请求,不提供遥测数据,也不直接写入目标文件。它以本地进程权限运行,社区插件并非安全边界,安装前应检查源码与许可证。
- 配置错误:配置中包含未知字段、显式
null、空值或错误类型会被拒绝。
总结¶
dsh-claim-guard 提供了一种轻量级的声明式内容检查方案,适合需要在 DSH 代理层面对特定文件内容进行预置检查的场景。通过复用 DSH 的原生审批流程,它保持了与 DSH 生态的一致性,但需注意其非官方属性及可能的绕过风险。