dsh-coding-tools: Secure Bounded Coding Tools for DeepSeek Harness

前言

DeepSeek Harness (DSH) 採取插件化架構。爲了在智能體開發中提供受控的編程能力,同時避免對核心環境造成破壞,需要引入具備邊界約束的專用工具。dsh-coding-tools 是一個 DeepSeek Harness 主機插件,由 leonardoxr 維護。它在不修改 DSH 核心代碼的前提下,通過插件機制添加了受限的編碼工具集。

核心功能

該插件提供以下四個核心能力,均運行在受控的安全沙箱中:

  • code_read:提供 UTF-8 代碼窗口,並附帶精確的字節版本令牌(version tokens),確保讀取的原子性。
  • edit_ranges:支持原子化的“觀察範圍”編輯,並允許操作員配置審批流程。
  • ast_grep:基於 AST(抽象語法樹)的靜態分析工具,通過文件快照運行,支持分頁和只讀進程隔離。
  • lsp:提供持久的只讀語言服務器查詢,並使用受限的 JSON-RPC 協議通信。

安裝與啓用

在安裝前,請確保環境滿足以下要求:
* Node.js 22.19+ 或 24+
* DeepSeek Harness 0.1.1-rc.2 或兼容的公共服務契約
* 使用的 DSH Profile(如 Web Profile)需提供 tools、fs、sandboxPolicy、sandbox、approval、spillStore、subprocess 和 settings 組件

執行以下命令完成安裝與註冊:

pnpm install
pnpm check
dsh plugin --profile web add "C:\absolute\path\to\dsh-coding-tools"

安裝後,DSH 會通過 cordis.patch.yml 將 dsh-coding-tools 插件行插入配置。安裝主機插件後,需要重啓 Web Profile 才能使更改生效。僅使用原始源碼補丁無法完成包註冊。

典型用法

代碼讀取與編輯

這是最核心的工作流,確保了編輯操作基於精確的版本快照:

  1. 調用 code_read,傳入文件路徑,以及可選的 1 索引偏移量 (offset) 和限制 (limit)。
  2. 保留返回的 version。
  3. 調用 edit_ranges,必須傳入完全相同的文件、版本,且操作必須是非重疊的。
  4. 在只讀會話中,如果編輯被拒絕,可重試一次,需在 justification 中提供理由,並設置 sandbox_permissions: workspace-write。沙箱提升需要單獨的審批。

結構化搜索

調用 ast_grep 時,需提供以下參數:
* pattern:搜索模式
* paths:必須包含一個常規工作區文件
* language:必需的語言標識
* strictness:可選的嚴格性配置
* pageLimit:頁碼限制
* cursor:所有者作用域的光標

適用場景與注意

  • 功能範圍:在當前的安全首發版本中,ast_edit 和 DAP(調試器協議)調試功能有意未註冊。
  • 瀏覽器限制:瀏覽器打包版本僅限於“Coding tools”設置卡片中使用。
  • Windows 兼容性:提供原生 Windows 兼容性開關(allowWindowsPartialReadOnlyProcessConfinement)。啓用該選項會降低進程隔離級別(使用受限令牌強制),但非 Linux 完全隔離的等價實現。在此模式下,FAT 類文件系統、可被所有人寫入的 ACL 和 NTFS 硬鏈接可能削弱寫隔離,且後端不隔離讀取、網絡訪問或進程可見性。僅在對倉庫和可執行文件完全信任的環境中使用。
  • 配置要求:配置中的可執行路徑必須是絕對路徑。
  • Profile 依賴:插件需要 Profile 提供完整的工具鏈和沙箱策略支持。

短結尾

dsh-coding-tools 爲 DeepSeek Harness 提供了一套安全、受控的編碼工具集。通過嚴格的版本令牌管理和沙箱限制,它能夠在智能體開發中提供必要的代碼操作能力,同時保持環境的安全邊界。更多詳情可查閱 GitHub 倉庫或社區插件目錄。

  • GitHub: https://github.com/leonardoxr/dsh-coding-tools
  • Catalog: https://www.skillhub.cn/plugins/leonardoxr/dsh-coding-tools
羽毛球分组比赛记分
小程序二维码

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

小夜