DeepSeek Harness 宿主插件:dsh-vscode

前言

在 DeepSeek Harness (DSH) 的开发中,智能体经常需要调用本地编辑器来处理代码。DSH 的 pwsh 沙盒默认会拦截工作区外的可执行文件,导致模型通过 code xxx 等命令行调用 IDE 失败,且这种方式本身也并不稳定。为了解决这个问题,需要一个能够直接在宿主进程中启动外部程序的工具。

插件介绍

dsh-vscode 是一个宿主工具插件,由 Hyna-hla 维护。它的核心作用是给 DSH 注册 open_in_vscode 工具,允许智能体直接调用本地安装的 Visual Studio Code。插件通过直接 spawn Code.exe,绕过了 DSH 的 pwsh 沙盒限制,解决了模型无法可靠执行外部编辑器命令的问题。

核心功能

  • 打开文件或文件夹:支持基于当前会话工作区的相对路径,直接打开本地文件或目录。
  • 跳转到指定位置:通过 --goto file:line:col 参数,跳转到文件的特定行和列。
  • 打开对比视图:通过 --diff 参数,打开两个文件的对比窗口。
  • 等待控制权:设置 wait: true 时,插件会等待 VS Code 窗口关闭后才返回控制权给 DSH(默认为立即返回)。

安装与配置

安装步骤:

pnpm install
pnpm build
.\scripts\install-to-profile.ps1 -Name dsh-vscode -SourceDir .

安装完成后需要重启 DeepSeek Harness。

配置:
在 DSH 的配置文件中插入以下内容:

- insert:
    - id: dsh-vscode
      name: dsh-vscode
      config:
        codeExe: ''   # 留空自动探测;可指定 Code.exe 或 bin\code.cmd 路径

如果不指定 codeExe,插件会按以下顺序自动探测 Code.exe:
1. %LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe
2. %ProgramFiles%
3. %ProgramFiles(x86)%
4. PATH 上的 code.cmd(经 cmd.exe 启动)。

使用方法

  • 跳转指定位置:
    在智能体配置中使用 --goto file:line:col。
  • 打开对比视图:
    在智能体配置中使用 --diff。
  • 等待窗口关闭:
    设置 wait: true 以阻塞等待 VS Code 窗口关闭。

注意事项

  • 该插件适合需要在 DSH 环境中集成本地 IDE 能力的开发者。
  • 插件直接以当前 DSH 进程的权限执行 spawn 操作,因此请确保安装前检查源码与许可证(MIT)。
  • 智能体在使用该工具时,文件路径应尽量基于当前会话的工作区,以避免因沙盒限制导致的路径问题。

结尾

dsh-vscode 提供了一种绕过沙盒限制、稳定调用本地 VS Code 的方案。对于需要深度集成编辑器能力的 DSH 智能体,这是一个实用的工具。更多细节请查看 GitHub。

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

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

小夜