在本地开发 DeepSeek Harness (DSH) 时,同时维护 Windows 和 WSL2 两个环境下的实例是常见场景。通常需要在两个终端窗口间手动切换 URL,或复制粘贴端口地址,操作繁琐且容易出错。下面介绍 dsh-env-switcher 插件,它可以在 Web UI 中直接在两个运行中的 DSH 实例间切换,无需关闭任何一个。
核心功能¶
- 共存模式:Windows 和 WSL2 的 DSH 服务器同时运行,互不干扰。默认端口分别为 3080 和 3081。
- Web UI 入口:Web UI 新增「环境」标签页,侧边栏主列(中间列)出现「运行环境」入口,显示当前可切换的 Windows 或 WSL 选项。
- 折叠感知:侧边栏折叠时,该入口自动隐藏;展开时重新出现。
- 会话隔离:每个环境维护独立的会话历史记录。
安装与启用¶
使用官方命令安装:
dsh plugin --profile web add dsh-env-switcher
如果从本地检出源码,使用:
dsh plugin --profile web add file:/path/to/dsh-env-switcher
安装后重启服务器,并在浏览器中强制刷新(Ctrl+F5 或 Cmd+Shift+R)。
配置说明¶
所有配置项均为可选。默认值适用于典型的 Windows + WSL2 环境。在 cordis.patch.yml 中配置示例如下:
- insert:
- id: dsh-env-switcher
name: dsh-env-switcher
config:
winPort: 3080 # Windows DSH 端口
wslPort: 3081 # WSL DSH 端口
wslDistro: Ubuntu-24.04
wslNodeBin: /home/fsc/node-v24.17.0-linux-x64/bin
wslLog: /home/fsc/dsh-web.log
winLog: D:\deepseek-harness\logs\dsh-web-win.log
winWorkingDir: C:\Users\61468
环境要求¶
- 操作系统:Windows 10/11 + WSL2 + Linux 发行版(如 Ubuntu 24.04)。
- DSH 安装:Windows 环境和 WSL 环境内均需安装 DSH。
- 服务启动:WSL 实例必须使用
dsh web --port 3081命令启动。
使用方法¶
在 Web UI 侧边栏的「运行环境」区域点击目标环境(Windows 或 WSL)。系统会确保对应服务器正在运行,随后当前标签页将自动导航至该环境的 URL。
总结¶
dsh-env-switcher 通过 Web UI 集成了 Windows 与 WSL2 环境的切换能力,配合折叠感知和独立会话历史,提升了跨环境开发体验。源码与更新记录可在 GitHub 查看。