一键安装桌面端,免配置直接运行 DSH
27/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mkt-agents/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 60 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
安装时即执行脚本命令参数由运行时变量拼接读写/删除本地文件读取剪贴板或密钥环境变量写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 55 处,展示前 42 条)
- 执行外部命令运行时拼接main.js:80
const result = execSync(`"${bundledNode}" --version`, { encoding: "utf8", stdio: "pipe" }); - 执行外部命令运行时拼接main.js:97
const result = execSync(`"${cmd}" --version`, { encoding: "utf8", stdio: "pipe" }); - 读取本地文件main.js:113
if (fs.existsSync(bundled)) { - 读取本地文件main.js:131
if (fs.existsSync(p)) { - 读取本地文件main.js:143
if (fs.existsSync(userBin)) { - 读取本地文件main.js:148
const userPkg = JSON.parse(fs.readFileSync(path.join(USER_DSH_DIR, "package.json"), "utf8")); - 读取本地文件main.js:149
const bundledPkg = JSON.parse(fs.readFileSync(path.join(path.dirname(DSH_BIN), "..", "package.json"), "utf8")); - 执行外部命令固定命令main.js:247
const out = execSync(`netstat -ano -p tcp | findstr "127.0.0.1:" | findstr "LISTENING"`, { windowsHide: true }).toString(); - 读取本地文件main.js:262
if (!fs.existsSync(installedExe)) { - 执行外部命令固定命令main.js:264
const out = execSync('powershell -Command "Get-Process | Where-Object {$_.ProcessName -eq \'DSH Desktop\' -and $_.Path -like \'*DSH Desktop*\'} | Sele - 执行外部命令固定命令main.js:272
const out = execSync(`netstat -ano -p tcp | findstr "127.0.0.1:" | findstr "LISTENING"`, { windowsHide: true }).toString(); - 发起网络请求main.js:316
http.get(`http://127.0.0.1:${port}`, (res) => { - 写入本地文件main.js:350
fs.mkdirSync(compileCacheDir, { recursive: true }); - 执行外部命令来自配置/变量main.js:365
dshProcess = spawn(NODE_BIN, dshArgs, { - 发起网络请求main.js:808
const req = http.get(url, (res) => { - 写入剪贴板main.js:855
await clipboard.writeText(text); - 读取剪贴板main.js:865
return clipboard.readText(); - 发起网络请求dsh-updater.js:110
https.get(url, { headers: { "User-Agent": USER_AGENT, Accept: "application/json" } }, (res) => { - 写入本地文件dsh-updater.js:156
const file = fs.createWriteStream(destPath); - 发起网络请求dsh-updater.js:157
const req = https.get(url, { headers: { "User-Agent": USER_AGENT } }, (res) => { - 写入本地文件dsh-updater.js:214
fs.mkdirSync(safePath, { recursive: true }); - 写入本地文件dsh-updater.js:216
fs.mkdirSync(path.dirname(safePath), { recursive: true }); - 写入本地文件dsh-updater.js:217
fs.writeFileSync(safePath, tarBuf.subarray(offset + 512, offset + 512 + size)); - 读取本地文件dsh-updater.js:300
if (fs.existsSync(path.join(direct, "package.json"))) return direct; - 读取本地文件dsh-updater.js:301
const candidates = fs.readdirSync(extractDir, { withFileTypes: true }) - 读取本地文件dsh-updater.js:304
.filter((d) => fs.existsSync(path.join(d, "package.json"))); - 读取本地文件dsh-updater.js:331
const gunzipped = await gunzip(fs.readFileSync(tgzPath)); - 写入本地文件dsh-updater.js:333
fs.mkdirSync(extractDir, { recursive: true }); - 读取本地文件dsh-updater.js:336
if (!fs.existsSync(path.join(pkgDir, "package.json"))) { - 删除本地文件dsh-updater.js:341
try { fs.rmSync(tmpDir, { recursive: true, force: true }); } catch (e) { } - 读取本地文件dsh-updater.js:352
pkg = JSON.parse(fs.readFileSync(pkgJsonPath, "utf8")); - 写入本地文件dsh-updater.js:399
fs.mkdirSync(topNms, { recursive: true }); - 执行外部命令来自配置/变量dsh-updater.js:535
execFile(nodeBin, [binPath, "--version"], { encoding: "utf8" }, (err, stdout) => { - 执行外部命令运行时拼接build/clean-processes.js:14
execSync(`taskkill /F /PID ${pid}`, { stdio: "ignore" }); - 执行外部命令运行时拼接build/clean-processes.js:32
output = execSync(`powershell -Command "${psCommand.replace(/"/g, '\\"')}"`, { - 读取本地文件build/make-dsh-archive.js:13
const version = JSON.parse(fs.readFileSync(path.join(DSH_ROOT, "package.json"), "utf8")).version; - 读取本地文件build/make-dsh-archive.js:17
if (fs.existsSync(marker)) { - 读取本地文件build/make-dsh-archive.js:18
const prev = JSON.parse(fs.readFileSync(marker, "utf8")); - 读取本地文件build/make-dsh-archive.js:20
if (prev.version === srcHash && prev.src === DSH_ROOT && fs.existsSync(OUT_ARCHIVE)) { - 执行外部命令来自配置/变量build/make-dsh-archive.js:28
execFileSync(SZ_PATH, ["a", "-t7z", "-mx=5", "-bd", "-y", OUT_ARCHIVE, path.join(DSH_ROOT, "*")], { - 读取本地文件build/make-dsh-archive.js:33
const sizeMB = (fs.statSync(OUT_ARCHIVE).size / 1024 / 1024).toFixed(1); - 写入本地文件build/make-dsh-archive.js:34
fs.writeFileSync(marker, JSON.stringify({ version, src: DSH_ROOT, builtAt: new Date().toISOString() }));
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 一键安装桌面端
- 免配置直接运行
基于 DeepSeek Harness 构建的 Windows 和 macOS 开源桌面客户端。 一键下载,开箱即用。 万物皆「插件」,桌面本身也是「插件」。
README
由 DeepSeek 最新模型翻译生成DSH Desktop
DeepSeek Harness 桌面客户端 — 开箱即用,一键升级
DSH Desktop 是 DeepSeek Harness (DSH) 的桌面客户端,内置 DSH 运行时,支持 Windows 一键安装。不用手动配置 Node.js 或 DSH 环境,装完就能用。
DSH Desktop
DSH Desktop
✨ 功能特性
| 功能 | 描述 |
| 🚀 一键安装 | DSH 随包分发(~200MB),NSIS 安装器自动解压,无需额外配置 |
| 🔄 双模式升级 | 标题栏切换「正式版 / 预发布」,蓝色徽章提示更新,点击即升级 |
| 📋 剪贴板桥接 | iframe 内复制按钮可用,跨源 clipboard-write 已打通 |
| 🪟 原生体验 | 自定义标题栏,关闭即退出,无残留进程 |
| ⚡ 极速启动 | 窗口即时显示,DSH 后台并行加载,V8 编译缓存加速 |
📦 安装
下载安装包
从 GitHub Releases 下载最新版本的 DSH Desktop Setup.exe,双击运行安装。
展开完整文档(README 剩余 1 节)
DSH Desktop DeepSeek Harness 桌面客户端 — 开箱即用,一键升级 DSH Desktop 是 DeepSeek Harness (DSH) 的桌面客户端,内置 DSH 运行时,支持 Windows 一键安装。不用手动配置 Node.js 或 DSH 环境,装完就能用。 DSH Desktop DSH Desktop ✨ 功能特性 | 功能 | 描述 | | 🚀 一键安装 | DSH 随包分发(~200MB),NSIS 安装器自动解压,无需额外配置 | | 🔄 双模式升级 | 标题栏切换「正式版 / 预发布」,蓝色徽章提示更新,点击即升级 | | 📋 剪贴板桥接 | iframe 内复制按钮可用,跨源 clipboard-write 已打通 | | 🪟 原生体验 | 自定义标题栏,关闭即退出,无残留进程 | | ⚡ 极速启动 | 窗口即时显示,DSH 后台并行加载,V8 编译缓存加速 | 📦 安装 下载安装包 从 GitHub Releases 下载最新版本的 DSH Desktop Setup.exe,双击运行安装。 系统要求 - Windows 10 / 11(64 位) - 剩余磁盘空间 ≥ 500MB 🛠️ 开发 环境准备 克隆仓库 git clone https://github.com/mkt-agents/dsh-desktop.git cd dsh-desktop 安装依赖 npm install 启动开发模式 npm start 开发模式使用全局安装的 DSH,升级行为与打包版一致。 构建安装包 构建前请关闭正在运行的 DSH Desktop taskkill /F /IM "DSH Desktop.exe" 2>nul 构建 npm run build 产物位置:release/DSH Desktop Setup <版本>.exe 📁 项目结构 ├── assets/ # 图标资源 ├── build/ # 构建脚本 │ ├── make-dsh-archive.js # DSH 打包脚本 │ └── 7za.exe # 7-Zip CLI ├── release/ # 构建产物 ├── renderer/ # 渲染进程(标题栏 + iframe) ├── main.js # 主进程(DSH 管理 / 升级 / IPC) ├── preload.js # 预加载脚本(IPC 桥接) ├── dsh-updater.js # DSH 版本检测 / 升级模块 ├── installer-icon-cache.nsh # NSIS 自定义宏 └── package.json # 项目配置 🏗️ 技术栈 | 组件 | 版本 | | Electron | 43.4.0 | | electron-builder | 26.15.3 | | DeepSeek Harness | 0.1.1-rc.2 | | 运行时 | Node.js(随包分发) | - 纯 JavaScript(CommonJS),无编译步骤 - Windows x64 NSIS 安装包,支持 perMachine 安装 📄 许可证 MIT Built with ❤️ for DeepSeek Harness
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
mkt-agents/dsh-desktop
一键安装桌面端,免配置直接运行 DSH
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2
这是你的仓库?认领条目