dsh-claim-guard:DeepSeek Harness 文件工具的預寫入聲明守衛

在使用 DeepSeek Harness (DSH) 處理文件時,開發者有時需要嚴格控制生成的內容,例如防止輸出特定的禁用短語,或確保某些上下文信息始終存在。dsh-claim-guard 插件提供了一種基於規則的預寫入檢查機制,在 DSH 的原生文件工具執行寫入前介入,通過匹配用戶定義的規則來決定操作是否執行。

插件定位

這是一個非官方社區項目,由 xuxucodepractice-code 獨立開發與維護。它利用 DSH 的原生 ask 決策機制,對文本進行確定性檢查,而非直接寫入目標文件或進行網絡請求。

核心功能

  1. 讀取用戶維護的 JSON 規則文件。
  2. 檢查新文本中是否包含 blocked 短語。
  3. 檢查新文本中是否包含 bounded 短語(要求伴隨特定上下文)。
  4. 將檢查結果返回給 DSH 的原生 ask 決策流程,由 DSH 的審批服務決定是否執行。
  5. 支持對 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. 輸入限制:輸入文本限制爲 1,000,000 JavaScript UTF-16 代碼單元。
  2. 規則限制:規則文件大小不超過 262,144 字節,總規則數限制爲 1 到 256 條。
  3. 繞過風險:Bash、PowerShell、Python、Node 腳本、MCP 工具等可能繞過此插件。插件不檢測二進制內容或會話工作區外的路徑。
  4. 安全與隱私:插件本身不進行網絡請求,不提供遙測數據,也不直接寫入目標文件。它以本地進程權限運行,社區插件並非安全邊界,安裝前應檢查源碼與許可證。
  5. 配置錯誤:配置中包含未知字段、顯式 null、空值或錯誤類型會被拒絕。

總結

dsh-claim-guard 提供了一種輕量級的聲明式內容檢查方案,適合需要在 DSH 代理層面對特定文件內容進行預置檢查的場景。通過複用 DSH 的原生審批流程,它保持了與 DSH 生態的一致性,但需注意其非官方屬性及可能的繞過風險。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜