在使用 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 生態的一致性,但需注意其非官方屬性及可能的繞過風險。