Back to home@taskschd1145

deepseek-harness-clean

一个"三无"DSH桌面子端:打开它,就等于在浏览器里打DSH, 只不过它是一个带托盘图标、全原生的 Windows 窗口。

Stars
0
Language
JavaScript
Created
Aug 22, 2026
Updated
Aug 22, 2026

Introduction

DeepSeek Harness Clean

一个"三无"桌面子端:打开它,就等于在浏览器里打开 http://127.0.0.1:3080, 只不过它是一个带托盘图标、全原生的 Windows 窗口。

English


三无桌面端

本项目极度克制、零捆绑。安装它,你的电脑几乎什么都没多:

安装它会带来什么
🚫 无 dsh 本体包里没有任何 DeepSeek Harness 代码,只调用你机器上已全局安装dsh 命令(npm i -g @deepseek-ai/dsh)。
🚫 无任何自带插件不携带任何 Cordis/DSH 插件、预设、Agent 配置。DSH 的能力全部来自你自己的 ~/.dsh profile,壳里一样都没有。
🚫 无自带 Node 环境包内没有 Node.js。用的是你系统的 Node、系统的 npm、系统的全局 dsh 命令。

一句话:装这个 ≈ 你电脑里多了一个 Chromium(Electron 运行时),仅此而已。 打包后的 exe 只有 ~88 MB——就是裸 Electron 加一层薄壳。


功能

  • 自动启动 — 没有 DSH 实例在跑时自动执行 dsh web --no-open,就绪后加载页面
  • 端口自动匹配(永不写死) — 三层机制:
    1. 解析你的 dsh profile 配置(~/.dsh/profiles/web/*.yml)里改过的端口
    2. 扫描常见/自定义端口,直接复用已在跑的实例(比如浏览器里开着的那个),绝不重复启动
    3. 都没有 → spawn dsh web 不传 --port(让 dsh 完全跟随自身配置),从启动输出 dsh web: http://127.0.0.1:<端口> 解析实际端口
  • 系统托盘 — 显示窗口 / 检查更新 / 设置 / 两种退出;关闭窗口可三选一 (最小化到托盘 / 仅退出客户端保留服务 / 完全退出),可勾选"不再询问"
  • 打开即检查更新 — 静默并行查询 官方源 + npmmirror 镜像源,有新版本才说话
  • 一键更新 — 原生对话框选「镜像源(推荐)/ 官方源」,执行: npm i -g @deepseek-ai/dsh@latest --registry=<源> --verbose 系统通知报进度,成功 → 一键重启,失败 → 换源重试 / 查看日志
  • 修复工具 — 强制重装最新版 dsh CLI;或(两步确认后)清除整个 ~/.dsh 数据目录
  • 100% 原生 Windows 界面 — 所有对话框、通知、提示都是系统原生控件,没有任何自绘 UI
  • 单实例运行;外部链接交给默认浏览器;未打包运行时自动注册任务栏图标

环境要求

  • Windows 10/11
  • Node.js + npm(任意较新的 LTS)
  • 全局 dsh CLI:npm i -g @deepseek-ai/dsh

使用

# 1. 安装 dsh CLI(全局,一次性)
npm i -g @deepseek-ai/dsh

# 2. 源码运行
cd dsh-desktop
npm install          # 首次会下载 Electron(约 100MB)
npm start

构建完整 app 目录

npm run dist         # 只产出完整应用目录,不含任何安装程序
# 产物:dist/win-unpacked/ —— 整个目录就是应用

dist/win-unpacked/ 整个目录复制到任意位置(U 盘、D 盘随意),双击里面的 DeepSeek Harness Clean.exe 目录里只有套壳程序 + Electron 运行时,目标机器仍需自行安装全局 dsh CLI (更新时执行 npm i -g ... 也需要 Node)。


配置

环境变量说明默认
DSH_DESKTOP_PORT期望端口(首选扫描候选,最终以 dsh 实际端口为准)3080
DSH_DESKTOP_SCAN_PORTS自定义扫描端口列表(逗号分隔),如 3080,8080配置端口 + 常用端口
DSH_DESKTOP_START_TIMEOUT_MS等待 dsh web 就绪的超时(毫秒)180000
DSH_DESKTOP_REGISTRY_MIRROR覆盖镜像源 registry 地址https://registry.npmmirror.com
DSH_DESKTOP_REGISTRY_OFFICIAL覆盖官方源 registry 地址https://registry.npmjs.org
DSH_DESKTOP_SMOKE1 = 冒烟测试(8 秒后自动退出)

项目结构

dsh-desktop/
├── main.js        # Electron 主进程:套壳、托盘、设置、更新流程
├── updater.js     # dsh 版本检查 + npm i -g 执行(不依赖 Electron)
├── build/         # icon.ico(多尺寸)、icon.png、tray.png
└── package.json   # 仅 electron + electron-builder

日志

%APPDATA%\DeepSeek Harness Clean\dsh-desktop.log (应用日志 + dsh web 输出 + npm 更新的 verbose 日志)


常见问题

  • 为什么叫"三无"? 因为下载这个仓库并运行它,你的电脑只多了一样东西:一个 Chromium。 没有 dsh 代码、没有插件、没有 Node——这些全来自你的系统。
  • 我的 dsh 换了端口。 不用管——壳会解析你的配置、扫描端口、复用已开实例、 或跟随 dsh 自己选择的端口。
  • 更新了 dsh 但没生效? 正在运行的 dsh web 还是旧进程;点成功对话框里的 「立即重启」(或重启应用)即可加载新版本。
  • 端口被别的程序占了? set DSH_DESKTOP_PORT=3081 && npm start, 或通过 DSH_DESKTOP_SCAN_PORTS 指定只扫自定义端口。

License

MIT