用原生窗口启动本地 DSH 服务并管理托盘
28.2/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add taskschd1145/deepseek-harness-clean该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 73 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 50 处,展示前 28 条)
- 读取本地文件main.js:81
return { ...DEFAULT_SETTINGS, ...JSON.parse(fs.readFileSync(settingsPath(), 'utf8')) }; - 写入本地文件main.js:89
fs.writeFileSync(settingsPath(), JSON.stringify(settings, null, 2)); - 读取本地文件main.js:101
if (fs.existsSync(old) && !fs.existsSync(cur)) { - 写入本地文件main.js:102
fs.mkdirSync(path.dirname(cur), { recursive: true }); - 写入本地文件main.js:103
fs.copyFileSync(old, cur); - 读取本地文件main.js:137
if (!fs.existsSync(f)) continue; - 读取本地文件main.js:138
const text = fs.readFileSync(f, 'utf8'); - 写入本地文件main.js:177
fs.appendFileSync(logPath(), line + '\n'); - 发起网络请求main.js:189
const req = http.get({ host: HOST, port, path: '/', timeout: timeoutMs }, (res) => { - 执行外部命令固定命令main.js:236
const r = spawnSync('where', ['dsh'], { encoding: 'utf8', windowsHide: true }); - 执行外部命令固定命令main.js:245
const r = spawnSync('npm', ['prefix', '-g'], { encoding: 'utf8', windowsHide: true }); - 读取本地文件main.js:253
if (!c.includes(path.sep) || fs.existsSync(c)) return c; - 执行外部命令来自配置/变量main.js:272
const proc = spawn(process.env.ComSpec || 'cmd.exe', ['/d', '/s', '/c', commandLine], { - 执行外部命令固定命令main.js:327
if (child) execFileSync('taskkill', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore' }); - 执行外部命令固定命令main.js:348
execFileSync('taskkill', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore' }); - 执行外部命令固定命令main.js:355
execFileSync('taskkill', ['/pid', String(updateProc.pid), '/T', '/F'], { stdio: 'ignore' }); - 读取本地文件main.js:387
if (fs.existsSync(ico)) return ico; - 删除本地文件main.js:702
fs.rmSync(target, { recursive: true, force: true }); - 删除本地文件main.js:804
fs.rmSync(p, { force: true }); - 删除本地文件main.js:815
fs.rmSync(fp, { force: true }); - 执行外部命令来自配置/变量updater.js:36
return spawnSync(process.env.ComSpec, ['/d', '/s', '/c', `"${commandLine}"`], { - 执行外部命令来自配置/变量updater.js:43
return spawnSync(commandLine, { encoding: 'utf8', shell: true, windowsHide: true }); - 执行外部命令固定命令updater.js:54
const r = spawnSync('where', ['npm'], { encoding: 'utf8', windowsHide: true }); - 读取本地文件updater.js:71
return fs.existsSync(path.join(base, 'node_modules', 'npm', 'bin', 'npm-cli.js')); - 读取本地文件updater.js:93
if (fs.existsSync(p)) { - 读取本地文件updater.js:94
const v = JSON.parse(fs.readFileSync(p, 'utf8')).version; - 发起网络请求updater.js:114
const res = await fetch(url, { - 执行外部命令来自配置/变量updater.js:198
const proc = spawn(process.env.ComSpec || 'cmd.exe', ['/d', '/s', '/c', line], {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 原生窗口启动本地服务
- 托盘图标管理
一个"三无"DSH桌面子端:打开它,就等于在浏览器里打DSH, 只不过它是一个带托盘图标、全原生的 Windows 窗口。
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness Clean
一个“三无”桌面子端:打开它,就等于在浏览器里打开 http://127.0.0.1:3080,只不过它是一个带托盘图标、全原生的 Windows 窗口。
三无桌面端
本项目极度克制、零捆绑。安装它,你的电脑几乎什么都没多:
| | 安装它会带来什么 |
| 🚫 无 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 加一层薄壳。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Clean 一个“三无”桌面子端:打开它,就等于在浏览器里打开 http://127.0.0.1:3080,只不过它是一个带托盘图标、全原生的 Windows 窗口。 三无桌面端 本项目极度克制、零捆绑。安装它,你的电脑几乎什么都没多: | | 安装它会带来什么 | | 🚫 无 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_SMOKE | 1 = 冒烟测试(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 指定只扫自定义端口。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
taskschd1145/deepseek-harness-clean
用原生窗口启动本地 DSH 服务并管理托盘
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,125已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,465已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,457已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,710已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,378已汉化DSH
70.2
这是你的仓库?认领条目