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
羽毛球分组比赛记分
小程序二维码

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

小夜