🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面客户端 mannixS/DSH-Desktop

DeepSeek Harness
mannixS53 天前有提交已提供中文文档扫描:高危

内置运行时一键安装,免配置启动 dsh 服务

30.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mannixS/DSH-Desktop
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · desktop
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 53 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-desktop-client(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 10:40:26

🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0
🔴 扫描:高危尚无人工评估

静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。

命令参数由运行时变量拼接读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 53 处,展示前 39 条)
  • 发起网络请求
    src/main/kernel-manager.js:97
    const res = await fetch(`${url}/${DSH_PACKAGE}/latest`, {
  • 读取本地文件
    src/main/kernel-manager.js:142
    return JSON.parse(await fsp.readFile(this.alignMarkPath, 'utf8'));
  • 写入本地文件
    src/main/kernel-manager.js:151
    await fsp.writeFile(
  • 读取本地文件
    src/main/kernel-manager.js:232
    const pkgRaw = await fsp.readFile(this.dshPkgJsonPath, 'utf8');
  • 读取本地文件
    src/main/kernel-manager.js:250
    await fsp.access(this.dshBinPath, fs.constants.R_OK);
  • 读取本地文件
    src/main/kernel-manager.js:276
    const infoRaw = await fsp.readFile(path.join(dir, 'bundle-info.json'), 'utf8');
  • 读取本地文件
    src/main/kernel-manager.js:282
    const pkgRaw = await fsp.readFile(
  • 读取本地文件
    src/main/kernel-manager.js:317
    if (!fs.existsSync(bundled.dir)) {
  • 写入本地文件
    src/main/kernel-manager.js:390
    await fsp.mkdir(importTmp, { recursive: true });
  • 写入本地文件
    src/main/kernel-manager.js:410
    await fsp.rename(importTmp, this.kernelDir);
  • 执行外部命令来自配置/变量
    src/main/kernel-manager.js:445
    const child = spawn(tarCmd, ['-xzf', archiveRel], {
  • 写入本地文件
    src/main/kernel-manager.js:494
    await fsp.mkdir(to, { recursive: true });
  • 写入本地文件
    src/main/kernel-manager.js:507
    await fsp.copyFile(srcPath, destPath);
  • 发起网络请求
    src/main/kernel-manager.js:534
    const res = await fetch(`${base}/${DSH_PACKAGE}`, {
  • 执行外部命令来自配置/变量
    src/main/kernel-manager.js:695
    const child = spawn(cmd, args, {
  • 写入本地文件
    src/main/kernel-manager.js:760
    await fsp.mkdir(this.tmpDir, { recursive: true });
  • 执行外部命令来自配置/变量
    src/main/kernel-manager.js:913
    child = spawn(nodeCmd, [npmCli, ...args], {
  • 执行外部命令来自配置/变量
    src/main/kernel-manager.js:922
    child = spawn(npmCmd, args, {
  • 执行外部命令来自配置/变量
    src/main/kernel-manager.js:1039
    const child = spawn(this._getNodeCmd(), [binPath, '--version'], {
  • 删除本地文件
    src/main/kernel-manager.js:1071
    await fsp.rm(target, { recursive: true, force: true });
  • 读取本地文件
    src/main/dsh-host.js:72
    if (fs.existsSync(bundled)) return bundled;
  • 读取本地文件
    src/main/dsh-host.js:93
    if (!fs.existsSync(startup)) return false;
  • 读取本地文件
    src/main/dsh-host.js:94
    const src = fs.readFileSync(startup, 'utf8');
  • 读取本地文件
    src/main/dsh-host.js:118
    const src = fs.readFileSync(file, 'utf8');
  • 读取本地文件
    src/main/dsh-host.js:187
    if (!fs.existsSync(binPath)) {
  • 执行外部命令来自配置/变量
    src/main/dsh-host.js:244
    this.child = spawn(nodeCmd, cliArgs, {
  • 发起网络请求
    src/main/dsh-host.js:339
    const res = await fetch(`http://127.0.0.1:${port}`, {
  • 执行外部命令运行时拼接
    src/main/dsh-host.js:432
    exec(`taskkill /pid ${pid} ${flags}`, { windowsHide: true }, () => {});
  • 发起网络请求
    src/main/dsh-host.js:453
    const res = await fetch(`http://127.0.0.1:${p}`, { signal: AbortSignal.timeout(800) });
  • 执行外部命令运行时拼接
    src/main/dsh-host.js:471
    exec(`taskkill /pid ${pid} /T /F`, { windowsHide: true }, () => {});
  • 执行外部命令运行时拼接
    src/main/dsh-host.js:505
    const ps = execSync(
  • 执行外部命令运行时拼接
    src/main/dsh-host.js:518
    const ps = execSync(`ps -eo pid,command | grep -F -- '${kernelMarker}' | grep -v grep`, { encoding: 'utf8' });
  • 读取本地文件
    src/main/settings.js:63
    const raw = await fsp.readFile(this.filePath, 'utf8');
  • 写入本地文件
    src/main/settings.js:77
    await fsp.mkdir(path.dirname(this.filePath), { recursive: true });
  • 写入本地文件
    src/main/settings.js:78
    await fsp.writeFile(this.filePath, JSON.stringify(this.data, null, 2), 'utf8');
  • 发起网络请求
    src/main/app-updater.js:212
    const res = await fetch(source.base + manifest, {
  • 读取本地文件
    src/main/app-updater.js:314
    if (!src || !fs.existsSync(src)) throw new Error('未找到已下载的安装包');
  • 写入本地文件
    src/main/app-updater.js:316
    if (path.resolve(src) !== path.resolve(dest)) fs.copyFileSync(src, dest);
  • 写入剪贴板
    renderer/renderer.js:709
    await navigator.clipboard.writeText(logCache.join('\n'));
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 内置运行时一键安装
  • 免配置启动dsh服务
  • 跨平台桌面客户端

README

由 DeepSeek 最新模型翻译生成
DSH Desktop DeepSeek Harness(dsh)跨平台桌面客户端 —— 把 dsh 装进一个开箱即用的桌面应用,安装即用,无需配置 Node.js 等任何环境。 支持 Windows 10/11 x64 与 macOS 12+(Apple Silicon / Intel)。 ✨ 功能特性 - 🚀 开箱即用:安装包内置 dsh 内核与 Node.js 运行时,安装后自动导入并启动服务,无需联网下载、无需预装环境 - 🖥️ 全屏工作台:内嵌 dsh Web 界面,服务就绪后自动呈现;启动全程有加载提示,不黑屏、不闪白 - 🎨 主题跟随:客户端外观自动跟随 dsh 的深/浅色切换,也可在设置中固定深色、浅色或跟随系统 - 🔄 内核管理:一键检查、更新、回滚 dsh 内核;支持 latest(含 RC)/ stable(仅正式版)双通道与定时自动检查 - ⬆️ 程序自更新:检测到新版本自动下载;Windows 点「安装并重启」即可升级,macOS 为引导式手动更新(详见常见问题) - 🇨🇳 国内加速更新源:支持 CNB 镜像(cnb.cool),与 GitHub 双源并发测速择优;国内网络无需代理即可快速检查与下载 - 📊 实时状态:底部状态栏随时显示服务运行状态、进程 PID 与端口;启动 / 停止 / 重启一键操作
展开完整文档(README 剩余 1 节)
DSH Desktop

DeepSeek Harness(dsh)跨平台桌面客户端 —— 把 dsh 装进一个开箱即用的桌面应用,安装即用,无需配置 Node.js 等任何环境。

支持 Windows 10/11 x64 与 macOS 12+(Apple Silicon / Intel)。

✨ 功能特性

- 🚀 开箱即用:安装包内置 dsh 内核与 Node.js 运行时,安装后自动导入并启动服务,无需联网下载、无需预装环境
- 🖥️ 全屏工作台:内嵌 dsh Web 界面,服务就绪后自动呈现;启动全程有加载提示,不黑屏、不闪白
- 🎨 主题跟随:客户端外观自动跟随 dsh 的深/浅色切换,也可在设置中固定深色、浅色或跟随系统
- 🔄 内核管理:一键检查、更新、回滚 dsh 内核;支持 latest(含 RC)/ stable(仅正式版)双通道与定时自动检查
- ⬆️ 程序自更新:检测到新版本自动下载;Windows 点「安装并重启」即可升级,macOS 为引导式手动更新(详见常见问题)
- 🇨🇳 国内加速更新源:支持 CNB 镜像(cnb.cool),与 GitHub 双源并发测速择优;国内网络无需代理即可快速检查与下载
- 📊 实时状态:底部状态栏随时显示服务运行状态、进程 PID 与端口;启动 / 停止 / 重启一键操作
- 📜 运行日志:客户端与 dsh 的完整输出实时滚动展示,支持一键复制,方便排查问题
- 🧹 退出不残留:关闭客户端时自动结束 dsh 及其全部子进程,不占用端口、不留后台进程

📥 下载安装

从 Releases 页面下载对应平台的安装包:

| 平台 | 文件 | 说明 |
| Windows x64 | DSH-Desktop--win-x64.exe | 双击安装(NSIS 安装向导) |
| macOS Apple Silicon | DSH-Desktop--mac-arm64.dmg | 双击直接安装(推荐) |
| macOS Apple Silicon(解压版) | DSH-Desktop--mac-arm64.zip | 解压后拖入「应用程序」 |
| macOS Intel | DSH-Desktop--mac-x64.zip | 解压后拖入「应用程序」 |

国内用户可改用 CNB 镜像(cnb.cool)下载,速度更快且无需代理:

https://cnb.cool/mannixS/DSH-Desktop/-/releases

macOS 首次打开提示「已损坏/无法验证开发者」?
应用未做 Apple 签名公证,属 Gatekeeper 正常拦截,并非文件损坏。在终端执行:

sudo xattr -cr "/Applications/DSH Desktop.app"

然后重新打开即可。也可右键应用 →「打开」→「打开」放行。

🚀 快速上手

1. 安装并启动客户端,内置内核自动导入、dsh 服务自动运行;
2. 首次使用在工作台中填入 API Key(DeepSeek 或兼容模型),选择工作目录;
3. 开始使用。所有配置(端口、主题、更新等)集中在「设置」中。

❓ 常见问题

- 杀毒软件提示「正在修改 DLL 文件」?
覆盖升级时安装程序会替换 Electron 运行组件(如 d3dcompiler_47.dll),属正常现象,选择允许/信任即可。
- 检查更新提示 404?
请确认「设置 → 程序更新」中的 GitHub 仓库填写为 owner/repo 格式,且对应仓库已发布 Release。
- 国内检查更新慢或超时?
「设置 → 程序更新 → 程序更新源」默认为自动(测速优选):客户端会并发探测 GitHub 与 CNB 镜像的清单响应时间并选用最快可用的一方,国内网络通常自动命中 CNB 镜像(cnb.cool),无需代理;也可手动固定为「CNB 国内镜像」。详见 docs/cnb-mirror.md。
- 更新内核后工作台提示 dsh web authentication required; reopen the URL printed by dsh web.?
新版内核为 Web UI 增加了 browser-auth:访问必须使用启动时打印的带 token URL 兑换签名 cookie,直接访问裸地址会被 401 拒绝。客户端已自动接管该流程(捕获并加载认证 URL),请升级客户端到最新版本。
- macOS 更新失败,提示 Code signature ... did not pass validation?
macOS 的自动安装依赖 Squirrel ShipIt 的代码签名校验,而本项目未使用 Apple 开发者证书(只能 ad-hoc 签名,其校验基准是内容哈希,新版本必然不匹配),因此 mac 端改为引导式手动更新:点击「下载安装包」后安装包会保存到「下载」目录并自动打开,把 DSH Desktop.app 拖入「应用程序」覆盖即可。Windows 端不受影响。

📄 许可证

MIT。基于上游项目 deepseek-ai/deepseek-harness 构建。
预览分享卡片长什么样 ↓mannixS/DSH-Desktop
分享 · DeepSeek Harness Hub
mannixS/DSH-Desktop

内置运行时一键安装,免配置启动 dsh 服务

这是你的仓库?认领条目

回到顶部