前言¶
DeepSeek Harness (DSH) 采用插件化架构,旨在通过扩展组件增强核心功能。在 Windows 环境下开发时,开发者往往需要在 Windows 原生工具与 Linux 依赖之间频繁切换,这通常涉及打开多个窗口或共享上下文,降低了操作连贯性。dsh-wsl-native 插件针对这一场景,试图在同一个 DSH 桌面窗口中实现 Windows 与原生 Linux 的并存与互通。
插件简介¶
dsh-wsl-native 是一个由 Han-1413141 维护的客户端插件。它允许 DSH 窗口承载 Windows 和原生 Linux 两种对话环境,支持环境切换、标志管理以及双向系统互操作。该插件适配 DeepSeek Harness 0.2.0-rc.2 及以上版本。
核心功能¶
插件通过常驻进程通信实现环境隔离与协作,主要能力包括:
* 进程复用与环境隔离:复用 Windows 和 Linux 的常驻工作进程,并发命令各自使用明确的目录和环境变量。
* 双向执行:支持双向执行 Bash、PowerShell 或程序参数数组,超时和取消操作能正确回收子进程树。
* 原生文件系统操作:原生列目录、分页读取 UTF-8/GB18030 文本、原子写入,保留符号链接,并支持旧文件 SHA-256 冲突检查。
* 文件传输:在两端分块复制二进制文件,校验 SHA-256 后提交,中断时自动清理临时文件。
* 路径转换:自动转换盘符、Linux 路径和 WSL UNC 路径,使用发行版实际的 wslpath。
* 任务管理:支持启动、查看和取消后台任务,连接结束时回收所属任务。
* 剪贴板与交互:支持在 Windows 打开文件/目录/网页以及读写文本剪贴板。
* 独立 Linux DSH:可安装、启动和停止独立的 Linux DSH 实例,同一数据目录的多个启动器互斥。
* 会话持久化:按环境保存用户、目录和最近项目,进入项目时恢复会话,在途命令和任务固定到原环境。
安装与启用¶
安装前需确保系统已安装 Windows、WSL 2 发行版(如 Ubuntu),且两端均可访问 Node.js(版本需为 22.19+ 或 24+,Linux 端必须是 Linux Node)。
使用官方提供的安装命令添加插件:
dsh plugin --profile desktop add https://github.com/Han-1413141/dsh-wsl-native/releases/download/v0.7.0/dsh-wsl-native-0.7.0.tgz
安装后,在桌面端配置中查找 WSL 与 Windows 入口。若当前窗口未显示,可退出并重新打开 DSH。该命令支持 desktop 和 web 两种配置文件。
典型用法¶
插件提供了 wsl_native_ 前缀的工具接口,可直接在对话中调用:
-
执行命令:在 Ubuntu 的指定目录运行项目检查。
> 使用wsl_native_exec,在 Ubuntu 的/home/codex/project运行项目检查,返回退出码和错误信息。 -
文件复制:在 Windows 和 Linux 之间传输文件,支持跳过覆盖。
> 使用wsl_native_copy,把 Ubuntu 的/home/codex/project/report.pdf复制到C:\Users\me\Desktop\report.pdf,已有文件先不要覆盖。 -
跨环境查询:在 Linux 环境中访问 Windows 资源。
> 当前 DSH 在 WSL 中运行。使用wsl_native_exec的 windows 目标,查询 Windows 中的 Node.js 版本。
适用场景与注意¶
- 适用场景:适合需要在同一窗口内同时使用 Windows 工具链和 Linux 开发环境的开发者,特别是涉及 Node.js 跨平台开发、WSL 依赖构建或混合环境部署的场景。
- 注意:
- 本项目为独立社区插件,遵循 MIT 许可证,并非 DeepSeek 或 Microsoft 的官方产品。
- Linux 端必须是 Linux Node,不能指向挂载盘上的
node.exe。 - 环境继承差异:直接运行 CLI 时没有主 DSH 配置上下文,不会自动继承主环境插件和设置;从 Windows DSH 插件入口启动则默认继承主环境插件、设置和模型账号。两种入口均不复制历史会话。
- 安装时建议先检查源码与许可证,确保符合项目使用规范。
结语¶
dsh-wsl-native 插件通过复用进程和原生接口,降低了 Windows 与 Linux 环境切换的交互成本。对于追求终端一体化体验的开发者,它提供了一个可行的技术方案。更多详细文档、验证报告及源码,可参考项目目录或 GitHub 仓库。