DeepSeek Harness Hub
← 返回列表

WSL 托盘管理器JxaMe/DshWslManager

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

托盘一键启停 WSL 里的服务并打开 WebUI

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/17 · 已提供中文文档

WSL / DSH 管理工具:Windows 托盘小工具,管理 WSL 里的 DeepSeek Harness 服务

综合分
27.7
GitHub 分
27.7
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add JxaMe/DshWslManager
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DshWslManager · WSL / DSH 管理工具

Windows 桌面小工具:鼠标点几下,就能在 WSL 里启动 / 关闭 / 重启 DSH(DeepSeek Harness)服务,不用再敲命令。

License
.NET
Platform
GitHub release

主界面

DSH 是什么?

DeepSeek Harness(简称 DSH)是 DeepSeek 的 AI 开发工具。它通常跑在 WSL 的 Linux 环境里,通过 dsh web 命令在 http://127.0.0.1:3080 提供 WebUI。本工具就是管理这个服务的 Windows 侧小助手。

功能特性

- WSL 启动 / 重启 / 关闭
- DSH 启动 / 关闭 / 重启(默认命令 dsh web)
- 一键打开 WebUI:http://127.0.0.1:3080
- 系统托盘常驻:关闭窗口最小化到托盘,托盘菜单可打开 WebUI / 重启 DSH / 退出
- 状态指示灯每 5 秒自动检测 DSH 是否在运行
- 「DSH 启动」按钮状态自动切换:运行中显示「DSH 关闭」,点击即可停止
- 单实例运行:重复启动会提示并退出
- 操作进行中可点「取消」中止等待
- WPF 界面:原生支持高 DPI,任何缩放比例下显示清晰、布局一致

快速开始

1. 从 Releases 下载最新版 exe(二选一):
- 非自包含版(DshWslManager-win-x64.exe,约 0.8MB):需要目标电脑已安装 .NET 10 Desktop Runtime
- 自包含版(DshWslManager-win-x64-self-contained.exe,约 50MB):免装 .NET,双击即用
2. 双击运行
3. 点击「DSH 启动」
4. 等待状态指示灯变绿,然后点击「打开 WebUI」
5. 首次使用前请确认 WSL 里已装好 DSH,且 dsh web 命令可以直接执行

exe 未进行代码签名,Windows SmartScreen 或杀毒软件可能会提示,选择“仍要运行”即可;也可以自行编译避免信任问题。

环境要求

- Windows 10 / 11
- WSL(推荐 WSL2;WSL1 未做专门适配)
- WSL 内已安装 DSH,且 dsh web 命令可在 shell 中直接执行
- 自包含版:Windows 侧不需要安装 .NET;非自包含版:需要 .NET 10 Desktop Runtime

从源码编译

需要 Windows + .NET 10 SDK。

编译
dotnet build -c Release

发布自包含单文件 exe(免装 .NET,约 50MB)
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -o publish

发布非自包含单文件 exe(需目标机安装 .NET 10 Desktop Runtime,约 0.8MB)
dotnet publish -c Release -r win-x64 -p:SelfContained=false -p:PublishSingleFile=true -o publish-fd

产物路径:

- 自包含版:publish/DshWslManager.exe
- 非自包含版:publish-fd/DshWslManager.exe

发布到 GitHub Releases 时,建议重命名为:

- DshWslManager-win-x64-self-contained.exe
- DshWslManager-win-x64.exe

使用说明

- 操作进行中可点「取消」中止等待
- DSH 启动/重启后,日志会写入 WSL 内的 ~/dshweb.log
- WSL 重启 = 先 wsl --shutdown(关闭全部发行版),再重新启动指定发行版
- 指定了发行版时,WSL 关闭只关闭该发行版(wsl -t );未指定时关闭全部
- 「打开 WebUI」不做就绪检测,直接调用浏览器打开,打不开就打不开
- 关闭窗口会最小化到系统托盘(不退出),双击托盘图标或从菜单「显示主界面」恢复
- 单实例运行:重复启动会提示并退出

常见问题(FAQ)

提示找不到 wsl.exe 或 WSL 未安装

请先在 Windows 中安装 WSL:

wsl --install

点击「DSH 启动」后提示命令执行失败

先在 WSL 里手动确认 DSH 能启动:

dsh web

如果提示 command not found,说明 DSH 没有安装或不在 PATH 中。

状态灯一直红色,但 DSH 好像已经启动

可能是端口探测不到,请检查 WSL 内端口是否监听:

ss -ltn | grep 3080
或
netstat -ltn | grep 3080

推荐使用 WSL2,Windows 侧通过 127.0.0.1:3080 访问更稳定。

日志在哪里?

- Windows 侧错误日志:%LOCALAPPDATA%\DshWslManager\errors.log
- WSL 内 DSH 日志:~/dshweb.log

Windows SmartScreen 提示“已保护你的电脑”

exe 未签名,属于正常提示。可以选择“更多信息 -> 仍要运行”,或者从源码自行编译。

如何彻底退出?

右键系统托盘图标 -> 「退出软件」。

项目结构

DshWslManager/
├── App.xaml / App.xaml.cs      # 应用入口、单实例、全局异常处理
├── MainWindow.xaml             # 主界面(WPF 布局)
├── MainWindow.xaml.cs          # 主窗口逻辑:WSL/DSH 操作、托盘、状态刷新
├── app.manifest                # 高 DPI 感知(PerMonitorV2)声明
├── AssemblyInfo.cs             # 程序集信息
├── DshWslManager.csproj        # 项目文件(WPF + WinForms 托盘互操作)
├── README.md
└── LICENSE

路线图 / 已知限制

- [ ] 将 WslDistro / DshCommand / 端口改为配置文件或界面设置,避免每次修改都重新编译
- [ ] 增加 WSL1 兼容性验证
- [ ] 增加自动化测试
- [ ] 考虑代码签名,减少 SmartScreen 误报

贡献

欢迎提交 Issue 和 PR。

本地开发流程:

git clone https://github.com/JxaMe/DshWslManager.git
cd DshWslManager
dotnet build -c Release

提交 PR 前请确保 dotnet build -c Release 通过。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(JxaMe)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群