DeepSeek Harness 文件校驗插件

前言

在 DeepSeek Harness (DSH) 的開發流程中,驗證構建產物或文件的完整性是一項常見需求。直接讀取文件內容不僅會佔用上下文窗口,還可能暴露敏感數據。傳統的文本哈希工具往往需要將文件內容輸入模型,這不符合安全與效率的原則。dsh-file-checksum 解決了這個問題,它通過 DSH 活躍的文件系統提供程序,僅計算文件的原始 SHA-256 或 SHA-512 校驗和,而不將文件內容傳遞給模型。

插件介紹

dsh-file-checksum 是一個用於 DeepSeek Harness 的只讀插件,由開發者 yan9651688 維護,採用 MIT 許可證。

該插件的核心價值在於“不暴露內容”。它通過 ctx.fs 讀取文件,不調用 shell、不繞過文件系統提供程序、不訪問網絡。它計算文件的原始字節哈希值,並返回結構化的校驗和結果,供模型用於驗證文件完整性。

安裝與配置

安裝該插件需要使用 DSH 的插件管理命令。

1、添加插件到指定 profile:

dsh plugin --profile web add github:yan9651688/dsh-file-checksum

2、爲了確保安裝的可復現性,建議固定特定 commit:

dsh plugin --profile web add github:yan9651688/dsh-file-checksum#<commit-sha>

安裝完成後,啓動該 profile 即可使用。

工具使用

插件提供了一個名爲 file_checksum 的工具。

參數說明:

參數名 必填 說明
file_path 是 絕對路徑,或相對於當前 agent 會話工作區的路徑
algorithm 否 哈希算法,sha256(默認)或 sha512
expected 否 期望的十六進制校驗值。工具返回 match 或 mismatch

典型用法示例:

在提示詞中,可以直接要求模型使用該工具:

Use file_checksum to verify dist/app.tgz against this SHA-256: <digest>

返回結果:
工具返回結構化 JSON 數據,包含路徑、算法、校驗值、字節數以及驗證狀態。

{
  "path": "/workspace/dist/app.tgz",
  "algorithm": "sha256",
  "digest": "...",
  "bytes": 12345,
  "verification": "match"
}

如果校驗不匹配,返回的 JSON 中 verification 爲 mismatch。如果文件缺失、不是常規文件、過大或不可讀,則返回錯誤。

配置項

插件默認配置了一個 64 MiB 的單文件大小限制,防止內存溢出。

在 profile 的配置中,可以通過 maxBytes 參數調整該限制,最高可配置至 256 MiB。

- insert:
    - id: file-checksum
      name: dsh-file-checksum
      config:
        maxBytes: 67108864

數據與安全

該插件在設計上注重安全性:

  • 只讀操作:插件聲明爲只讀,不調用 shell,不訪問環境變量、憑證或網絡。
  • 原始字節:讀取文件內容時不經過 shell,直接通過 ctx.fs 處理,且結果不包含文件內容本身。
  • 併發控制:校驗調用被聲明爲互斥,防止在 Native 或 Code Mode 批處理中同時調用導致內存超限。
  • 完整性記錄:成功或失敗的讀取都會通過 DSH 的 fs/observed 事件記錄,與內置文件讀取行爲保持一致。

已知限制

在使用該插件時,需要注意以下限制:

  1. 單文件調用:每次調用僅支持計算一個文件。不支持目錄和 Git 樹哈希。
  2. 大小限制:超過 maxBytes 的文件會被拒絕,不支持流式讀取或截斷。
  3. 版本兼容:插件依賴 DSH 0.1.0-rc.6 及兼容的 0.1.x 版本。由於 DSH 處於開發者預覽階段,上游的破壞性變更可能需要插件更新。
  4. 純 ESM:該插件使用純 ESM JavaScript 編寫,GitHub 安裝無需構建步驟。

結語

dsh-file-checksum 爲 DeepSeek Harness 提供了一種安全、高效的文件完整性校驗手段。它利用 DSH 的文件系統能力,在不泄露內容的前提下完成了哈希計算,適合用於構建流程驗證、文件分發校驗等場景。

插件目錄:https://www.skillhub.cn/plugins/yan9651688/dsh-file-checksum
GitHub 倉庫:https://github.com/yan9651688/dsh-file-checksum

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

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

小夜