把网页版装进独立窗口,托盘常驻一键启动
33.3/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add qaqaza11/DSH-Desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 77 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-desktop @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 10:23:48
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 42 处,展示前 34 条)
- 读取本地文件main.js:76
if (envDir && fs.existsSync(envDir)) return envDir - 读取本地文件main.js:78
if (saved && fs.existsSync(saved)) return saved - 读取本地文件main.js:80
if (fs.existsSync(docs)) return docs - 读取本地文件main.js:132
if (env && fs.existsSync(env)) return env - 读取本地文件main.js:137
if (fs.existsSync(bundled)) return bundled - 读取本地文件main.js:144
if (fs.existsSync(runtimesDir)) { - 执行外部命令固定命令main.js:155
const out = execFileSync('where', ['dsh'], { encoding: 'utf8', windowsHide: true }) - 发起网络请求main.js:176
const req = http.get({ host, port, path: '/', timeout: 2500 }, (res) => { - 执行外部命令来自配置/变量main.js:246
const child = spawn(command, ['--profile', DSH_PROFILE, '--port', String(DSH_WEB_PORT)], { - 写入本地文件main.js:315
fs.mkdirSync(dir, { recursive: true }) - 写入本地文件main.js:317
logStream = fs.createWriteStream(logFilePath, { flags: 'a' }) - 写入剪贴板main.js:351
if (diagText) { try { clipboard.writeText(diagText) } catch { } } - 写入剪贴板main.js:388
try { clipboard.writeText(diagText) } catch { } - 发起网络请求main.js:603
const res = await net.fetch(UPDATE_URL, { - 写入本地文件main.js:739
fs.mkdirSync(destDir, { recursive: true }) - 发起网络请求main.js:745
res = await net.fetch(target.url, { method: 'GET', cache: 'no-store' }) - 写入本地文件main.js:762
const out = fs.createWriteStream(tmp) - 写入本地文件main.js:778
fs.copyFileSync(tmp, dest) - 删除本地文件main.js:779
fs.unlinkSync(tmp) - 删除本地文件main.js:783
try { fs.unlinkSync(tmp) } catch { } - 写入剪贴板main.js:794
clipboard.writeText(`DSH Desktop ${latestVersion}\nSHA-256: ${sha256}\n文件: ${dest}`) - 执行外部命令固定命令main.js:945
execFileSync('taskkill', ['/pid', String(childProcess.pid), '/t', '/f'], { stdio: 'ignore', windowsHide: true }) - 读取本地文件lib/settings.js:13
return JSON.parse(fs.readFileSync(settingsFile(userDataDir), 'utf8')) - 写入本地文件lib/settings.js:21
fs.mkdirSync(userDataDir, { recursive: true }) - 写入本地文件lib/settings.js:22
fs.writeFileSync(settingsFile(userDataDir), JSON.stringify(settings, null, 2), 'utf8') - 读取本地文件build/after-pack.js:13
if (!fs.existsSync(src)) { - 读取本地文件build/after-pack.js:16
if (fs.existsSync(dest)) { - 删除本地文件build/after-pack.js:17
fs.rmSync(dest, { recursive: true, force: true }) - 写入本地文件build/after-pack.js:19
fs.mkdirSync(path.dirname(dest), { recursive: true }) - 写入本地文件build/after-pack.js:28
fs.mkdirSync(to, { recursive: true }) - 读取本地文件build/after-pack.js:29
for (const entry of fs.readdirSync(from, { withFileTypes: true })) { - 写入本地文件build/after-pack.js:38
fs.copyFileSync(s, d) - 读取本地文件build/after-pack.js:45
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { - 读取本地文件build/after-pack.js:48
else if (entry.isFile()) total += fs.statSync(p).size
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 网页封装独立窗口
- 托盘常驻
- 一键启动
DeepSeek Harness 桌面端封装-内置运行环境,点击即用
README
由 DeepSeek 最新模型翻译生成DSH Desktop
DeepSeek Harness 的 Windows 桌面版 —— 保留web界面并封装为桌面端,一键下载且保留原版使用体验。
下载安装
1. 打开 下载页面
2. 下载 DSH Desktop Setup x.y.z.exe
3. 双击安装 → 桌面出现「DSH Desktop」图标 → 启动
效果:
首次运行如果 Windows 提示「未知发布者」(安装包暂未代码签名),点「仍要运行」即可。
特点
- 零依赖:安装包自带 Node.js 和 DSH 运行时,对方电脑无需任何环境
- 和网页版数据互通:插件、会话、登录凭据与你的命令行/浏览器 dsh 共用同一份
- 独立不冲突:自动挑选空闲端口,不跟浏览器里的 dsh 抢 3080
- 关窗不退出:最小化到系统托盘;托盘右键可「打开项目… / 检查更新 / 退出」
- 出问题看得懂:启动失败弹诊断窗口,可复制错误信息、一键「重试启动」、「打开日志」
- 自动更新:后台检查 GitHub 新版本并提示(下载后由你手动安装,不会偷偷执行)
常见问题
- 和网页版有区别吗? 没有本质区别——同一个界面、同一份数据;桌面版多了独立窗口、托盘和自动更新。
- 会显示别人的会话吗? 不会。桌面版默认用空闲端口独立运行;只有显式设置 DSH_DESKTOP_PORT 时才复用该端口已有服务。
展开完整文档(README 剩余 1 节)
DSH Desktop DeepSeek Harness 的 Windows 桌面版 —— 保留web界面并封装为桌面端,一键下载且保留原版使用体验。 下载安装 1. 打开 下载页面 2. 下载 DSH Desktop Setup x.y.z.exe 3. 双击安装 → 桌面出现「DSH Desktop」图标 → 启动 效果: 首次运行如果 Windows 提示「未知发布者」(安装包暂未代码签名),点「仍要运行」即可。 特点 - 零依赖:安装包自带 Node.js 和 DSH 运行时,对方电脑无需任何环境 - 和网页版数据互通:插件、会话、登录凭据与你的命令行/浏览器 dsh 共用同一份 - 独立不冲突:自动挑选空闲端口,不跟浏览器里的 dsh 抢 3080 - 关窗不退出:最小化到系统托盘;托盘右键可「打开项目… / 检查更新 / 退出」 - 出问题看得懂:启动失败弹诊断窗口,可复制错误信息、一键「重试启动」、「打开日志」 - 自动更新:后台检查 GitHub 新版本并提示(下载后由你手动安装,不会偷偷执行) 常见问题 - 和网页版有区别吗? 没有本质区别——同一个界面、同一份数据;桌面版多了独立窗口、托盘和自动更新。 - 会显示别人的会话吗? 不会。桌面版默认用空闲端口独立运行;只有显式设置 DSH_DESKTOP_PORT 时才复用该端口已有服务。 - 提示「无法启动 dsh 服务」? 点诊断窗口里的「重试启动」;仍失败就「打开日志」看末尾错误(最常见是端口被其他程序占用)。 - 怎么换项目目录? 托盘右键 →「打开项目…」选个文件夹,新会话就从那里开始。 开发文档 以下是技术细节,普通用户不需要看。 构建 git clone https://github.com/qaqaza11/DSH-Desktop.git cd DSH-Desktop pwsh -NoProfile -File scripts/fetch-runtime.ps1 # 拉取打包运行时(node.exe + dsh, 带 SHA-256 校验) npm install npm start # 开发运行 npm test # 单元测试 npm run dist # 打包 Windows 安装包 fetch-runtime.ps1 只允许兼容矩阵内验证过的版本组合(当前 DSH 0.1.0-rc.7 + Node 24.18.0);已有 runtime 版本不符会拒绝打包(-Force 强制重建)。 配置(环境变量) | 变量 | 默认 | 说明 | | DSH_DESKTOP_PORT | 自动挑选空闲端口 | 显式指定端口(1–65535);显式设置时复用该端口已有 DSH 服务 | | DSH_DESKTOP_PROFILE | web | dsh profile(需包含 @deepseek-ai/dsh-web-app bundle) | | DSH_DESKTOP_WORKDIR | 记住的目录 → 文档目录 | 会话工作目录 | | DSH_DESKTOP_DSH_CMD | 内置 runtime | 指定 dsh CLI 路径 | | DSH_DESKTOP_UPDATE_REPO | qaqaza11/DSH-Desktop | GitHub 更新源 owner/repo | | DSH_DESKTOP_UPDATE_URL | — | 自定义更新检查端点 | | DSH_DESKTOP_UPDATE_EXE_URL | — | 直连安装包下载地址 | | DSH_DESKTOP_TEST_QUIT_MS | — | 测试钩子:N 毫秒后走真实退出路径(仅 CI/验收) | 自动更新 - 检查时机:启动 8 秒后 + 每 6 小时静默检查;托盘「检查更新」手动触发 - 版本判定:严格 SemVer(支持 v 前缀与预发布),只提示严格更新的版本 - 安全边界:接入签名/校验前,下载后不自动执行——弹窗展示 SHA-256(自动复制到剪贴板),由你核对后手动安装 - 发布方须在 Release 正文公布安装包 SHA-256(scripts/make-sha256sums.ps1 可生成),否则用户没有比对对象 安全与信任(如实说明) - 导航安全:同源判定用 URL origin 整段比较;端口 1–65535 校验;服务探测校验 DSH 指纹,端口被占用时不会误连 - 下载安全:更新地址仅允许 https:,GitHub 资产额外限制域名白名单 - 安装包未签名:SmartScreen 可能提示「未知发布者」,不承诺"完全无提示安装";签名接入见 docs/signing.md 验收 8 项自动化验收:pwsh -NoProfile -File scripts/acceptance.ps1(详见 docs/acceptance.md)。 目录结构 main.js Electron 主进程(服务托管/窗口/托盘/更新) lib/ 更新解析、设置持久化、诊断窗口预加载 test/ 单元测试 docs/ 发布验收清单、代码签名接入指南 scripts/ runtime 拉取、校验文件生成、发布验收 build/after-pack.js 打包钩子(把 dsh 运行时补进安装包) runtime/ 打包用内置运行时(不进 git) 许可证 MIT。架构学习自 anywhere-labs/deepseek-harness-desktop,dsh 本体为 DeepSeek Harness 官方发布物。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
qaqaza11/DSH-Desktop
把网页版装进独立窗口,托盘常驻一键启动
相关插件 · 桌面端
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