智能体在 WSL 环境下工作,但有时需要调用 Windows 原生应用(如浏览器、VS Code、文件资源管理器)。直接执行任意 .exe 存在安全风险,且难以管理。dsh-wsl-launch 提供了一个受控的入口,只允许启动预定义的 Windows 应用。

简介

这是 DeepSeek Harness (DSH) 的一个插件,由用户 173787247 维护。它属于 dsh-wsl-kit 套件的一部分,旨在解决智能体如何在 WSL 中安全地启动 Windows 程序的问题。

该插件不运行任意可执行文件,仅通过白名单机制允许特定的 Windows 应用程序在 WSL 环境中被调用。

核心功能

  1. 白名单启动:仅允许启动配置文件中定义的 Windows 应用程序。
  2. 默认支持:内置了常用的开发与浏览工具的启动能力。
  3. 自定义扩展:支持通过配置文件自定义允许启动的应用列表。

安装与依赖

安装前,请确保环境满足以下依赖条件:

  • 已安装 DSH,版本需 >= 0.1.2。
  • 集成了 dsh-wsl-kit 套件,建议使用 KIT_SET=daily 进行安装。

执行以下命令安装插件:

dsh plugin --profile web add github:173787247/dsh-wsl-launch

配置

安装后,需要在 DSH 的配置文件中添加该插件的声明,并定义允许列表。

允许列表

默认允许列表包含以下应用:

  • code, code.cmd
  • explorer.exe
  • notepad.exe
  • wt.exe
  • windows terminal
  • msedge.exe
  • chrome.exe
  • firefox.exe

如果需要自定义允许列表,可以在配置中指定应用名称、路径后缀或使用通配符(如 msedge*)。

配置示例

- id: dsh-wsl-launch
  name: dsh-wsl-launch
  config:
    timeoutMs: 20000
    # 自定义允许列表
    allowlist: ["code", "explorer.exe", "msedge*", "notepad.exe"]

使用方法

该插件对应的 DSH 工具名为 win_launch。

参数说明

参数名 必需 说明
target 是 Windows 可执行文件名或路径,必须在允许列表中
args 否 传递给目标应用的参数字符串

调用示例

在 WSL 环境中调用 VS Code:

win_launch target="code" args="--wait"

在 WSL 环境中启动文件资源管理器:

win_launch target="explorer.exe"

注意事项

  1. 安全限制:插件严格限制只能启动白名单中的应用。尝试启动未授权的 exe 会导致失败。
  2. 依赖套件:务必确保已安装 dsh-wsl-kit 套件,否则插件无法正常工作。
  3. 版本兼容:检查当前 DSH 版本是否满足 0.1.2 及以上要求。
  4. 许可证:本项目采用 MIT 许可证开源,安装前请查阅源码确认合规性。

结语

dsh-wsl-launch 是构建安全、可控的 Windows-WSL 交互环境的关键组件。通过白名单机制,它让智能体能够执行必要的 Windows 操作,同时避免了执行任意代码的风险。

更多技术细节与故障排查,可查阅 GitHub 仓库:https://github.com/173787247/dsh-wsl-launch